Skip to content

feat(checkpoint): defer_seal — card answers as drafts for a host that seals at the session's end - #47

Merged
rudi193-cmd merged 1 commit into
masterfrom
ccr-ea47b784-7l76tp
Oct 19, 2026
Merged

rudi193-cmd merged 1 commit into
masterfrom
ccr-ea47b784-7l76tp

Conversation

@rudi193-cmd

Copy link
Copy Markdown
Contributor

What

open_bite(..., defer_seal=True) → run_checkpoint(defer_seal=True) is for a host that seals once, at the end of a session: willow-bot's one script, with Nestor's new session seal.

With the flag on:

  • A fresh Socratic answer, or a recognized answer the maker confirms, is proposed as a Nestor draft (CheckpointMemory.propose → EntityResolver.propose) instead of being sealed.
  • It is not attested, because nothing was committed for an attestation to sign off on yet.
  • The outcome says so: drafted=True, sealed=False, and pair_id is the draft's.

With the flag off (the default), nothing changes: the answer is sealed and attested as before.

Why

The operator: "there is really nothing to seal yet because no real decision has been made other than hey I want to build this thing that's not a decision that's an idea." An answer given mid-session is one piece of the session, and the person's one seal is over the session's whole.

Proof

Check Result
pytest tests/ 743 passed, 241 skipped
tools/vendor_sync_check.py vendor pins hold
ruff check . / ruff format --check . (0.16.7) clean
New tests/test_checkpoint_defer_seal.py 4 tests. On both bands and through the entry, CheckpointMemory.seal is patched to fail (a mid-session seal) and the run must not call it. A fourth pins that the default still seals and attests
Mutations 6 of 6 caught (table below)
Driven for real willow-bot's one script ran forge with this branch on ONESCRIPT_FORGE: populated, major game
Mutant Tests that failed
the flag ignored, so it seals 3
the socratic band dropping the flag 2
the recognize band dropping it 1
the entry dropping it 1
drafts attested 2
the outcome claiming sealed 2

Companion PRs: Die-Namic-Systems/Nestor (session_seal) and willow-memory/willow-bot#143 (one-script).

Ratified-by: sean-campbell — "Yes, build it"


Generated by Claude Code

… seals at the session's end

A host that seals once, at the end of a session (willow-bot's one script,
with Nestor's new session seal), now passes defer_seal=True through
open_bite -> run_checkpoint. A fresh Socratic answer, or a recognized
answer the maker confirms, is then proposed as a Nestor draft
(CheckpointMemory.propose -> EntityResolver.propose) instead of sealed,
and is not attested: nothing was committed for an attestation to sign
off on yet. The outcome says so (drafted=True, sealed=False, pair_id of
the draft). The default is unchanged: seal and attest, as before.

The operator: "there is really nothing to seal yet because no real
decision has been made other than hey I want to build this thing that's
not a decision that's an idea."

Tests attempt the forbidden act (a mid-session seal: CheckpointMemory.seal
patched to fail) on both bands and through the entry, and pin that the
default still seals. Mutations, each caught: defer ignored (3 red), the
socratic band dropping the flag (2), the recognize band dropping it (1),
the entry dropping it (1), drafts attested (2), the outcome claiming
sealed (2).

Persona: willow

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WpF9VeQij17q9eaens5cNb
@rudi193-cmd
rudi193-cmd merged commit 8fba8e5 into master Oct 19, 2026
17 checks passed
@rudi193-cmd
rudi193-cmd deleted the ccr-ea47b784-7l76tp branch October 19, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants