Skip to content
Cockpit0.29.0
A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live

I0916

The smoke suite is derived from the route registry, never written twice

Where it stands

devtask.issue
Readiness
blocked 2 of its dependencies are not DONE
Status
BLOCKED
Can start
not now
Milestone
Milestone status
ACTIVE
Wave
5
Waiting on
Holds back
Behind it in all
3
Evidence
0 of 4
In the waySubjectDetail
issueI0905I0905 is not DONE
issueI0914I0914 is not DONE
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I0916

majordomus plan verify I0916

majordomus plan done I0916

What it is

Objective
Generate the deployment smoke tests from the authoritative route registry, extending route metadata only where smoke testing genuinely needs it, and cover the surfaces that a plain status code cannot verify.
Why
A hand-written list of endpoints to check is the same defect as a hand-written OpenAPI file: it is complete on the day it is written and wrong afterwards. The registry already knows every route, and web surface discovery under ADR 0013 knows which of them are served.
Now
The registry holds the capability routes and the router serves them. Nothing derives verification from either, and the served topology is being reshaped on other branches.
Wanted
The smoke suite enumerates what the registry and the resolved surface topology say is served, verifies each according to its kind, and gains a new route automatically when one is registered.
Done when
unknown: the record declares no `completion`
Risk
The served topology is in flight on other branches. Pinning the suite to today's paths would make it stale on arrival; it has to ask the topology rather than name arms.

Acceptance

  • Every checked route comes from the registry or from the resolved surface topology, and adding a route adds its check with no second edit
  • Route metadata gains only the fields smoke testing actually needs, and no field that exists to make one test convenient
  • A websocket route is verified by a real upgrade, a message exchange and a clean close, not by a status code
  • The MCP transport is verified by a protocol-valid handshake, not by a 200 on its path
  • An OpenAI-compatible surface, where one is served, is verified for route presence, schema correctness, intentional authentication behaviour and correct rejection of malformed input, without requiring a paid completion
  • The OpenAPI document is retrieved and parsed, and its consistency with the registry is asserted
  • Deployment availability and external provider availability remain separate verdicts
Validation
bash test/run.shcargo test --workspace --all-features
Evidence required
smoke_derivedws_upgrademcp_handshakeopenapi_parsed
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
apps/majordomus-cli/src/deploy/smoke.rstest/cases
Not
A second list of endpoints in a script, a workflow or a test fixtureRoute aliases created to make a test passRequiring a paid external provider for a deployment smoke run
Depends on
Priority
p0
Profile
deep-work
Parallel safe
true
Owner
unknown: the record declares no `owner`

The work so far

Branches
none
Merged
none
Commits
0
Trunk
master
Sessions
none
Created
2026-09-06
Updated
2026-09-06
Started
unknown: the record declares no `started_at`
Verified
unknown: the record declares no `verified_at`
Completed
unknown: the record declares no `completed_at`

Synchronisation

Adapter
scripts/github-sync
Repository
unknown: the derived plan's header carries no repository
External issue
unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
State there
unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it

Findings

Nothing is wrong with these records.