Repository navigation
feat(seat): the seat pools and deposits, it never seals - #133
Merged
Merged
Conversation
Remove the inline seal prompts: scope is a silent start-check (served reports populated / empty / unreachable from a past seal), proposals are shown and left pooled, and checkout deposits the pool into Nestor as drafts through an injectable `deposit` (default: willow-mcp onescript_deposit, imported lazily; unreachable, never empty, where it is absent), then makes one `seal ↗` offer to the Nestor UI. The seat holds no key and mints no seal. Persona: hanuman Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ELSWW4oHtDP66ekpNoPNku
…ut (PR 133) Persona: hanuman
Author
|
willow-bot status for
|
rudi193-cmd
approved these changes
Oct 9, 2026
Author
|
0.1 hours, open to merged. Either very good or very lucky. The troll will find out which. |
willow-ci Bot
added a commit
that referenced
this pull request
Oct 9, 2026
🤖 I have created a release *beep* *boop* --- ## [0.16.0](v0.15.0...v0.16.0) (2026-10-09) ### Added * **seat:** the seat pools and deposits, it never seals ([944cfa1](944cfa1)) * **seat:** the seat pools and deposits, it never seals ([#133](#133)) ([fbc114c](fbc114c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bite
Wave 3a of the CLI-seat redesign: rebuild
grove/seat_cli.pyto the seal model — check past seals at start, pool through the session, deposit + oneseal ↗offer at close-out; no inline seal. This ends the dead-end the first live drive hit (gap83565764dda6: the seat stranded a lone human atseal ▶, offering ansthat needed a pre-existing Nestor pair and ap <proof>key the seat never holds). The box-stream conversational rendering is the follow-up (3b).What was done
Seat.seal()and both call sites (scope, proposals) are deleted. The seat prompts noseal ▶, calls neitherseal_scopenorseal_proposal, and holds no key.scope()prints the stack + subject and returns;served()rendersthree_state— apopulatedserve means a past seal already matches this exact scope,empty(with its reason) is the honest no-match. No mint.proposals()shows eachpassand apooled: <subject>line; the rows persist on record via the chain /take_proposals; nothing is sealed mid-run.checkout()prints the morning screen, thenclose_out()deposits the pool (api.pooled→ the injecteddeposit) and makes a singleseal ↗ http://127.0.0.1:8765offer listing the deposited subjects, with anystatus:"error"pair shown verbatim. Operator decision: the seat deposits itself, so a lone human's drafts exist in Nestor when they go to seal.flower); the defaultwillow_mcp_deposit()lazy-importswillow_mcp.db.Store+onescript_deposit.deposit(ProposeOnly, never seals). willow-mcp absent / a raising deposit / a refused pool read all renderunreachable(neverempty) and still list the pooled subjects.Evidence
format --checkclean,checkclean;pytest tests829 passed / 14 skipped. Rebased clean ontomaster@ 6e3ac9e; pushed 944cfa1 (ahead 1, behind 0).Out of scope
record.pyline-safety (willow-bot gap6d5a986ce99f).grove-seatvenv may needwillow_mcpon its path for live deposits (desk deploy check);close_out()does not wrapapi.pooledagainst a raised exception (latent; the api contract returns refusal dicts) — folded into 3b.Next bite
3b: render the conversational box-stream in the terminal, mirroring
web/demo/box-stream/box-stream-v1.3.html, and fold theapi.pooledwrap.Ratified-by: sean-campbell — "Ship wave 3a, push it"
🤖 Generated with Claude Code
https://claude.ai/code/session_01ELSWW4oHtDP66ekpNoPNku