Skip to content

feat(board): Owner board — live page of asks, peers, and work in flight - #21

Merged
J-T-McC merged 2 commits into
mainfrom
feat/owner-board
Oct 31, 2026
Merged

J-T-McC merged 2 commits into
mainfrom
feat/owner-board

Conversation

@J-T-McC

@J-T-McC J-T-McC commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Second of three PRs from feedback on running 9 peers with one coordinator: the Owner board. With that many roles, the coordinator's chat moves too fast to follow, and the workspace markdown is written for agents. The board is the Owner's view.

Owner board with sample data

What changes

  • templates/board.html: a private claude.ai artifact page that reads its own database. It has three sections: "Needs you" (questions and approvals), "Who's on what" (one card per role) and "Work" (rows grouped by initiative, with ticket, PR, state and next step). Project values (how it names the Owner, ticket link base, repo) live in a meta/config record, not in the HTML.
  • /dev-team:board publishes the page, seeds it from status.md, and records an **Owner board:** <url> line in the project. Running it again refreshes the page in place and keeps the data. Bootstrap now offers it.
  • workflow/board.md holds the schema and the rules:
    • the orchestrator updates the board in the same turn as status.md;
    • a question appears the moment it's routed to the Owner and is deleted when answered;
    • done rows are removed by the next day;
    • only the orchestrator writes;
    • writes are pre-authorized by turning the board on (added to the autonomy floor note in handoffs.md).
  • bin/board-drift checks the board's work rows against GitHub PR state (merged, failed check, draft vs. ready) without using tokens. Rows are read via ArtifactData list with out_dir, so reading costs almost nothing.
  • README: a board section with light and dark screenshots. All data in them is made up (examples/board/sample.json).

The Orca worktree-card board (Board: on) stays as the lighter, Orca-only option. The two can run together.

Testing

tests/board.sh (22 checks, run by CI on Linux and macOS):

  • board-drift against a fake gh: each drift rule (including a missing PR, and a ready PR on a planning or queued row), rows that stay quiet, the per-row repo override, nested files, and exit codes.
  • The real template rendered in headless Chrome with the sample data and a stand-in for the claude.ai database, checking asks, cards, groups, open counts, ticket and PR links, the owner name from config, and plain IDs when no ticket URL is set. It skips cleanly when no Chrome is found.

The README screenshots come from that same preview path (tests/board-preview.py).

claude plugin validate . shows the same warnings as main. Not exercised: publishing through the real Artifact and ArtifactData tools, which the /dev-team:board command drives in a consuming project.

🤖 Generated with Claude Code

J-T-McC and others added 2 commits October 30, 2026 22:16
- templates/board.html: claude.ai artifact page reading a db (asks, peers, work, meta); project values in meta/config
- /dev-team:board: publish, seed from status.md, record the Owner board line; bootstrap offers it
- workflow/board.md: schema and rules (same turn as status.md, asks deleted when answered, pre-authorized writes)
- bin/board-drift: token-free check of work rows against GitHub PR state
- tests/board.sh: drift against a fake gh; template rendered with sample data in headless Chrome
- README: board section with light/dark screenshots of made-up sample data

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… queued rows

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@J-T-McC
J-T-McC merged commit e2d0fe2 into main Oct 31, 2026
2 checks passed
@J-T-McC
J-T-McC deleted the feat/owner-board branch October 31, 2026 05:22
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