Repository navigation
fix: remove startup memory budget while preserving archival - #72
Merged
Merged
Conversation
added 5 commits
October 6, 2026 13:26
Delete the startup-memory budget setting, its library and report command, its bootstrap materialization and diagnostic, its secondmate inheritance, and the stow cascade's per-home accounting. /stow keeps date-decay and consolidation archival to data/memory-archive.md and no longer measures, evicts, or opens decisions against a size budget.
…ide command substitution in tests/fm-secondmate-harness.test.sh with an equivalent suffix check. The behavior suite, focused ShellCheck, 474-file Bash 5.2 parse sweep, and diff check passed. Cursor coverage skipped because unavailable; native macOS Bash 3.2 verification remains outstanding
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.
Intent
Remove the startup word budget; archive old rulings instead.
Accepted specification from the preparation record (not the captain's words):
Expected outcomes and how to check each
bash tests/fm-bootstrap.test.shfixture homebash tests/fm-secondmate-harness.test.shbash tests/fm-stow-cascade.test.shbudget_report=in outputgit grep -n -i budget .agents/skills/stow/SKILL.mdgit grep -n -e startup-memory-budget -e STARTUP_MEMORY_BUDGET -e fm_startup_memorybin/fm-doc-audience-check.sh; bin/fm-lint.sh2. Behaviour spec
States: before the change a primary home's bootstrap materializes config/startup-memory-budget, /stow measures and evicts to it and may open captain decisions to raise it; after the change bootstrap is silent about it, an existing file is ignored, /stow never measures against a budget, never evicts for size and never opens a budget decision.
Controls: the captain loses the config/startup-memory-budget setting; no control is added.
Actions and results: /stow still reinforces, decays, consolidates and archives stale or superseded entries to data/memory-archive.md, offloads conditional material to an existing live owner when step 3's retention plan prefers it, and still cascades to secondmates by transport.
Copy: the /stow receipt drops the "effective startup-memory budget and total estimated tokens" line and the over-budget wording; the reset-safe rule keeps its unresolved-exception condition without the budget clause.
Restart and reopen: a home updated to this change and restarted reads no budget; a not-yet-updated remote secondmate still has its old script, which the updated cascade no longer calls.
11. Definition of done
What Changed
/stowsize accounting, budget eviction, and budget decisions while retaining decay, consolidation, archival todata/memory-archive.md, planned offload, and secondmate transport routing.Risk Assessment
✅ Low: The bounded removal preserves archival, ownership rules, and cascade routing, and the prior fix matches its authorized scope.
Testing
Focused acceptance tests and live CLI/native-Claude scenarios passed, with receipts and persisted memory retained as evidence. The backward-clock regression failed on the base and passed on the target; full live retry delivery remained blocked by the gate guard. No graphical UI changed. Lint, CI, publication, merge and home rollout remain with the outer executor.
Evidence: Live bootstrap, inheritance and cascade transcript
Source: Live bootstrap, inheritance and cascade transcript
Evidence: Real Claude secondmate resolves to agent transport
Source: Real Claude secondmate resolves to agent transport
Evidence: Native stow execution transcript
Source: Native stow execution transcript
Evidence: Persisted cold archive with provenance
Source: Persisted cold archive with provenance
Evidence: Persisted conditional knowledge in its existing owner
Source: Persisted conditional knowledge in its existing owner
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
🔧 **Review** - 1 issue found → auto-fixed ✅
.agents/skills/bootstrap-diagnostics/SKILL.md:38- Spec: O6 requires diagnostics to "no longer describe the budget." The diff deletes the STARTUP_MEMORY_BUDGET bullet but leaves "Correct the local primary file, then rerun session start ... deliver the validated value to secondmate homes." This former budget remediation now belongs to the TANGLE bullet, incorrectly instructing agents handling a stranded branch to correct and propagate an unspecified file. Remove this orphaned sentence to complete the diagnostic removal.🔧 Fix applied.
✅ Re-checked - no issues remain.
🔧 **Test** - 2 issues found → auto-fixed ✅
tests/fm-secondmate-harness.test.sh:2227- The required secondmate test file failed intermittently: the initial target run reported incorrect original retry bytes, while its full rerun and six isolated retry runs passed. The base-commit test file also failed in a retry-generation assertion. This prevents reliable repeatable test acceptance; isolate the intermittent failure before approving the step. Root cause remains unconfirmed, so no speculative fix was applied.bash tests/fm-bootstrap.test.shbash tests/fm-stow-cascade.test.shbash tests/fm-secondmate-harness.test.shtwice: initial failure, full rerun exit 0Six isolated executions oftest_config_reread_write_failure_retains_exact_retry_generationFocused execution oftest_bootstrap_stops_when_data_disappears_before_reconciliationBase-commit snapshot execution oftests/fm-secondmate-harness.test.sh: exit 1python3 ~/.no-mistakes/evidence/01M49EBAM259QST2W72QEEJVGG/live-product.pypython3 ~/.no-mistakes/evidence/01M49EBAM259QST2W72QEEJVGG/cascade-stow-live.pypython3 ~/.no-mistakes/evidence/01M49EBAM259QST2W72QEEJVGG/offload-stow-live.pyVerified native receipts, persisted archives, retained current memory, shared-file byte preservation, and existing-owner offloadManual removal-reference checks and confirmation that the recorded orphan sentence is absentVerified disposable homes, private tmux servers, temporary test copies, and base snapshot were removed; worktree clean🔧 Fix applied.
✅ Re-checked - no issues remain.
bash tests/fm-bootstrap.test.sh- passed.bash tests/fm-secondmate-harness.test.sh- passed, including normal and backward-clock retry cases.bash tests/fm-stow-cascade.test.sh- passed.test_bootstrap_stops_when_data_disappears_before_reconciliationvia a temporary focused runner - passed.test_config_reread_write_failure_retains_exact_retry_generation backwardsagainst a disposable base snapshot and the target - base failed on original-byte delivery; target passed.python3 ~/.no-mistakes/evidence/01M49EBAM259QST2W72QEEJVGG/r2-live-product.py- drove real bootstrap, session start, configuration push, cascade and native Claude stow.python3 ~/.no-mistakes/evidence/01M49EBAM259QST2W72QEEJVGG/r2-agent-cascade.py- verified cascade transport against a running Claude secondmate.python3 ~/.no-mistakes/evidence/01M49EBAM259QST2W72QEEJVGG/r2-retry-live.py- attempted live retry delivery; nested lifecycle guard blocked it.git grep -n -e startup-memory-budget -e STARTUP_MEMORY_BUDGET -e fm_startup_memoryandgit grep -n -i budget .agents/skills/stow/SKILL.md- both returned no matches, exit 1.Inspected native receipts, executed commands, persisted archives, offload destination, shared-file preservation and absence of budget decisions.Verified disposable homes, private tmux servers and temporary runners were removed;git status --short --untracked-files=allwas empty.✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.