Handshake
Definition
The explicit consent event by which a Knight accepts a proposed Shrubbery, transitioning it from Pending_Handshake to Active. The Handshake is the act, not the record of the act — the record lives in the Audit Trail as a handshake_accepted event.
Avoid: acceptance, agreement, confirmation, ack.
Role
The Handshake is the load-bearing gate of the commitment system. Until a Knight performs one, a Shrubbery is a proposal and contributes nothing to the Commitment Flow Score — no Say-Do Ratio, no deadline enforcement, no Reciprocity rollup. After the Handshake, the row counts. The system is consent-first because of this gate: nobody is on the hook for a commitment they did not accept.
A Handshake is performed inside the Accord UI surface. The API path is POST /api/handshake/accept (server action wrapped). The same Knight may refuse instead via POST /api/handshake/refuse, which is also a Handshake-related event (terminal, Pending_Handshake → Refused) and counts toward Ghost Rate.
Lifecycle
The Handshake itself is an event, not a stateful entity. It triggers the parent Shrubbery's state transition:
Pending_Handshake— Shrubbery is awaiting Handshake. Either path below is reachable.Active— Handshake performed (accepted). Shrubbery now contributes to CFS.Refused— Handshake performed (declined). Shrubbery is terminal; counts toward Ghost Rate.
A Renegotiation re-opens the door: a substantive edit by the Lead on an Active Shrubbery reverts it to Pending_Handshake, requiring a fresh Handshake.
Related guides
Last updated: 17 May 2026