smoke: reconcile assertions with ungated-global + ambient clock #140

Merged
michal merged 1 commits from fix/smoke-ungated-global-reconcile into main 2026-10-09 15:06:40 +00:00
Owner

Three smoke assertions predated ungated-global (#137) and the ambient clock, and first met a prod with calcmcp seeded on today's a783869 deploy. Gated-session now asserts begin_session + gate-exempt tools only (nothing else may leak); get_current_time exempted from the drill-down contract (virtual tool); backup command test now asserts fidelity (servers with a command keep it) instead of the false 'dockerImage STDIO must have command' invariant. Full suite vs live a783869: 181/181.

🤖 Generated with Claude Code

Three smoke assertions predated ungated-global (#137) and the ambient clock, and first met a prod with calcmcp seeded on today's a783869 deploy. Gated-session now asserts begin_session + gate-exempt tools only (nothing else may leak); get_current_time exempted from the drill-down contract (virtual tool); backup command test now asserts fidelity (servers with a command keep it) instead of the false 'dockerImage STDIO must have command' invariant. Full suite vs live a783869: 181/181. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
michal added 1 commit 2026-10-09 15:06:33 +00:00
fix(smoke): reconcile assertions with ungated-global + ambient clock
Some checks failed
CI/CD / lint (pull_request) Successful in 1m19s
CI/CD / test (pull_request) Successful in 1m27s
CI/CD / typecheck (pull_request) Successful in 3m12s
CI/CD / smoke (pull_request) Failing after 2m0s
CI/CD / build (pull_request) Successful in 4m51s
CI/CD / publish (pull_request) Has been skipped
ed54aa1464
Three smoke tests predated PR #137 (ungated-global pre-gate servers) and
the ambient-context clock, and were never exercised against a prod that
had calcmcp seeded — the 5415060 fix was cut over via kubectl, bypassing
the suite. They failed on today's a783869 deploy:

- proxy-pipeline: a fresh gated session legitimately sees begin_session
  plus the ungated-global project's tools. Now discovers the gate-exempt
  server set and asserts nothing ELSE leaks pre-gate.
- tool-drilldown: get_current_time is a router-dispatched virtual tool
  (ambient clock) that never paginates; added to the exempt set.
- backup: command is optional for dockerImage STDIO servers (entrypoint
  images — calcmcp, dav-michal, jmap-michal run with none). The real
  contract is fidelity: every live server WITH a command must keep it
  through backup. Asserted that instead.
- audit: 'Gated (only begin_session)' label said something the >=1 check
  never verified; renamed.

Full suite against live a783869: 32 files, 181/181 green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
michal merged commit ecd86fa357 into main 2026-10-09 15:06:40 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: michal/mcpctl#140