Skip to content

docs(AGENTS): document board membership + status workflow; drop closed V1.5 board - #1555

Merged
cliffhall merged 8 commits into
v2/mainfrom
docs/agents-board-workflow
Jul 1, 2026
Merged

docs(AGENTS): document board membership + status workflow; drop closed V1.5 board#1555
cliffhall merged 8 commits into
v2/mainfrom
docs/agents-board-workflow

Conversation

@cliffhall

Copy link
Copy Markdown
Member

Closes #1554.

Why

AGENTS.md's Issue-driven Work Style section described board interaction only in prose ("move the item to In Progress / In Review") while giving concrete, copy-pasteable gh commands only for the version label. Result: agents reliably apply the v2 label but skip adding the issue/PR to board #28 and skip setting Status — because that step is undocumented and needs several non-obvious IDs (project/field/option).

What changed

  • Explicit board recipes. Added gh project item-add + gh project item-edit recipes (single steps and a one-liner) with the V2 board's project node ID, Status field ID, and every Status option ID.
  • Corrected Status names. Real board options are lowercase In progress / In review, plus Backlog, Building CLI / TUI / CORE, Building Web, Done — the doc previously said "In Progress" / "In Review".
  • Membership ≠ label. Added a callout that a v2 item isn't "created" until it is both labeled v2 and on board Add tab and approval flow for server -> client sampling #28 with a Status set.
  • Dropped the closed V1.5 board (Multiline string inputs to tools isn’t supported #39) and its base-branch / label-mapping references, since the v1.5/main → v2/main merge is complete.

Docs-only change. This PR was itself created using the new workflow (labeled v2, added to board #28, Status set).

🤖 Generated with Claude Code

…d V1.5 board (closes #1554)

The Issue-driven Work Style section described board interaction in prose
but only gave concrete gh commands for the version label, so agents
labeled issues/PRs without adding them to board #28 or setting a Status.

- Add explicit gh recipes for `project item-add` + `project item-edit`,
  including the V2 board's project/field/Status-option IDs.
- Correct Status names to the real board values (In progress / In review,
  plus Backlog / Building / Done).
- State that a v2 item isn't "created" until labeled AND on the board
  with a Status set.
- Remove the closed V1.5 board (project 39) and its base-branch/label
  references.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cliffhall cliffhall added the v2 Issues and PRs for v2 label Jun 30, 2026
@cliffhall cliffhall self-assigned this Jun 30, 2026
cliffhall and others added 6 commits June 30, 2026 16:38
…eir creator

Per maintainer guidance: every board item must be an actual GitHub issue,
not a draft card, and each issue must be assigned to the user it is created
for. Replaces the draft-items-vs-issues bullet.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Closing keywords (Closes #N) only auto-link and auto-close for PRs that
target the repo's default branch. v2 PRs target v2/main, so the keyword is
only a cross-reference there. Document that:
- the PR body's first line must still be `Closes #<ISSUE_NUMBER>`,
- there is no gh flag to manually link (no `gh pr edit --add-issue`),
- on merge, the issue must be closed manually and its board item moved to
  Done, since auto-close won't fire on v2/main.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…t notes

v1.5/main is fully merged into v2/main, so the integration suite is just
the v2 integration suite — the provenance tag no longer distinguishes
anything.

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

v1.5/main is merged and takes no new work, but the branch is kept as a
reference point (e.g. to track down a regression introduced by the merge
into v2/main). Note that it should not be deleted.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…d option IDs

Adding the new status option regenerated every Status option ID on board
#28, so update the whole option-ID table (not just the new row) plus the
inline references to the Done and In progress option IDs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cb5xVMkUUgpxwBsmZSQyRm
@cliffhall

Copy link
Copy Markdown
Member Author

@claude review

@claude

claude Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Claude finished @cliffhall's task in 38s —— View job


Reviewing this PR

  • Read the diff against origin/v2/main
  • Analyze the documentation changes
  • Post review

Review — docs(AGENTS): board membership + status workflow

This is a clean, well-motivated docs-only change. The core problem it solves is real: prose-only board instructions with copy-pasteable commands only for labeling meant the board-membership + Status steps were reliably skipped. Codifying the gh project recipes with the exact IDs fixes that. Overall LGTM — the additions are accurate, internally consistent, and the callout framing ("label ≠ board membership ≠ Status; three distinct steps") is exactly the mental model that was missing.

A few small, non-blocking observations:

1. The one-liner adds a Python dependency gh can avoid.

ITEM_ID=$(gh project item-add 28 --owner modelcontextprotocol --url <url> --format json | python3 -c "import sys,json;print(json.load(sys.stdin)['id'])")

gh supports a built-in --jq flag on --format json, so this can drop the python3 pipe entirely:

ITEM_ID=$(gh project item-add 28 --owner modelcontextprotocol --url <url> --format json --jq '.id')

Fewer moving parts and no assumption that python3 is on PATH. Fix this →

2. Stale IDs are a durability risk (already partly mitigated). Hard-coding the project node ID, Status field ID, and seven option IDs is the right call for copy-paste ergonomics, but they'll silently rot if the board is recreated or options are renamed. The doc already hedges this well with the "if a command rejects one, re-fetch with gh project field-list …" note — good. No change needed; just flagging that the option-ID table is now a maintenance surface (the recent commit d58e9985 regenerating option IDs confirms this).

3. Minor consistency nit. The Status option table lists Backlog, Building CLI / TUI / CORE, Building Web, MCP Apps Extension, In progress, In review, Done, but the prose bullets only reference In progress, In review, and Done (option id 1bbc5632). That's fine — the table is the authoritative reference — but a one-line pointer like "use the building statuses while actively coding" would tie the extra options back to the workflow. Optional.

4. Accurate cross-branch caveat. The Closes #N explanation — that closing keywords only auto-close for PRs targeting the default branch (main), so on v2/main it's a cross-reference only and issues must be closed manually on merge — is correct and a genuinely useful clarification.

Nothing here blocks merge. The python3 → --jq swap is the only one I'd actively recommend.
docs/agents-board-workflow

…o workflow

Address PR review: drop the python3 pipe in favor of gh's built-in --jq
flag (no python3-on-PATH assumption), and add a one-line pointer mapping
the Building / MCP Apps Extension statuses to the workflow.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cb5xVMkUUgpxwBsmZSQyRm
@cliffhall

Copy link
Copy Markdown
Member Author

Thanks for the review! Addressed the two actionable items in `36479214`:

  1. `python3` → `gh --jq` ✅ — replaced the Python pipe in the board one-liner with `gh project item-add … --format json --jq '.id'`. Fewer moving parts, no `python3`-on-PATH assumption.
  2. Consistency nit ✅ — added a one-line pointer under the Status option table mapping the Building / MCP Apps Extension statuses to the workflow (In progress → Building/MCP Apps while coding → In review on PR → Done on merge).

2 (stale-ID durability) and 4 (cross-branch `Closes #N` caveat) needed no change — the re-fetch note already hedges 2, and 4 was flagged as accurate.

@claude review

@claude

claude Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Claude finished @cliffhall's task in 28s —— View job


Re-review — board membership + status workflow (follow-up to 36479214)

Verified both actionable fixes against origin/v2/main...HEAD. Both landed correctly.

  • python3gh --jq — the one-liner is now:
    ITEM_ID=$(gh project item-add 28 --owner modelcontextprotocol --url <url> --format json --jq '.id')
    No more python3-on-PATH assumption; uses gh's built-in --jq. ✅
  • Consistency pointer — the sentence under the Status option table now maps the extra statuses to the workflow: "Use In progress for general work, one of the Building statuses (or MCP Apps Extension) while actively coding that surface, In review once a PR is open, and Done on merge." Ties every table row back to a workflow moment. ✅

Items 2 (stale-ID durability) and 4 (Closes #N cross-branch caveat) correctly needed no change.

One tiny thing I noticed while re-reading — not a blocker, no action needed:

  • Step-2 comment vs. one-liner status. The two-step recipe's comment says # 2. Set its Status (here: In progress) and uses option id d43284fe (In progress), while the one-liner uses that same id but is captioned "use the option id for the status you want." Consistent and correct — both default to In progress and both tell the reader to swap the id. No change needed; just confirming they agree.

LGTM. Docs-only change, both review items resolved, internally consistent. Ship it. 🚀
docs/agents-board-workflow

@cliffhall
cliffhall merged commit d5d80d3 into v2/main Jul 1, 2026
1 check passed
@cliffhall
cliffhall deleted the docs/agents-board-workflow branch July 1, 2026 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v2 Issues and PRs for v2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(AGENTS): document project-board membership + status workflow; drop closed V1.5 board

1 participant