chore(config): raise our own r1_line_budget to 1000, and say why - #73
Open
ProtocolWarden wants to merge 1 commit into
Open
chore(config): raise our own r1_line_budget to 1000, and say why#73ProtocolWarden wants to merge 1 commit into
ProtocolWarden wants to merge 1 commit into
Conversation
.console/log.md sat at 396 against a 400 budget, so the next entry anyone wrote red-failed our own audit. Not hypothetical: that happened to #72 (437 lines) and was cleared only by pruning the two oldest surviving entries and condensing the new one, buying four lines. #66, #67 and #69 each pruned to land as well. The tax is structural — the pre-commit hook requires log.md to grow on every source commit and RC1 caps it, so their intersection is "delete history as a precondition for committing." Considered and rejected two of the three routes. IMPLEMENT ADR 0001 — not ours to do. The ADR says so in its own Status section: .console/ is defined by the console-reconciliation spec, ContextLifecycle owns it, and RC1/RC2 are our implementation of the spec's gates, so adopting Option D here changes what those gates enforce fleet-wide. It is still `proposed`. Patching around an open question we raised ourselves would be the worst of both. ADD AN ARCHIVE FILE RC1 DOES NOT COUNT — #65 already reverted exactly this. Pruned .console/ history goes to <private-manifest>/archive/console/<repo>/ via `cl reconcile` (spec §3.3 / Layer C); a second local archive is an orphan the tool never maintains. Worse, RC1's glob is `.console/*.md` — top level only — so sharding into .console/log/2026-08.md would not reduce the count, it would remove the file from the gate's view entirely. Silently relocating content out of a control's reach is not archiving, it is disabling the control while leaving it green. We removed `|| true` from a consumer's audit install last week for being that same shape. RAISE OUR OWN BUDGET — `audit.r1_line_budget` is a documented per-repo knob, read by detect_r1 and defaulted rather than hardcoded, so this touches no detector, no spec and no other repo. It is also what the detector intends: its docstring calls R1 "LOW/advisory — a reconciliation due signal, no judgement about *what* to prune." 400 suits an operator workspace whose log is session-continuity notes. Ours is a different artifact — it documents detector semantics consumers depend on, which is why entries run ~30 lines and why pruning has already cost something real (the D12 entry that shaped C16's default-off design survives only in git). 1000 gives ~20 entries of runway, putting reconciliation back on a scheduled cadence instead of every other commit. Still bounded, still gated, still archived by `cl reconcile` when it fires. Explicitly interim. The fix is ADR 0001 landing one way or the other; this stops the bleeding without pre-empting it, and preserves the history that decision is about. Sized so writing this entry does not itself trip the gate. Verified: log.md 442/1000, RC1 gone, custodian-doctor --strict OK. The one remaining audit finding is W2 (core.hooksPath unset), pre-existing and local to this clone — CI sets it as the audit job's first step. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
.console/log.mdsat at 396 against a 400 budget, so the next entry anyone wrote red-failed our own audit.Not hypothetical. It happened to #72 (437 lines), cleared only by pruning the two oldest surviving entries and condensing the new one — buying four lines. #66, #67 and #69 each pruned to land as well. The tax is structural: the pre-commit hook requires
log.mdto grow on every source commit and RC1 caps it, so their intersection is "delete history as a precondition for committing."Two routes considered and rejected
Implement ADR 0001. Not ours to do — the ADR says so in its own Status section.
.console/is defined by the console-reconciliation spec, ContextLifecycle owns it, and RC1/RC2 are our implementation of the spec's gates, so adopting Option D here changes what those gates enforce fleet-wide. It is stillproposed. Patching around an open question we raised ourselves would be the worst of both.Add an archive file RC1 doesn't count. #65 already reverted exactly this. Pruned
.console/history goes to<private-manifest>/archive/console/<repo>/viacl reconcile(spec §3.3 / Layer C); a second local archive is an orphan the tool never maintains.Worse — RC1's glob is
.console/*.md, top level only. Sharding into.console/log/2026-08.mdwould not reduce the count; it would remove the file from the gate's view entirely. Silently relocating content out of a control's reach isn't archiving, it's disabling the control while leaving it green. We removed|| truefrom a consumer's audit install last week for being that same shape.What this does instead
audit.r1_line_budgetis a documented per-repo knob, read bydetect_r1and defaulted rather than hardcoded — so this touches no detector, no spec, and no other repo.It is also what the detector intends. Its own docstring:
400 suits an operator workspace whose log is session-continuity notes. Ours is a different artifact: it documents detector semantics consumers depend on, which is why entries run ~30 lines, and why pruning has already cost something real — the D12 entry that shaped C16's default-off design now survives only in git.
1000 gives ~20 entries of runway, putting reconciliation back on a scheduled cadence instead of every other commit. Still bounded, still gated, still archived by
cl reconcilewhen it fires.Explicitly interim
The fix is ADR 0001 landing one way or the other. This stops the bleeding without pre-empting that decision, and preserves the history the decision is about. Sized so that writing this entry does not itself trip the gate — the exact failure mode that prompted it.
Verification
log.md442/1000 — RC1 gone.custodian-doctor --strict→ OK.W2(core.hooksPathunset), pre-existing and local to my clone; CI sets it as the audit job's first step.🤖 Generated with Claude Code