17 — Adoption Roadmap: Day 1 / Week 1 / Month 1
Sequenced adoption plan for measured token-efficiency changes, ordered by automation, quality risk, and validation needs.
Summary
Sequenced for one operator; the governing split is automatic beats disciplined — anything that depends on remembering loses to anything that is a default. Each item names its automation vehicle (hook / skill / plugin / settings / jackin❯) or is flagged DISCIPLINE with its decay risk.
- Day 1 is configuration, not behavior: fix the double-registered hooks, pin subagent models, add two CLAUDE.md guard-lines, stop mid-session model switches. ~1 hour, no quality risk.
- Week 1 instruments before it optimizes: OTel token dashboard + the harness screening run, then effort tiering and register choice with canaries, because those two carry the quality risk.
- Month 1 moves the savings into infrastructure: context editing via SDK paths, routing flips
validated per task class, and the jackin❯ token-pack so every launched container is born
optimized — discipline converted to defaults at
launch.rs/ RoleManifest / CapsuleConfig. - Standing rule: re-audit after every Claude Code release — the fixed prefix once grew ~70k tokens in 5 days (GH #45188); platform drift dwarfs micro-optimizations.
Question and scope
Which validated techniques can be adopted immediately, which require experiments, and which remain research-only?
Method
The adoption order ranks techniques by evidence strength, reversibility, dependency, and validation cost, separating direct operating guidance from experiments and research-only ideas.
Findings
The evidence orders adoption by automation and validation risk: establish safe defaults first, measure a baseline before changing behavior, and move validated policies into infrastructure only after they pass the harness.
Implications for jackin❯
Day 1 (≈1 hour, all CLAUDE-CODE-TODAY, zero quality risk)
| Action | Vehicle | Effect (file) |
|---|---|---|
Deduplicate caveman hooks (plugin registers them; remove the manual copies in ~/.claude/settings.json) | settings | −966 tok/session-start, −118 tok/prompt (02 §3) |
Pin exploration subagents: model: haiku (or sonnet) + effort: low in agent frontmatter | agent files | fan-out ÷13 effective (10) |
Add two CLAUDE.md lines: "Prefer Edit over Write on existing files; never rewrite a file to change a few lines" and "Reference file:line instead of restating code; no post-edit summaries beyond one line" | CLAUDE.md (cached at 0.1x) | −20% visible output (09 §2–3) |
Adopt session habits: model/effort chosen before the session, not mid-way; /clear between unrelated tasks; let auto-compact work | DISCIPLINE (decays — move to jackin❯ pack in month 1) | avoided cache busts ≈ $0.43/each (10, 07) |
| If you pinned effort max: drop to high | settings | overthinking ↓, cost ↓ (09 §1, T1) |
| Verify MCP servers stay deferred (ToolSearch) and remove unused servers entirely | settings | keeps 95.8% schema cut (06, 02 §4) |
Explicitly not Day 1: register compression beyond what you already run, effort below high, any context-clearing automation — those need Week 1's instrumentation first.
Week 1 (instrument → screen → tier)
- Stand up measurement (01 §4):
CLAUDE_CODE_ENABLE_TELEMETRY=1, OTLP → any collector, panel onclaude_code.token.usagebytypeandagent.name, plusclaude_code.cost.usage. Without this, every later claim about your own savings is folklore. (Hook/infra; hours.) - Run the harness screening arm (16): n=12 tasks + 6 canaries on your current setup — this is the baseline every later change is judged against. (Script; ~an evening of wall-clock, mostly unattended.)
- Effort tiering with canaries (09 §1):
/effort mediumfor routine work, high for hard tasks; re-run canaries; record the thinking-share delta from your dashboard (closes the biggest open measurement in the dossier). DISCIPLINE until month 1 bakes per-task defaults. - Register decision (04/02): caveman-ultra ≈58.5% of visible prose at real caveat risk — keep, or swap to plain terse-instruction (09 §3) which captures most of the win with less misread risk. Decide on canary results, not vibes. Skip wenyan: no token advantage over ultra (02 §5).
- Structured-output sidecars (09 §5): any scripted extraction/classification moves to schema-constrained SDK calls — one stable schema per thread (cache pitfall).
Month 1 (SDK + infrastructure tier)
- Context editing on long-running SDK/headless flows (12/08):
clear_tool_uses_20250919withclear_at_leastsized above the re-write cost; assert viaapplied_editsand cache fields. Claude Code interactive already auto-compacts; don't double-manage. - Routing flip, validated: advisor pattern first (T1-backed, NEGATIVE-COST), then Sonnet-main + escalation per task class that passes n=30 confirmation (15 §3 — the 5–6.6x lives or dies here).
- Batch lane for nightly sweeps (audits, doc regen, triage): Batch API + caching stack (reads at 0.05x effective; 07/12).
- The jackin❯ token-pack — discipline becomes infrastructure (14 §jackin❯; Explore-mapped insertion points, this repo):
- env defaults into the container env assembly at
crates/jackin-runtime/src/runtime/launch.rs:590-717(effort tier, telemetry on, attribution header policy); [token_policy]block injackin.role.toml(RoleManifest,crates/jackin-core/src/manifest.rs) → per-role model/effort/register defaults, hooks installed via the existingruntime_setup.rssymlink pattern;CapsuleConfig(crates/jackin-protocol/src/lib.rs:25-45) →/jackin/run/agent.toml→build_agent_commandso every spawned agent gets model/effort flags without operator action;- OTLP plumbing already propagates (
launch.rs:694-723) — extend the existing traces with the token dashboard so each launched capsule reports its class-split spend. - Add the compression-hygiene linter (14): CI fails when always-loaded context (root
AGENTS.mdchain, role files) grows past a token budget — measured with the freecount_tokensendpoint in CI.
- Re-audit cadence: pin a monthly (and post-release) re-run of 02's baseline audit script — prefix size, MCP schema mass, hook payloads. Platform drift is the biggest unmanaged variable (06 §TL;DR, GH #45188).
Automatic vs disciplined — the full split
| Automatic (set once) | Vehicle |
|---|---|
| Hook dedup, MCP defer, subagent model/effort pins, CLAUDE.md guards, output register, OTel, batch lane, token-pack defaults, CI token-budget linter | settings / frontmatter / plugin / jackin❯ |
| Disciplined (decays without automation) | Decay risk → mitigation |
|---|---|
| No mid-session model/effort switches | high → jackin❯ picks per-task model at launch |
/clear between tasks; task-boundary routing | medium → orchestrator session-per-task |
| Edit-not-Write adherence | low (model follows CLAUDE.md) → keep the guard-line |
| Effort tier per task | high → role-file defaults + advisor escalation |
| Canary re-runs after each stack change | high → schedule it (cron) or it will not happen |
For jackin❯, the adoption roadmap: day 1 / week 1 / month 1 evidence identifies which mechanisms are safe to adopt directly and which still require workload-specific validation.
Limitations and unknowns
Quantitative effects are modeled from the dossier baseline and remain workload-specific. Effort and register changes require the stated canary and harness gates before becoming defaults.
Sources
| Claim | Basis |
|---|---|
| Hook duplication numbers | 02 §3 |
| Fan-out ÷13, advisor numbers, 9-turn switch break-even | 10, accessed/derived |
| Edit/restatement savings | 09 |
| Context-editing mechanics + cache trade | 12/08, platform docs |
| jackin❯ insertion points | local Explore agent code-map of this repo |
| GH #45188 prefix growth | github.com/anthropics/claude-code/issues/45188 |
| Stack multiples referenced | 15 — Composed Stacks: Conservative / Aggressive / Unbelievable arithmetic |