Skip to content

feat: Player2 Kanban Transformation & Architectural Reinforcement#1

Merged
Tristan578 merged 6 commits intomainfrom
feat/player2-kanban-transform
Mar 12, 2026
Merged

feat: Player2 Kanban Transformation & Architectural Reinforcement#1
Tristan578 merged 6 commits intomainfrom
feat/player2-kanban-transform

Conversation

@Tristan578
Copy link
Copy Markdown
Owner

feat: Player2 Kanban Transformation & Architectural Reinforcement

This PR transforms the taskboard project into Player2 Kanban, an agent-native, professional-grade task management system. It introduces a robust bridge between local "vibe coding" environments and production GitHub workflows.

🚀 Key Features

1. Bidirectional GitHub Sync Engine

  • HTML-Comment Metadata: Replaced fragile YAML frontmatter with hidden Base64-encoded JSON inside HTML comments at the bottom of Issue bodies. This ensures metadata (User Stories, ACs, LexoRank) is indestructible to human edits on GitHub.
  • Background Sync Queue: Implemented a persistent SQLite-backed queue (sync_jobs) and a background worker. Sync actions are now non-blocking and safe from GitHub secondary rate limits.
  • Asynchronous Git Hooks: Updated the pre-push and post-merge hooks to trigger fire-and-forget syncs, ensuring your terminal never hangs during a push.

2. "Strict Mode" & Quality Enforcement

  • Professional Standards: When a project is in Strict Mode, the system enforces the presence of a User Story and Acceptance Criteria (Gherkin).
  • Hard API Blocking: Both agents (via API) and humans (via UI) are blocked from creating "ready" tickets without full specs.
  • Draft Mode: Added a "Draft" status that allows users to quickly jot down notes/bugs in Strict projects without bypass validation. Drafts remain local and are never pushed to GitHub until "Published".

3. Multiplayer Determinism (LexoRank)

  • Deterministic Card Order: Implemented string-based LexoRank positioning. Ticket order is now synced to GitHub, ensuring every developer on the team sees the exact same board layout.

4. Tombstone Deletions

  • Soft Deletes: Deleting a ticket locally now creates a "tombstone". The Sync Engine closes the corresponding GitHub issue and then purges the local record, preventing "zombie" tickets.

5. Multi-Agent Skill Suite

  • Tailored Instructions: Added the player2-kanban agent-config install command to inject official standards for Cursor, Claude, Gemini, Windsurf, Antigravity, and GitHub Copilot.

🧪 Testing Instructions

Backend (Go)

  1. Prerequisites: Ensure you have a GITHUB_TOKEN set in your environment.
  2. Run Tests: go test ./internal/db/... ./internal/server/... ./internal/github/...
  3. Manual Verification:
    • Link a project: player2-kanban project link <id> <repo_url>
    • Create a Draft: Verify it appears on the board but NOT on GitHub.
    • Publish Ticket: Move the draft to "Todo" and verify the GitHub Issue is created with the hidden metadata comment.
    • Move Ticket: Move a card on the board and verify the LexoRank metadata is updated on GitHub.

Frontend (React)

  1. Build: cd web && npm install && npm run build
  2. Verify UI:
    • Check for the "Draft" badge on cards.
    • Verify red border validation in CreateTicketModal when in Strict Mode.
    • Use the "Publish Ticket" button in the TicketPanel.

📦 Documentation Updates

  • Updated README.md with rebranding and new setup instructions.
  • Updated CONTRIBUTING.md with proper attribution to the upstream tcarac/taskboard.

@Tristan578 Tristan578 merged commit 11e16ad into main Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant