aboutsummaryrefslogtreecommitdiff
path: root/working/context-engineering-rightsizing/proposals.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-27 13:46:32 -0500
committerCraig Jennings <c@cjennings.net>2026-07-27 13:46:32 -0500
commitd74d98d03e7321b6c69dae9ef427da66b0f6fbc6 (patch)
tree4d61b604085afc019b40903a9e8db9072b46147c /working/context-engineering-rightsizing/proposals.org
parent2c664cb5651fbf03bc52d7848add0c571708adcd (diff)
downloadrulesets-d74d98d03e7321b6c69dae9ef427da66b0f6fbc6.tar.gz
rulesets-d74d98d03e7321b6c69dae9ef427da66b0f6fbc6.zip
docs: correct the rightsizing docs against live measurements
I had the goal backwards in the lead. Craig's framing is output quality first, with token reduction real but second, and where they conflict quality wins. Anthropic's 80% was a finding rather than a target, and aiming at it directly optimizes the thing we don't care about. P4 falls to that and is dropped: lowering effort buys tokens by spending quality. P5 rises for the same reason, since positive framing over prohibition is what actually targets guardrails working against output. My token figures were low by about 45%. I converted word counts at a guessed ratio when /context reports real per-file numbers, so I used an estimate because it was easier to compute from inside the repo. The live ratio is 2.28 tokens per word. commits.md is 12,800 tokens rather than the 7,000 I estimated, and claude-rules was near 57,800 per session before today. I also conflated two loading paths. Memory files come in through the harness at session start. protocols.org and the workflows are read by startup and land in Messages, so they never appear under Memory files at all. They shrink by editing the workflow, not by scoping a rule, and treating them as one surface made protocols.org look like it competed with commits.md for the same fix. Path-scoping is confirmed working at user level, and the de-duplication holds. That splits the remaining work: anything scopable to a file type or directory ships with no trial, because a glob match is deterministic. Only the semantic rules need the skills route and the stop conditions, and commits.md is the one that matters there at 12,800 tokens of publish machinery that only applies when a commit is in play. I recorded one caution the confirmation doesn't cover. Path-scoping fires when a matching file is read, so creating a new org file from scratch never triggers todo-format.md. Edits are safe because Edit requires a prior read. I also wrote up the day's two guard failures, both mine. wrap-org-table reflowed a table into a worse shape and lint-org certified it clean, and the teardown hook consumed a stale sentinel and killed a live work session. The plan leans on mechanical detectors because they have no stake, which is still right, but a detector can be confidently wrong and a green check from a guard that never looked is indistinguishable from one that did.
Diffstat (limited to 'working/context-engineering-rightsizing/proposals.org')
-rw-r--r--working/context-engineering-rightsizing/proposals.org99
1 files changed, 65 insertions, 34 deletions
diff --git a/working/context-engineering-rightsizing/proposals.org b/working/context-engineering-rightsizing/proposals.org
index 40bfcf8..1300a7b 100644
--- a/working/context-engineering-rightsizing/proposals.org
+++ b/working/context-engineering-rightsizing/proposals.org
@@ -8,33 +8,61 @@ Proposals only. Nothing here is applied. Source: three Anthropic posts Craig
supplied 2026-07-27 — the Claude 5 context-engineering post (2026-07-24), the
Opus 5 prompting guide, and the Fable 5 field guide (2026-07-06).
-* The measurement
-
-Every session in every project loads this before the user's first word:
-
-| Surface | Words |
-|--------------------------+--------|
-| =claude-rules/= (20 files) | 25,386 |
-|--------------------------+--------|
-| =protocols.org= | 6,620 |
-|--------------------------+--------|
-| Project =CLAUDE.md= | 117 |
-|--------------------------+--------|
-| *Total* | 32,123 |
-|--------------------------+--------|
-
-Roughly 40,000 tokens of always-on context. The context-engineering post reports
-Anthropic cut over 80% of Claude Code's *system prompt* with no measurable loss
-on their coding evals. That's their number on their surface, not a target for
-this one, but the direction is the finding: this system is built in the "then"
-style the post retired.
-
-The content isn't the problem. The post says skills are best when they "encode
-particular opinions, knowledge, or best practices particular to you" — which is
-exactly what these rules are. The problem is *load timing*: all of it is
-resident on every turn, including =commits.md= (5,561 words) in a session that
-never commits, and =todo-format.md= (4,494 words) in a session that never opens
-an org file.
+* Goal
+
+Output quality and results first. Token reduction is a real goal and worth
+having, but it is the second one, and where the two conflict quality wins.
+Craig's framing, 2026-07-27: the concern is agents having the freedom to
+produce at their highest capacity, unbound by guardrails that constrain them or
+work against them.
+
+That reordering matters more than it sounds. Anthropic's 80% figure was a
+*finding* — they cut and quality held — not a target. Aimed at directly it
+optimizes the thing we don't care about, and P4 below is the proposal that
+falls to it.
+
+* The measurement (corrected 2026-07-27 from live =/context=)
+
+The original figures in this document were word counts converted at a guessed
+ratio, and they understated by about 45%. A =/context= run in a live work
+session gave the real numbers:
+
+| Surface | Tokens |
+|------------------------------------+--------|
+| =claude-rules/= before this session | 57,800 |
+|------------------------------------+--------|
+| =claude-rules/= now (17 files) | 44,410 |
+|------------------------------------+--------|
+| Path-scoped out (3 files) | 13,390 |
+|------------------------------------+--------|
+
+The real ratio is 2.28 tokens per word, not the ~1.3 assumed. =commits.md=
+alone is 12,800 tokens, not the ~7,000 estimated. Every earlier figure here
+should be read as low.
+
+** Two loading paths, not one
+
+The original framing called 32,123 words "always-loaded" and was wrong to
+lump them. They arrive by different mechanisms:
+
+- *Memory files* — =claude-rules/= (via the =~/.claude/rules/= symlinks),
+ =CLAUDE.md=, project =.claude/rules/=, and auto-memory's =MEMORY.md=. Loaded
+ at session start by the harness. This is the 44,410 above, plus CLAUDE.md and
+ project rules.
+- *Read during startup* — =protocols.org= and the workflow files. These never
+ appear under Memory files in =/context=; the startup workflow reads them, so
+ they land in Messages. Still a real per-session cost, but a different lever:
+ they shrink by editing the workflow, not by scoping a rule.
+
+Conflating the two made =protocols.org= look like it competed with
+=commits.md= for the same fix. It doesn't.
+
+** What the harness says on its own
+
+=/context= ends with its own suggestion: prune =commits.md= (12.8k),
+=testing.md= (6.3k), and =MEMORY.md= (5.5k). That is the Phase 4 target list,
+arrived at independently. Worth treating as corroboration rather than
+coincidence.
* Proposals
@@ -106,7 +134,7 @@ always-loaded core — otherwise this proposal fights the one above it.
*Confidence.* Medium-high on the practices being useful. Lower on the quiz,
which may not fit how you actually work.
-** P4 — Effort calibration on the unattended loops [medium value, low risk]
+** P4 — Effort calibration [DROPPED 2026-07-27 — trades quality for cost]
*Change.* Sentry, work-the-backlog, and the no-approvals speedrun run many
passes at default effort. The Opus 5 guide says to use =low= and =medium=
@@ -116,11 +144,11 @@ for demanding work.
*Why.* Sentry fires hourly. Effort is the lever with the largest cost
multiple, and most sentry passes are mechanical sweeps.
-*Confidence.* Medium. The guide says to re-run an effort sweep on your own
-evals rather than trusting carried-over defaults, and we have no evals — so
-this wants a trial and a judgment, not a blanket change.
+*Dropped.* Lowering effort buys tokens by spending quality, which is exactly
+backwards under the goal above. Revisit only if a specific pass proves
+genuinely mechanical and a cost problem shows up on its own.
-** P5 — Positive framing over prohibition [low value, low risk, slow]
+** P5 — Positive framing over prohibition [PROMOTED — now the top quality lever]
*Change.* =commits.md= carries 41 prohibition markers (NEVER / DO NOT /
MANDATORY / CRITICAL) across 5,561 words. =todo-format.md= 21,
@@ -133,8 +161,11 @@ tend to be more effective than instructions about what not to do."
*Keep as prohibitions:* the AI-attribution rule and anything else where the
worst case is genuinely unacceptable. Those earn their emphasis.
-*Confidence.* Medium. Real but diffuse, and it competes with P1 for the same
-editing effort. Probably rides along with P1 rather than standing alone.
+*Promoted 2026-07-27.* Ranked low when the score was token savings. Under a
+quality-first goal this is the proposal that most directly targets guardrails
+working against good output, which is the stated concern. It still rides along
+with the Phase 4 edits rather than running as its own campaign, because every
+file it touches is a file those phases open anyway.
** P6 — Deduplicate the two always-loaded surfaces [medium value, low risk]