Commit 0765b14
committed
fix(runtime): mount the two operator run-lifecycle verbs the ledger already declares
`POST /automation/:name/runs/:runId/cancel` and `.../restore-suspension` were
declared in `route-ledger.ts` and answered by the `/automation` domain handler,
but nothing registered them on the HTTP router: `registerAutomationRoutes` in
`dispatcher-plugin.ts` mounts one literal registration per automation route and
gained neither. Both URLs answered Hono's `notFound` at runtime while every
ledger-reading guard passed them — the class the route-ledger to live-mount
parity gate (#7526) exists to catch, and the class it caught this in.
Two literal `server!.post` registrations, mirroring the `resume` arm beside
them. They carry no authority logic: the gate stays the single
`isRunLifecycleWrite` predicate in `domains/automation.ts` on the ADR-0095
posture rung, required unconditionally.
The dogfood authz probe blind-spot census moves with the population it
measures: the runtime ledger reads 82 rows instead of 80. Both new rows carry
`domain: '/automation'`, an already-classified key, so `reachable` moves with
`population`, `blindSpot` stays 0 and the key count stays 21.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012zTkyNHJ7TkuN2oXtP5x371 parent c9c1c6d commit 0765b14
3 files changed
Lines changed: 43 additions & 5 deletions
File tree
- packages
- qa/dogfood/test
- runtime/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
| 109 | + | |
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| |||
295 | 295 | | |
296 | 296 | | |
297 | 297 | | |
298 | | - | |
299 | | - | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
300 | 305 | | |
301 | 306 | | |
302 | | - | |
| 307 | + | |
303 | 308 | | |
304 | 309 | | |
305 | 310 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1553 | 1553 | | |
1554 | 1554 | | |
1555 | 1555 | | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
1556 | 1589 | | |
1557 | 1590 | | |
1558 | 1591 | | |
| |||
0 commit comments