What happens
First a precondition: a session may only close if it opened oriented. Closing from a session that never read the spine is how records get mismarked, so the command refuses rather than guesses.
Then judgment, which is never delegated to tooling. The session determines the close’s character — what was decided this cycle (a governance record is due, with the owner’s ratification) versus what was merely executed (a recorded reason, nothing more). It updates the decision register, walks the standing refresh checklist row by row — every living document marked changed or checked, unchanged — and writes the handover: what the next session must know, in one auditable line.
Then mechanics. A close tool pre-computes the ripple — stamps, versions, projections — shows its plan, and writes it; counts are brought current last, because the mechanical pass itself moves them. Two checkers gate the exit: one verifies the knowledge store’s invariants, one reads the corpus’s prose claims about itself against reality. Both block red, no exceptions. Then one commit — author and authorizer both named — and the push.
Why it’s shaped this way
The split is the point: judgment stays with the session, mechanics go to the tool, and neither is allowed to do the other’s job. Everything the project knows, it knows because some close wrote it down — the ritual is the reason a stranger can pick up any FRACTAL project cold.
The shipped file: close.md ↓ — the baseline’s own, verbatim: a thin orchestrator over the ritual’s canonical homes, which it cites rather than copies.