Put the gate's own actions on the log it writes for everyone else #11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "claude/control-plane-log"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The last of the review's foundations. Eight event types had a schema and no writer; consent, grants, pauses, gaps and scope rules were tables the log never mentioned, so a session could not be replayed from its events.
What changes. The gate writes each of them at the moment it acts, on the same log as the data, validated against the schema it always had. Session start and consent are the first two records; grant changes, scope rules added or removed, pauses and resumes, and indicator gaps and state transitions follow; session end with its counts is the last. The tables stay for live state. The path is the gate's own, not subject to a signal's grant, and closed to collectors, which a test pins.
Proof. A session replayed from its log alone comes back in order with the payloads saying what happened, and a collector's attempt to write a control record is rejected at admission. Linux verifier green on the pinned toolchain. Not run here: the Windows verifier and the end-to-end suite.