From 8a48584b0c7eed60e674e2102310810a78e6c35a Mon Sep 17 00:00:00 2001 From: mikemolinet Date: Tue, 5 May 2026 14:42:32 -0700 Subject: [PATCH] chore(parity): update manifest to reflect today's CLI merges MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Today's merged work brings the CLI to 100% coverage of the hosted API's merged endpoints. Updates the manifest accordingly: - Bump `last_full_audit` to 2026-05-05, `cli_version_at_audit` to 0.2.0 - Add 19 new commands to `commands_covered`: - executions: replay, verify, verification-pending (#31) - workers: list, delete (#33) - key webhook-secret: get, regenerate (#33) - agents: create, list, get, update, delete, inbox, sent, webhook-secret get/regenerate (#28) - messages: send, get, read, ack (#29) - Expanded existing entries to enumerate the new flags from #26 + #27 + #30 (e.g. executions list now lists --outcome-state / --result-type / --has-evidence / --triggered-by). - Empty `endpoints_missing` and `command_drift` — every prior gap was closed by today's merges. - Add 8 entries to `ported_pr_history` covering #26, #27, #28, #29, #30, #31, #33 (and the §17 BCC-light port via #29). - Add new `open_ports_in_flight` section tracking cueapi-cli #40 (message-to + online-only + describe) and #41 (--mode flag for Surface 6 v2 delivery_mode), so they don't show as missing in the next audit and have a clear "promote to commands_covered when merged" hook. - Update `notes` to flag what the next audit should pick up: Surface 1 (last_seen_at, cueapi #630 in-flight) + the Surface 6 v2 server-side bridge. Pre-staged per the parity-manifest sequencing risk: the manifest only references work that has already merged on cueapi-cli main, so the diff is safe to land independently and doesn't claim coverage that doesn't exist yet. Co-Authored-By: Claude Opus 4.7 (1M context) --- parity-manifest.json | 108 +++++++++++++++++-------------------------- 1 file changed, 42 insertions(+), 66 deletions(-) diff --git a/parity-manifest.json b/parity-manifest.json index c98be1a..dfd8a5c 100644 --- a/parity-manifest.json +++ b/parity-manifest.json @@ -6,8 +6,8 @@ "app/routers/", "cli/cueapi/cli.py (private mirror)" ], - "last_full_audit": "2026-05-04", - "cli_version_at_audit": "0.1.x", + "last_full_audit": "2026-05-05", + "cli_version_at_audit": "0.2.0", "audit_methodology": "Walk every endpoint in private cueapi/app/routers/ and map to a CLI command in cueapi-cli/cueapi/cli.py. Per-command, walk the corresponding private schemas/*.py to verify field-level coverage in the command's --flag set. Drift goes in `endpoints_missing` or `command_drift` keyed by command.", "audit_cadence": "Monthly full sweep. Per-PR diffs handled via the .github/pull_request_template.md `Parity Impact` section in the private repo.", @@ -22,84 +22,60 @@ "cueapi pause ": "PATCH /v1/cues/{id} (status=paused)", "cueapi resume ": "PATCH /v1/cues/{id} (status=active)", "cueapi delete ": "DELETE /v1/cues/{id}", - "cueapi fire ": "POST /v1/cues/{id}/fire (with --payload-override + --merge-strategy)", + "cueapi fire ": "POST /v1/cues/{id}/fire (with --payload-override + --merge-strategy + --require-payload-override + --required-keys)", "cueapi update ": "PATCH /v1/cues/{id}", "cueapi upgrade": "POST /v1/billing/checkout", "cueapi manage": "POST /v1/billing/portal", "cueapi usage": "GET /v1/usage", - "cueapi executions list": "GET /v1/executions", + "cueapi executions list": "GET /v1/executions (with --cue-id, --status, --outcome-state, --result-type, --has-evidence, --triggered-by, --limit, --offset)", "cueapi executions list-claimable": "GET /v1/executions/claimable", - "cueapi executions get ": "GET /v1/executions/{id}", + "cueapi executions get ": "GET /v1/executions/{id} (displays payload + outcome + evidence)", "cueapi executions claim ": "POST /v1/executions/{id}/claim", "cueapi executions claim-next": "POST /v1/executions/claim", "cueapi executions heartbeat ": "POST /v1/executions/{id}/heartbeat", "cueapi executions report-outcome ": "POST /v1/executions/{id}/outcome", - "cueapi key regenerate": "POST /v1/auth/key/regenerate" + "cueapi executions replay ": "POST /v1/executions/{id}/replay", + "cueapi executions verify ": "POST /v1/executions/{id}/verify", + "cueapi executions verification-pending ": "POST /v1/executions/{id}/verification-pending", + "cueapi key regenerate": "POST /v1/auth/key/regenerate", + "cueapi key webhook-secret get": "GET /v1/auth/webhook-secret", + "cueapi key webhook-secret regenerate": "POST /v1/auth/webhook-secret/regenerate", + "cueapi workers list": "GET /v1/workers", + "cueapi workers delete ": "DELETE /v1/workers/{id}", + "cueapi agents create": "POST /v1/agents", + "cueapi agents list": "GET /v1/agents", + "cueapi agents get ": "GET /v1/agents/{ref}", + "cueapi agents update ": "PATCH /v1/agents/{ref}", + "cueapi agents delete ": "DELETE /v1/agents/{ref}", + "cueapi agents inbox ": "GET /v1/agents/{ref}/inbox", + "cueapi agents sent ": "GET /v1/agents/{ref}/sent", + "cueapi agents webhook-secret get ": "GET /v1/agents/{ref}/webhook-secret", + "cueapi agents webhook-secret regenerate ": "POST /v1/agents/{ref}/webhook-secret/regenerate", + "cueapi messages send": "POST /v1/messages (with notify[] for §17 BCC-light, idempotency-key)", + "cueapi messages get ": "GET /v1/messages/{id}", + "cueapi messages read ": "POST /v1/messages/{id}/read", + "cueapi messages ack ": "POST /v1/messages/{id}/ack" }, - "endpoints_missing": { - "POST /v1/executions/{id}/replay": {"blocker": "Replay flow exists server-side; no CLI surface."}, - "POST /v1/executions/{id}/verification-pending": {"blocker": "Verification helper for handlers that produce evidence asynchronously."}, - "POST /v1/executions/{id}/verify": {"blocker": "Manual verification flow; no CLI surface."}, - "POST /v1/worker/heartbeat": {"blocker": "Worker registration; CLI users can register workers via cueapi-worker but not via this CLI directly."}, - "GET /v1/workers": {"blocker": "Fleet visibility — list workers + heartbeat status. Useful for ops."}, - "GET /v1/auth/webhook-secret": {"blocker": "Webhook-secret retrieval for users running their own webhook servers."}, - "POST /v1/auth/webhook-secret/regenerate": {"blocker": "Destructive — re-evaluate."}, - "Messaging primitive (all of /v1/agents, /v1/messages, /v1/agents/{id}/inbox)": { - "blocker": "Phase 12.1.5 messaging primitive on prod but no CLI surface. Would need new command group: `cueapi agents` + `cueapi messages`. Significant new surface." - } - }, + "endpoints_missing": {}, - "command_drift": { - "cueapi create": { - "covered_flags": [ - "--name", "--cron", "--at", "--url / --callback", "--method", - "--timezone", "--payload", "--description", "--worker", - "--on-failure" - ], - "missing_flags": [ - "--require-payload-override (PR #590, enforces payload_override on /fire)", - "--required-keys (PR #590, comma-separated list)", - "--transport (currently inferred from --worker; explicit flag would be cleaner)", - "--delivery (delivery config JSON)", - "--alerts (alert config JSON)", - "--catch-up (run_once_if_missed / skip_missed / replay_all)", - "--verification (verification config JSON)", - "--on-success-fire (cue ID for native chaining, Gap 1)" - ] - }, - "cueapi update": { - "covered_flags": [ - "--name", "--cron", "--at", "--url / --callback", "--method", - "--timezone", "--payload", "--description" - ], - "missing_flags": [ - "--require-payload-override / --no-require-payload-override", - "--required-keys", - "--on-failure", "--delivery", "--alerts", "--catch-up", - "--verification", "--on-success-fire / --clear-on-success-fire", - "--status (active / paused; alternative to pause/resume commands)" - ] - }, - "cueapi executions get": { - "current_display": "execution metadata + outcome + evidence fields", - "missing_display": "payload field (PR #589, just shipped) — should display the effective payload (payload_override OR cue.payload) so users can see what the handler actually saw" - }, - "cueapi executions list": { - "covered_flags": ["--cue-id", "--status", "--limit", "--offset"], - "missing_flags": [ - "--outcome-state (filter by reported_success / verified_success / verification_pending / etc.)", - "--result-type (filter by evidence result_type)", - "--has-evidence (filter to executions with evidence_external_id)", - "--triggered-by (filter manual_fire / scheduled / chain)" - ] - } - }, + "command_drift": {}, "ported_pr_history": [ - "PR #589 (expose payload on GET /v1/executions): NOT YET PORTED — Backlog row 'Parity port: PR #590 → cueapi-cli' priority=now (the row covers both #589 + #590 since they touch the same surface). CLI needs to display the new payload field on `executions get` output.", - "PR #590 (require_payload_override): NOT YET PORTED — Backlog row priority=now. Adds --require-payload-override + --required-keys to create + update." + "PR #589 (expose payload on GET /v1/executions): PORTED via cueapi-cli #26 — `cueapi executions get` now displays the effective payload (payload_override OR cue.payload).", + "PR #590 (require_payload_override + required_keys on /fire): PORTED via cueapi-cli #26 — `cueapi create / update` now have --require-payload-override / --no-require-payload-override + --required-keys.", + "Server-side executions-list filtering (outcome_state, result_type, has_evidence, triggered_by): PORTED via cueapi-cli #27.", + "Server-side messaging primitive — Phase 12.1.5 agents directory + Phase 12.1.5.5 inbox/sent: PORTED via cueapi-cli #28 (agents command group: create/list/get/update/delete/inbox/sent + webhook-secret get/regenerate).", + "Server-side messaging primitive — Phase 12.1.5 send/get/read/ack: PORTED via cueapi-cli #29 (messages command group). §17 BCC-light (server PR #619) covered by --notify on `messages send`.", + "Server-side remaining create/update fields (delivery, alerts, catch_up, verification config blobs + on_success_fire native chaining + status field): PORTED via cueapi-cli #30 — `create / update` now expose --delivery, --alerts, --catch-up, --verification, --on-success-fire / --clear-on-success-fire, --status.", + "Server-side execution lifecycle helpers (replay, verify, verification-pending): PORTED via cueapi-cli #31 — `cueapi executions replay / verify / verification-pending`.", + "Server-side worker fleet visibility (GET /v1/workers + DELETE /v1/workers/{id}) + per-account webhook-secret retrieval/regeneration: PORTED via cueapi-cli #33 — `cueapi workers list / delete` + `cueapi key webhook-secret get / regenerate`." + ], + + "open_ports_in_flight": [ + "cueapi-cli PR #40 — `cueapi message-to ` universal wrapper + `agents list --online-only` + `agents describe ` alias. Stacks on top of #28 + #29. Not yet merged at the time of this audit.", + "cueapi-cli PR #41 — `--mode ` flag on `cueapi message-to` for PRD Surface 6 v2 delivery_mode. Stacks on top of #40. Not yet merged at the time of this audit. Sibling MCP PR: cueapi-mcp #27." ], - "notes": "First seeded 2026-05-04 as Layer 2 of parity discipline (PR template in cueapi/cueapi#615 + this manifest + Backlog rows). Schema mirrors cueapi-python's manifest. The `endpoints_missing` and `command_drift` sections are deliberately verbose — they are the audit checklist for catching up the CLI to the hosted API." + "notes": "First seeded 2026-05-04 as Layer 2 of parity discipline (PR template in cueapi/cueapi#615 + this manifest + Backlog rows). Schema mirrors cueapi-python's manifest. The `endpoints_missing` and `command_drift` sections are deliberately verbose when populated — they are the audit checklist for catching up the CLI to the hosted API. As of the 2026-05-05 audit, the CLI has 100% coverage of all merged hosted-side endpoints; in-flight ports are tracked in `open_ports_in_flight` and should move into `commands_covered` once their parent PRs merge. The next full sweep should include: server-side last_seen_at (Surface 1, cueapi #630 in flight) + server-side delivery_mode bridge (Surface 6 v2) once both ship." }