PR #16755 (card #13953) shipped POST /automation/:name/runs/:runId/cancel and …/restore-suspension and PASSed contract review at 34feecba7 (#16755 (comment)). Three non-blocking findings were carried out of that review rather than holding the PR:
Terminal state (one sentence)
The two doors are documented where the rest of the run family is, their ledger notes say what the :name segment does and does not scope, and whether a JS SDK method exists is a recorded decision rather than scope prose.
Items
- Docs route tables (review F7/N2).
content/docs/automation/flows.mdx (the run-family table, around the resume / screen rows) and packages/services/service-automation/README.md (same table) list the run family without the two new doors. Add both rows with their gate (PLATFORM_ADMIN posture rung, isSystem bypass), body { reason? }, and the 501-when-absent shape. ⛔ content/docs/releases/** stays untouched.
:name scoping clause (review F5/N5). Both arms call the verb with parts[2] and never check that the run belongs to flow parts[0] — the existing convention of resume / screen / getRun. One clause in each route-ledger.ts note saying so, so the flow-scoped shape is not read as a scoping the door enforces.
- SDK method decision (review F4/N4). Both ledger rows are
server-only with prose "adding one reclassifies the row to sdk". Record the decision: either file the client.automation.cancelRun / restoreSuspension card, or state on this card that they stay server-only until an operator asks, and cite that from both ledger notes.
H-check (one)
node scripts/docs-audit/affected-docs.mjs on the head lists neither flows.mdx nor the README as naming a route the tree does not document, and route-ledger.conformance.test.ts is green with the amended notes.
Related
#13953 (card) · PR #16755 · #16285 (dogfood not in the derived gate families — separate, already open) · #3877 (Stage-D response-schema ratchet, F8 observation).
Filed by the director seat after the contract review of PR #16755 @ 34feecba7.
PR #16755 (card #13953) shipped
POST /automation/:name/runs/:runId/canceland…/restore-suspensionand PASSed contract review at34feecba7(#16755 (comment)). Three non-blocking findings were carried out of that review rather than holding the PR:Terminal state (one sentence)
The two doors are documented where the rest of the run family is, their ledger notes say what the
:namesegment does and does not scope, and whether a JS SDK method exists is a recorded decision rather than scope prose.Items
content/docs/automation/flows.mdx(the run-family table, around theresume/screenrows) andpackages/services/service-automation/README.md(same table) list the run family without the two new doors. Add both rows with their gate (PLATFORM_ADMINposture rung,isSystembypass), body{ reason? }, and the 501-when-absent shape. ⛔content/docs/releases/**stays untouched.:namescoping clause (review F5/N5). Both arms call the verb withparts[2]and never check that the run belongs to flowparts[0]— the existing convention ofresume/screen/getRun. One clause in eachroute-ledger.tsnote saying so, so the flow-scoped shape is not read as a scoping the door enforces.server-onlywith prose "adding one reclassifies the row tosdk". Record the decision: either file theclient.automation.cancelRun/restoreSuspensioncard, or state on this card that they stay server-only until an operator asks, and cite that from both ledger notes.H-check (one)
node scripts/docs-audit/affected-docs.mjson the head lists neitherflows.mdxnor the README as naming a route the tree does not document, androute-ledger.conformance.test.tsis green with the amended notes.Related
#13953 (card) · PR #16755 · #16285 (dogfood not in the derived gate families — separate, already open) · #3877 (Stage-D response-schema ratchet, F8 observation).
Filed by the director seat after the contract review of PR #16755 @
34feecba7.