A session reads in one composition why a marked tool is not served on a node,
or that the grants part did not answer.
Builds: design 46 7 §6 (the node-engine's composition of the module names the withheld subjects; "withheld unknown: the grants part does not answer"), lead answer A-239 (withheld, withheld-unknown)
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
The definition drops held-by-the-engine, so one module's claim of the seat is read as any other. It gains
first-views (read; any person and the healers) and first-view-again (act; the operator and the healers), not
optional, their inputs and answers those of the view's two tools mesh-sdk's runtime serves; a fixture reads
first-view-again's input. Generated code waits for K21.
Builds: design 47 G §508, §422, §204, §400
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Rewritten from the earlier branch to the final lines: keep as an object, stopped on running, process-builds a
read for persons, sessions and healers and not optional, the compose rule with the step's default bound.
The eleven verbs' callers (§393) wait on a question; the generated Go and TypeScript wait on the generator.
Builds: design 47 G §177, §199, §203, §260, §261, §266, §396, §404, §440
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The seat's area changes in this milestone, so it moves whole into its contracts (ADR 0613 §3): the eleven verbs it serves
get their answers as the engine writes them, asked, done and refused their body, and the seat serves the optional verb
manifest-reads (ADR 0618 §3) and says manifest-reads-changed (§4). Each event is published per node, the node's name its
last token (by-caller), and kept with the seat's events for seven days. compose-candidate's input is a boolean, as the
engine and the checker read it. Fixtures for every event, compose-candidate's input and three answers.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn