Skip to content

Boards: add an Incoming status to both boards, adopt the v2 Priority field, and document the triage rubric #1891

Closed

Description

@cliffhall

Follow-on from the issue-backlog triage in #1872.

Problem

Two gaps surfaced while triaging the 154 unlabeled open issues.

1. There is no board state for "filed but not yet triaged." AGENTS.md defines four Status options — Todo, In Progress, In Review, Done — and describes Todo as "approved-but-not-started work." So a newly filed issue has nowhere to sit that distinguishes nobody has looked at this yet from a maintainer approved it and it is queued. During the sweep this mattered: the 22 issues left open as v2 are awaiting maintainer review, and parking them in Todo would have falsely asserted they were approved.

2. The board's Priority field exists but is unused and undocumented. Board #28 carries a Priority single-select left over from the project template. Zero of the 264 items had it set, AGENTS.md never mentions it, and its options (P0/P1/P2) match no vocabulary used anywhere in the repo. Meanwhile there is no written rule for how to decide that an issue is urgent — priority has been implicit in whoever was triaging.

The work

  1. Add an Incoming Status option to board Add tab and approval flow for server -> client sampling #28, ordered ahead of Todo, for newly filed and untriaged issues. Todo keeps its meaning: maintainer-approved and ready for work.
  2. Adopt the Priority field with the vocabulary Urgent / High / Medium / Low.
  3. Document a scoring rubric so priority is derived rather than asserted: severity (1-5) + urgency/staleness (1-5) + signal bonuses, summed and banded into the four levels.
  4. Document all of it in AGENTS.md — the new Status option in the board recipes table, the Priority field and option IDs alongside the Status ones, and the rubric as its own section.

Notes

  • Both board mutations are done and verified. updateProjectV2Field full-replaces the option list, so each ran with every existing option's id echoed back; the Status mutation was verified card-by-card afterward (all 264 statuses unchanged, all four prior option IDs preserved). See the hazard callout in AGENTS.md.
  • The Priority re-option was risk-free in ordering terms because no card had a value set.
  • The board recipes and their IDs are deliberately not mirrored into .github/copilot-instructions.md — that file is scoped to what a reviewer cites against a diff.

Activity

  1. added this to the v2.1.0 milestone on Aug 1, 2026
  2. changed the title [-]Board: add an Incoming status, adopt the Priority field, and document the triage scoring rubric[/-] [+]Boards: add an Incoming status to both boards, adopt the v2 Priority field, and document the triage rubric[/+] on Aug 1, 2026
  3. cliffhall commented on Aug 1, 2026

    @cliffhall
    MemberAuthor

    Scope widened to cover the v1 board (#11) as well. Retitled accordingly.

    Board #11 had the same gap #28 did — no state for "filed but not yet triaged" — so a v1 security-fix issue had nowhere to sit that didn't assert maintainer approval. Incoming has been added there (831820cf), with all four existing option ids echoed back; a before/after item-list diff confirms all 74 cards kept their Status.

    AGENTS.md also carried no v1 board recipes at all, only a link to the project. Anyone boarding a v1 issue had to discover the project and field ids by hand, and was liable to reach for #28's — which are rejected, but only after the attempt. The PR adds a V1 board section with its ids, states that Incoming is the default status for new items on both boards, and records that Priority is v2-only (#11 has no such field).

    Two incidental notes:

  4. cliffhall commented on Aug 1, 2026

    @cliffhall
    MemberAuthor

    Priority overridden: High → Urgent.

    The rubric scored this 11/15 (severity 4 + urgency 4 + 2 signals), landing it in High. Overriding to Urgent per maintainer judgment — recording the reason here, as the rubric itself requires of any override.

    The justification: this issue is now load-bearing for the board's own integrity. It carries the Incoming column both boards depend on, the option IDs that recipes are copied from verbatim, and — after the Done deletion incident — the snapshot-and-recover procedure. Until it merges, AGENTS.md documents a Done option ID that no longer exists (248a3910), so anyone following the merge step today fails. That's a documentation defect actively misdirecting work, which the severity axis doesn't capture well: it scores impact on users of the Inspector, and this one's blast radius is the contributor workflow instead.

    Also cleared the org-level Fields → Priority value that had been set to Urgent on this issue. That field is a modelcontextprotocol org-wide issue field (IFSS_kgDOAdAWeg, shared with typescript-sdk, servers, registry) and is not the board Priority — nothing syncs the two, which is how this issue came to show Urgent in Fields and High on the board at the same time. The board card is the source of truth; PR #1892 documents the distinction so the next person doesn't have to rediscover it.

  5. cliffhall commented on Aug 1, 2026

    @cliffhall
    MemberAuthor

    Archive: deleted priority + triage labels

    Deleting a label removes it from every issue that carried it, and GitHub keeps no record. This comment is that record, so the deletion stays reversible from a durable location rather than a scratch directory.

    Deleted 2026-08-01 as part of this issue: the four p* labels were an earlier, undocumented priority scheme superseded by the board Priority field, and needs-triage was superseded by the Incoming column. Two mechanisms for one decision is how #929 came to carry p1-high while the rubric scored it Medium.

    Every affected issue was already closed — verified before deletion, 0 open across all five labels — so nothing in the live queue lost a signal.

    Definitions

    Label Colour Description Issues
    p0-critical #b60205 Critical priority - immediate attention required 0
    p1-high #d93f0b High priority - should be addressed soon 18
    p2-medium #fbca04 Medium priority - normal timeline 25
    p3-low #0e8a16 Low priority - can be addressed when time permits 7
    needs-triage #a35033 Needs to be triaged by maintainers 14

    Which issues carried what

    All closed. Listed newest first.

    To restore

    Recreate each definition with the colour and description above, then re-apply it to the issues listed. Re-applying a label to a closed issue does not reopen it, so a restore would not disturb the #1872 deprecation sweep.

    # Example for one label; repeat per row above.
    gh api -X POST repos/modelcontextprotocol/inspector/labels \
      -f name='p1-high' -f color='d93f0b' -f description='High priority - should be addressed soon'
    for n in <numbers>; do gh issue edit "$n" --repo modelcontextprotocol/inspector --add-label p1-high; sleep 0.5; done
  6. self-assigned this
    on Aug 1, 2026
  7. cliffhall commented on Aug 2, 2026

    @cliffhall
    MemberAuthor

    Closed by #1892, squash-merged into v2/main. (Auto-close doesn't fire here — Closes #N only closes on PRs targeting the default branch, and v2 PRs target v2/main.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

v2Issues and PRs for v2

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions