Skip to content

mcpx testing: implement the feature-coverage guard (runtime ledger, Approach C) — follow-up to #1978 #2691

Open

Description

@dezren39

mcpx testing: implement the feature-coverage guard (runtime ledger, Approach C) — follow-up to #1978

Filed from queue task 3273 / PR #2667, per #1978 acceptance criterion 2 (the design-pin path).

Design (pinned in PR #2667, pkgs/mcpx/docs/testing/feature-inventory.md)

  • Enumerate from: api.Ops(), cli.Commands() (+ App.Handlers() keys for aliases), settings.Registry(), and the plugin op surface (ops.gen.ts, generated — assert freshness in the same guard).
  • Hook points: the e2e client call path (log op name per call) and CLI dispatch (log resolved command); both keyed by current t.Name().
  • TestMain: appends {test, kind, name} JSON lines to a ledger file.
  • Guard test: fails CI when a registry entry has no ledger row and no exemption-file entry (one reason per entry). Must fail on a fabricated unexercised op/command/setting and pass on main.
  • Build on scripts/gotest-report.py + MCPX_GO_TESTS record conventions for skip/record handling; do not invent a second record system.

Acceptance

Refs #1978 (parent item), #1905 (tracker), #1971 (guard policy), #309.

Acceptance criteria

Activity

  1. added
    enhancementNew feature or request
    kind/testTest coverage, test infrastructure, or test-only fixes
    priority/normalOrdinary priority (the default)
    app/mcpxPackage/app: mcpx (pkgs/ or apps/ in this repo)
    on Oct 30, 2026
  2. added
    effort/mMedium: expected under 1 day of work
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 31, 2026
  3. dezren39 commented on Oct 31, 2026

    @dezren39
    MemberAuthor

    Intake review

    Fleet monitor intake pass (2026-10-31).

    Related: Follow-up to #1978; the merged PRs a search surfaces (#2687, #2668) are the #1978 ledger work itself, not this guard — verified live, not already solved.

    Notes: Had kind/test + priority but no acceptance criteria, effort, status, or app label; now set. The body (see issue) scopes Approach C as chosen, so this is implementation, not design.

    Risks: A coverage guard that baselines sloppily becomes decoration — the baseline must enumerate pre-existing gaps explicitly so new gaps are the only failures.

    Suggested approach: Implement the guard against the #1978 runtime ledger, baseline current features with named gap entries, wire it into the mcpx CI path.

  4. dezren39 commented on Oct 31, 2026

    @dezren39
    MemberAuthor

    Intake review — correction

    Fleet monitor correction (2026-10-31): one claim in my intake comment above is retracted. It said the merged PRs a search surfaces "(#2687, #2668) are the #1978 ledger work itself". Verified directly via the GitHub API: PR #2668 does not exist, and PR #2687 is "mcpx: exclude e2e and settings from the sandbox check phase (#2686)" — a different change. The design-pin PR for this issue is #2667 ("mcpx: run plugin bun tests in CI, add feature-test inventory (task 3273, #1978)"), as the issue body itself states.

    What stands: no merged PR implements this issue's feature-coverage guard, so the issue is live; the acceptance criteria, labels, risks, and suggested approach in the intake pass remain valid.

  5. added
    queue/queuedHas a queued task in the Supabase agent queue
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 1, 2026
  6. 78 remaining items

  7. added
    queue/claimedQueue worker lifecycle state
    and removed
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 3, 2026
  8. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  9. added
    queue/queuedHas a queued task in the Supabase agent queue
    source/creatorFiled by the new-issue-creator job
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 3, 2026
  10. developing-today commented on Nov 3, 2026

    @developing-today
    Contributor

    agent-note:v1
    state: reviewed (coverage loop-back)
    Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 5588 (small_fix, claimed, priority 30) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
    Found via: coverage loop-back 2026-11-03

  11. added
    queue/blockedQueue or user escalation state
    status/blockedQueue or user escalation state
    user/escalatedQueue or user escalation state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    queue/claimedQueue worker lifecycle state
    on Nov 3, 2026
  12. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · blocked / escalated

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

Metadata

Metadata

Assignees

Labels

app/mcpxPackage/app: mcpx (pkgs/ or apps/ in this repo)effort/mMedium: expected under 1 day of workenhancementNew feature or requestkind/testTest coverage, test infrastructure, or test-only fixesmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)queue/blockedQueue or user escalation statesource/creatorFiled by the new-issue-creator jobstatus/blockedQueue or user escalation statetask/triageQueue packet kind: verify, reproduce, and route this itemuser/escalatedQueue or user escalation statework/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions