feat(boatstack): goal escapes — the merged pursuit is bounded and demotes - #241
Merged
Conversation
…otes The merged-terminal pursuit now runs inside an explicit contract: at most three recorded post-publish fix cycles (offline counter on the published slice, mirroring RepairAttempt), no changes-requested review verdict, and a cleanly merging branch (DIRTY fires; BEHIND deliberately does not). Any ended contract fires a goal escape: the actor demotes to operator, nothing further is prescribed (demote-and-stop), the reason explains the pause, and the demotion is cached best-effort on the slice so it holds offline in a fresh session — the same bounded bypass as the terminal PRState cache, and the registry note now names it. Recording the next correction is the explicit reset (escape clears, cycle restarts at one). The published default evaluates and writes nothing. control-law: goal-escape-demotes-to-operator-and-stops Disclosure-Reviewed: reviewed — public-safe only, private facet kept out of this commit
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.
Sixth slice of the published → merged program (follows #240). Autonomy arrives pre-bounded: the merged-terminal pursuit runs only inside an explicit contract, and any disturbance that ends the contract demotes the step to the operator and stops.
What changed
PostPublishFixAttempts, an offline counter on the published slice mirroringRepairAttempt < 3), no changes-requested review verdict, and a cleanly merging branch (DIRTYfiresbase_conflicts;BEHINDdeliberately does not — it is often auto-resolvable and already lands on an operator-owned Unknown phase without stickiness).classifyNextActorreturn operator unconditionally,prescribePostPublishreturn nothing (demote-and-stop, never demote-and-suggest), the status reason explain the pause,flow watchtreat it as a frontier change, and the frontier row carry it.delivery.nextregistry note now names it. A fresh session withghunavailable still demotes. A perfect-looking live observation cannot re-arm an escaped pursuit.record-change) clears the escape and restarts the cycle at one — the explicit operator-authorized act, consistent with the protocol's frontier rules.published, no escape is ever evaluated, surfaced, or written; state files stay byte-stable through correction cycles (pinned).Boundary conformance
goal-escape-demotes-to-operator-and-stops.goal_escape_conformance_test.go— positive (each live disturbance → operator + nothing prescribed + explanatory reason), relation (budget exhausts offline with gh down; persisted escape sticky; recorded correction resets to cycle 1), negative (unspent budget keeps prescribing; published default writes zero bookkeeping), bypass (escaped delivery never gets the merge prescribed again — even under a live merge-eligible observation — until the recorded reset).Evidence
go build ./... && go vet ./... && go test ./...— pass.2026-07-28-bounded-merge-pursuit.md.Next: the offline retro miner (recurrence detection over transcripts → typed proposals).