Skip to content

Add the resolver runway to the run-bounds recitation#1265

Merged
ppXD merged 1 commit into
mainfrom
feat/p5-5-resolve-cap-recitation
Jul 25, 2026
Merged

Add the resolver runway to the run-bounds recitation#1265
ppXD merged 1 commit into
mainfrom
feat/p5-5-resolve-cap-recitation

Conversation

@ppXD

@ppXD ppXD commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • P5-5 (C3 absorption, completing the RUN BOUNDS family): the resolve-attempt count now renders in the decider's RUN BOUNDS block against the effective cap. This bound is the harshest of the three: an over-cap spawn wave is refused (run continues), but an over-cap resolve force-stops the run (ResolveAttemptsExceeded) — and with the default cap of 1, the first resolve already stands at the cliff edge. The line names the distinction and the fail-safe exit ("stop and leave the conflict to a human", mirroring AppendResolutionVerdict's copy — no new verbs for the model to pick up wrongly).
  • SupervisorTurnContext.MaxResolveAttempts carried from the plan (same plumbing as MaxTotalSpawns; null legacy contexts fall back to DefaultMaxResolveAttempts); the prompt counts resolves off PriorDecisions exactly the way SupervisorBounds.PostDecision counts them, so the bound and its recitation cannot drift.
  • Default parameters keep every P5-3 call shape valid; zero counters still render nothing (fresh-run prompt byte-identical, pinned).

Test plan

  • Unit (6067, +4): resolve line (count/cap, force-stop-vs-refused distinction, human fallback) · lane-default cap fallback · zero-resolve renders no line (P5-3 callers byte-identical) · prompt wiring counts a tape Resolve decision identically to the bound
  • Integration: full suite green (2448) — context plumbing rides the existing rehydrate construction
  • Full suites green

The resolve cap is the harshest of the silent bounds: an over-cap
spawn wave is refused and the run continues, but an over-cap resolve
force-stops the whole run (ResolveAttemptsExceeded) — and the decider
could not see the count. With the default cap of 1, the model's first
resolve already stands at the cliff edge; the next one is the run's
death, spent blind.

The turn context now carries the plan's MaxResolveAttempts (the same
plumbing as MaxTotalSpawns), the RUN BOUNDS recitation renders the
attempt count against the effective cap with the fail-safe exit named
(stop and leave the conflict to a human — mirroring the resolution
verdict's own copy), and the prompt counts resolves off the tape
exactly the way SupervisorBounds.PostDecision does, so producer and
recitation cannot drift. Zero counters still render nothing.
@ppXD
ppXD merged commit e2ad837 into main Jul 25, 2026
5 of 6 checks passed
@ppXD
ppXD deleted the feat/p5-5-resolve-cap-recitation branch July 25, 2026 15:05
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.

1 participant