The one remaining slice of ADR-134 (Accepted). Its design is adopted and the rest of the empirical-tuning loop shipped; this is Decision 4's embed_threshold apply, deliberately deferred because it is data-gated.
Why it's deferred (not just unbuilt)
tune-precision (#10, PR #119) flags mis-targeted ways and recommends "raise embed_threshold" — but only as a direction, with no principled magnitude. Computing the right threshold requires the scores of the fires that occurred, which way_fired did not log.
The fire-score telemetry that makes a principled derivation possible shipped (#11a, PR #120): fire_score is now logged on first-fires. But it is near-empty today — the apply cannot be derived or validated over an empty population. This is the same sequencing as token_position → tune-curves: land the telemetry, let it accumulate, then build the consumer.
Gate condition (when to pick this up)
Enough organic fire_score events have accumulated to characterize a mis-targeted way's firing-score distribution. Check:
grep '"fire_score"' ~/.claude/stats/events.jsonl | wc -l # need a meaningful population
ways tune-precision # confirm mis-targeted ways still exist
(As of 2026-06-12, fire-score logging had just started — only this session's self-test fires exist.)
What to build
A gated embed_threshold apply, joining fire_score (placement scores) with tune-precision's off-class classification:
- For a mis-targeted way, find the smallest
embed_threshold that would have excluded its off-class fires while keeping its on-class fires (a per-way recall/precision tradeoff over the observed score distribution).
- Report the suggestion with the sample size it derives from (ADR-134 Negative: don't codify one user's work distribution).
--apply rewrites the embed_threshold: in way frontmatter as a reviewable, revertible git diff.
Hard rules (ADR-134 Decision 4 + Negative)
- Never auto-apply vocabulary changes — they reshape the embedding neighborhood and stay authorial.
- Only
embed_threshold. The half_life apply already ships in ways tune-curves --apply — do not rebuild it.
- Cross-cutting ways (high
spread in tune-precision) must never be auto-narrowed; the apply should refuse or skip them.
References
Tracked as task #11b in this session's plan. Resume per the github way: branch → PR → code-reviewer → merge.
The one remaining slice of ADR-134 (Accepted). Its design is adopted and the rest of the empirical-tuning loop shipped; this is Decision 4's
embed_thresholdapply, deliberately deferred because it is data-gated.Why it's deferred (not just unbuilt)
tune-precision(#10, PR #119) flags mis-targeted ways and recommends "raiseembed_threshold" — but only as a direction, with no principled magnitude. Computing the right threshold requires the scores of the fires that occurred, whichway_fireddid not log.The fire-score telemetry that makes a principled derivation possible shipped (#11a, PR #120):
fire_scoreis now logged on first-fires. But it is near-empty today — the apply cannot be derived or validated over an empty population. This is the same sequencing astoken_position→tune-curves: land the telemetry, let it accumulate, then build the consumer.Gate condition (when to pick this up)
Enough organic
fire_scoreevents have accumulated to characterize a mis-targeted way's firing-score distribution. Check:(As of 2026-06-12, fire-score logging had just started — only this session's self-test fires exist.)
What to build
A gated
embed_thresholdapply, joiningfire_score(placement scores) withtune-precision's off-class classification:embed_thresholdthat would have excluded its off-class fires while keeping its on-class fires (a per-way recall/precision tradeoff over the observed score distribution).--applyrewrites theembed_threshold:in way frontmatter as a reviewable, revertible git diff.Hard rules (ADR-134 Decision 4 + Negative)
embed_threshold. Thehalf_lifeapply already ships inways tune-curves --apply— do not rebuild it.spreadintune-precision) must never be auto-narrowed; the apply should refuse or skip them.References
docs/architecture/system/ADR-134-empirical-auto-tuning-from-fire-and-near-miss-telemetry.md, esp. the 2026-06-12 "Implementation status" section.tools/ways-cli/src/cmd/tune_precision.rs(PR feat(tune): ways tune-precision — relevance audit (ADR-134 C / #10) #119) — produces the off-class classification this consumes.fire_scoreonway_fired(show::way_scored).tune_precision.rs(or a sibling apply path) +frontmatter.rs(theembed_thresholdwriter).Tracked as task #11b in this session's plan. Resume per the github way: branch → PR → code-reviewer → merge.