docs(remediation): bank D-31 — seat ran past 100% context with 28 uncommitted files
coder-mos1 hit 102.5%/372k on RM-03 with 28 modified files uncommitted and its branch still at base — a full context window spent with nothing durable. Caught by polling seat state, not by any system signal. Nothing warned anyone: no threshold alert, no pre-compaction hook. The founding failure mode of this mission — compaction destroying in-flight work — nearly hit the mission's own delivery twice in one night. RM-01 survived because it had committed work when checkpointed; this one had none. Commit-then-rotate works; rotate-without-commit loses everything. RM-34: a context threshold is not enough — rotation must force a durable checkpoint and refuse to rotate a seat with uncommitted work. RM-50: seat context is observable state and must be monitored; relying on an orchestrator to poll is instructions-not-enforcement applied to lifecycle. Brief doctrine: commit early, commit WIP. Adjacent: the diff spans 5 guides and 11 templates against a brief scoped to one script. Queried, not assumed — but a 28-file diff from a one-script brief is a scope signal regardless of the answer. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
bdf8932328
commit
bf8c6f4a89
@@ -221,6 +221,38 @@ reviewer, and no other seat holds mosaicstack write. Flagged to the coordinator
|
||||
busy lane. Not blocking today — RM-02's code blockers are independently disqualifying — but the next
|
||||
otherwise-clean PR meets this.
|
||||
|
||||
### D-31 — a seat ran past 100% context with 28 uncommitted files and no commits
|
||||
|
||||
`coder-mos1` reached **102.5% / 372k context** on RM-03 with **28 modified files uncommitted** and its
|
||||
branch still at the base commit — i.e. **a full context window spent (~\$27) with nothing durable**. The
|
||||
orchestrator caught it by polling seat state, not by any signal from the system.
|
||||
|
||||
**Nothing warned anyone.** No threshold alert, no pre-compaction hook, no "you are about to lose this"
|
||||
prompt. The seat did not report distress because from inside, running low on context feels like ordinary
|
||||
work right up until it is not. **The one failure mode the mission was founded on — compaction destroying
|
||||
in-flight work — very nearly happened to the mission's own delivery, twice in one night** (RM-01 was
|
||||
checkpointed at 69%; this one was already past the window).
|
||||
|
||||
**What made RM-01 survivable and this one nearly not:** RM-01 had _committed_ work when it was
|
||||
checkpointed, so rotation was cheap. Here the work existed only in the worktree and the seat's context.
|
||||
**Commit-then-rotate works; rotate-without-commit loses everything.**
|
||||
|
||||
**Requirements.**
|
||||
|
||||
- **RM-34 (rotation daemon):** a context-threshold trigger is not enough — it must **force a durable
|
||||
checkpoint before rotating**, and refuse to rotate a seat with uncommitted work until that work is
|
||||
committed or explicitly discarded. Rotation without a commit is data loss with extra steps.
|
||||
- **RM-50 (fleet ownership):** seat context level is **observable state** and must be monitored, with a
|
||||
threshold alert to the coordinator. Relying on an orchestrator to poll is exactly the "instructions,
|
||||
not enforcement" pattern (D-4) applied to lifecycle.
|
||||
- **Worker briefs (immediate, mechanical):** _commit early, commit WIP, an imperfect commit that exists
|
||||
beats perfect work that vanishes._ Added to standing brief doctrine rather than left to judgement.
|
||||
|
||||
**Adjacent observation — scope drift, unverified.** The same diff spans 5 framework guides and 11 agent
|
||||
templates against a brief scoped to the queue guard and its tests. Queried rather than assumed: if the
|
||||
edits are consequential to the tri-state change they stay; if drive-by, they split. Recorded here because
|
||||
**a 28-file diff from a brief that named one script is a scope signal regardless of the answer.**
|
||||
|
||||
### D-29 — the registry's own coverage clause was SYNTACTIC, not semantic
|
||||
|
||||
`rev-974` blocked PR #1030 with a finding that lands in the keystone's own enforcement:
|
||||
|
||||
Reference in New Issue
Block a user