Skip to content

chore: seed Layer 2 parity-manifest.json#13

Merged
govindkavaturi-art merged 2 commits intomainfrom
feat/parity-manifest-seed
May 4, 2026
Merged

chore: seed Layer 2 parity-manifest.json#13
govindkavaturi-art merged 2 commits intomainfrom
feat/parity-manifest-seed

Conversation

@mikemolinet
Copy link
Copy Markdown
Collaborator

Summary

Layer 2 of the 3-layer parity discipline (PR template + this manifest + Backlog rows). Mirrors cueapi-python #24 and cueapi-cli #25 shape.

Seeded by CC-cue-mac-app per CTO-PARITY-L2-MCP-ROUTE.

What it tracks

  • endpoints_covered: 15 CueAPI HTTP endpoints currently exposed as MCP tools (cue lifecycle + execution lifecycle including the Phase 18 worker-pull endpoints).
  • endpoints_missing: 14 endpoints + the entire Phase 12.1.5 messaging primitive surface, each annotated with the reason they're not wrapped (intentional vs. coverage gap).
  • tool_param_drift: 3 tools (cueapi_get_execution, cueapi_create_cue / cueapi_update_cue, cueapi_fire_cue) with field-level drift notes against the underlying API schema.
  • ported_pr_history: chronological log of which cueapi-core PRs landed in MCP and which are still pending.

Notable open gaps (cross-referenced to Backlog)

  • PR #589 (payload field on GET /v1/executions/{id}) — blocks cueapi_get_execution from surfacing the new field. Backlog row cmoreumyg.
  • PR #590 (require_payload_override + required_payload_keys) — blocks cueapi_create_cue / cueapi_update_cue from accepting the new validation knobs. Backlog row cmoqlx1l0.
  • Messaging primitive (Phase 12.1.5) — not yet exposed as MCP tools; significant new surface (agent identity, send_message, inbox poll, idempotency-keyed sends, reply threading). Should land before push delivery v1.5 goes wide.

Audit cadence

Monthly full sweep + per-PR diffs via the Parity Impact section in the cueapi-core PR template (Layer 1, cueapi/cueapi#615).

Test plan

  • JSON validates (python3 -m json.tool parity-manifest.json passes).
  • No code changes — pure JSON addition.
  • Schema mirrors python/cli manifests for consistency; auditors can diff across packages.

🤖 Generated with Claude Code (CC-cue-mac-app)

Mirrors cueapi-python #24 + cueapi-cli #25 shape per the 3-layer
parity discipline (PR template + this manifest + Backlog rows).

Tracks which CueAPI HTTP endpoints have wrapper coverage as MCP
tools, plus `tool_param_drift` for tools where the input/response
schema doesn't fully cover the underlying API surface.

15 endpoints currently covered (cue lifecycle + execution lifecycle
including the Phase 18 worker-pull endpoints shipped in PR #11).
Notable open gaps:

- PR #589 payload field on GET /v1/executions/{id} — blocks
  cueapi_get_execution from surfacing the new field.
- PR #590 require_payload_override + required_payload_keys —
  blocks cueapi_create_cue / cueapi_update_cue from accepting
  the new validation knobs.
- Messaging primitive (Phase 12.1.5) — not yet exposed as MCP
  tools; significant new surface to add before push delivery v1.5
  goes wide.

Both PR #589 and #590 ports are tracked as `priority=now` Backlog
rows in agent-team-project-tracker (rows cmoreumyg + cmoqlx1l0).

Audit cadence: monthly full sweep; per-PR delta via PR template's
Parity Impact section (Layer 1 of the discipline).

Routed via CTO-PARITY-L2-MCP-ROUTE token.
…audit

Audited the manifest against the actual cueapi-core router list at
2026-05-04 09:55 ET. Three corrections + several additions:

**Corrections to endpoints_covered:**

1. `pause_cue` and `resume_cue` are PATCH /v1/cues/{id} variants
   (with status field), NOT separate POST endpoints. The MCP tool
   implementation in src/tools.ts confirms — both wrap the same URL
   as `update_cue`. Removed the spurious `POST /v1/cues/{id}/pause`
   and `POST /v1/cues/{id}/resume` lines; consolidated all three
   tools under PATCH /v1/cues/{id}.

2. `claim_next_execution` does NOT use a dedicated `/claim-next`
   endpoint — that route doesn't exist. The MCP tool implementation
   does a two-step (GET /claimable + POST /{id}/claim). The actual
   dedicated server route is POST /v1/executions/claim (no `-next`
   suffix). Listed under endpoints_missing as a real coverage gap +
   added `open_implementation_drift` entry calling out the race
   window between the two-step's discover and claim.

**Additions to endpoints_missing (caught by router audit):**

- PATCH /v1/executions/{id}/evidence (update execution evidence)
- POST /v1/executions/claim (atomic claim-next; see drift note)
- GET /v1/webhook-secret + POST regenerate (user-account secret)
- GET /v1/auth/key + PATCH /v1/auth/me (account profile surface)
- GET /v1/alert-webhook-secret + POST regenerate
- Phase 18 agent-shells API (POST/GET/DELETE /v1/agents/{ref}/shells
  + per-shell heartbeat) — distinct from per-execution heartbeat
- Messaging primitive expanded with concrete route list (POST
  /v1/messages/{id}/read + /ack + GET /v1/agents/{ref}/sent that
  weren't in the prior catch-all)

**New top-level field: `open_implementation_drift`** — tracks tools
whose impl differs from the conceptually-cleanest server route
(currently just claim_next). PRs that fix drift land here as a
sealed entry.

Net delta: 14 covered (was 15 — pause+resume merged with update;
claim_next removed because /claim-next route doesn't exist) + 19
missing (was 14) + 1 drift entry. Manifest is now actually
auditable against the real cueapi-core surface.

JSON validates.
@mikemolinet
Copy link
Copy Markdown
Collaborator Author

Self-audit fixup pushed (7803d71). Caught 3 corrections + 5 missing endpoints by walking cueapi-core's actual router list:

  • pause/resume aren't separate POST endpoints — both wrap PATCH /v1/cues/{id} (with status field). MCP src/tools.ts confirms.
  • claim-next: there's no /claim-next route. The dedicated server route is POST /v1/executions/claim (no -next suffix); current MCP impl does a two-step (GET /claimable + POST /{id}/claim) which has a race window. Listed under a new open_implementation_drift field.
  • Added: PATCH /v1/executions/{id}/evidence, POST /v1/executions/claim (the dedicated route), user-account webhook-secret routes, alert-webhook-secret, GET /v1/auth/key + PATCH /v1/auth/me, expanded messaging-primitive list with concrete sub-routes, Phase 18 agent-shells cluster.

Net delta: 14 covered + 19 missing + 1 drift. Manifest is now actually auditable against the real cueapi-core surface.

Copy link
Copy Markdown
Member

@govindkavaturi-art govindkavaturi-art left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent — the manifest is the right artifact for the open-core boundary. Three details that make this high-quality:

  1. endpoints_missing includes a per-endpoint blocker rationale (not just "missing") so reviewers can tell intentional gap from drift
  2. open_implementation_drift flags the cueapi_claim_next_execution race window (claim-via-/claimable+/claim two-step instead of the dedicated /claim route) — that's exactly the kind of subtle drift this manifest is meant to catch
  3. Per-version package_version_at_audit pins the audit to a specific snapshot

Approve.

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.

2 participants