Give every acting verb of mesh-recovery one answer form, cancel included (D-32)

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
2026-11-11 20:44:49 +01:00
parent 350d05b2c2
commit ccc8a4c492
@@ -199,8 +199,12 @@ node-engine keeps and the grants part's first composition (§682 to §684); the
- `discard-aside` (`module`, `kept`, `id`): removes that aside's directory; ends with `aside-discarded`.
- `expire-points` (no field of its own): runs §551's removal of points past their 90 days now; ends with
`expiry-ended`.
- `restore-aside` (`module`, `kept`, `id`) and `cancel` (`act`) as §566 has them; `cancel` answers `cancelled`
(the cancelled act's id) or `error` naming the step the act has begun, set alone.
- `restore-aside` (`module`, `kept`, `id`) and `cancel` (`act`) as §566 has them; `cancel` answers in the same
form (§691): `accepted` with the id of the act it cancelled, whose ending event follows under that id, or
`error` naming the step the act has begun.
- `restore` and `restore-kept` are two verbs, both kept: `restore-kept` is the node-engine's (§516), taking
`form`, `fingerprint` and `snapshot` and refusing `aside-only` and `discard-aside`; `restore` is the hand verb
above, taking a point by `snapshot` or a keeper's snapshot by `request`.
Why: the developer's D-19; the bundle calls on the tool runner's account, so the log would name the runner, not the
asker (review round 2). How it is checked: unit (mesh-recovery's contract), each verb's fields and answers read
@@ -313,8 +317,10 @@ node-engine keeps and the grants part's first composition (§682 to §684); the
## The operator's O-8, and develop's D-26 to D-31
- §691 **The recovery module's contract, as the developer wrote it where no line spoke.** (§516, §554, §560, §567,
§682, §396) [D-30, mesh-contracts K7 to K9.] Kept as lines: every verb of the seat `mesh-recovery` answers an
object with one of `accepted` (the act's id), `busy` (the id of the act that runs) or `error` (why) set alone;
§682, §396) [D-30, mesh-contracts K7 to K9.] Kept as lines: every verb of the seat `mesh-recovery` that acts
(`snapshot-kept`, `restore-kept`, `cancel` and every hand verb of §682) answers one form, an object with exactly
one of `accepted` (the act's id; for `cancel` the cancelled act's), `busy` (the id of the act that runs) or
`error` (why) set; `cancel` answers no `cancelled` field [D-32];
the seat's family is `mesh-recovery.events`, 7 days, for any event naming no `keep`; a point's `digests` is a list
of `{name, digest}`, each a bus object of the point and the `sha256:` digest of its bytes (§567); `kept-points`'
`running` is `{act, step, since, waits-on}`, `waits-on` present only while the act waits, and absent when no act