diff --git a/03-DESIGN/01-to-be/47-milestones/G-18-fix-round-six-seven.md b/03-DESIGN/01-to-be/47-milestones/G-18-fix-round-six-seven.md index 81dd31e7..1a5d6fcc 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-18-fix-round-six-seven.md +++ b/03-DESIGN/01-to-be/47-milestones/G-18-fix-round-six-seven.md @@ -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