AD-030: cut the propagation root — CLAUDE.md carries the canonical line - #472
Merged
Conversation
…stack The last behavioral scoring path left after the v19 demotion (AD-029), found by the post-merge verification sweep: build_negative_stack injected 0.30 Bayesian suppression priors from auto-detected anti_topics rows whose confidence is pure dismissal count (rejection_count/10) — five dismissals could auto-ban a topic to x0.30 composite authority via negative_stack_prior. Inert on the live corpus (anti_topics has 0 rows, priors byte-identical, hence NO PIPELINE_VERSION bump — precedent and probe documented in scoring/mod.rs), but structurally live. The negative stack now builds from competing-tech inference over the actual dependency graph only. Explicit topic suppression remains user-authored exclusions, which hard-filter upstream. blind_spots' duplicate anti-topic feed removed with it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016puYGGmj3oHxmcKBbJ5vXq
The promise described a mechanism AD-029 removed, was never measurable
("all risk, no demonstrated lift" — 7 explicit feedback signals against a
200k-item corpus), and post-v19 left ~100 instances of self-contradicting
copy, several asserting dead mechanisms inside Score Autopsy — live
INV-023 violations. Pre-launch (public, unadvertised) is the only cheap
moment; after launch this is a retraction.
New canonical (propagated from CLAUDE.md through every surface):
"4DA reads the internet for developers — privately, locally. Your
codebase decides what''s relevant." "Yesterday''s noise becomes tomorrow''s
signal" SURVIVES, re-attributed to corpus re-judging (verdict epochs +
re-examination) — it is true and implemented. The 92%/98% benchmark stays
as body copy with methodology. "Compound knowledge" survives only in the
framework''s dev-process sense.
- Governance first: AD-030 (with re-claim criteria: a /calibrate-measured
lift, published) + amendments to AD-017/025/026/028 — all four decisions
survive, only rationales rewrite (AD-028''s lifetime honesty now rests on
the cost structure: zero marginal cost + offline 2099 key)
- P0: in-app strings that asserted dead mechanisms rewritten or deleted
("will be penalized in relevance scoring", "Boosted because you''ve shown
interest", "scoring corrections applied", the "Learned" badge, learned
factor rows + affinity chips — the anti factor also had inverted
magnitude/multiplier semantics and rendered a false penalty on every item)
- "Compound Intelligence" tab renamed "Personal, Not Aggregate" — its
content (per-user, inspectable, local-only) was always a privacy story
- 13 locales: 45 stale keys purged per locale, regenerated from corrected
English via i18n:fill; generator scripts purged first so nothing
re-injects (apply-translations.cjs carried 12 hardcoded copies)
- Ship-locked surfaces: installer shortDescription/longDescription,
homepage JSON-LD (incl. the Offer), npm MCP README (lands on next
publish)
- Site + docs: 22 files rewritten under the house rule (present-tense
verifiable statements; improvement attributed to engine updates and the
user''s codebase, never engagement); signal.njk''s 16 compounding claims
reframed on the analysis layer; the refund-adjacent trial claim deleted;
framework §7 kept as a dev-process thesis with scoring-accuracy claims
stripped across all three mirrored copies
- New public post: site/src/writing/retiring-a-claim-we-could-not-measure
— the incident record as an engineering story, ending on the re-claim bar
- Enforcement: scripts/check-retired-claims.cjs (+9 tests) wired into
test:scripts and validate; historical-record files allowlisted;
retired-ok escape hatch for quoting the claim as history
Verified: guard clean repo-wide; translation parity 0 errors across 13
languages; tsc clean; frontend suite green; Rust 4,419 green; fmt clean.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016puYGGmj3oHxmcKBbJ5vXq
…uilt onto current main) Merges origin/worktree-promise-retirement-ad030 (PR #419) with conflicts resolved in favour of current main's newer facts: - locale ui.json files: main's structure kept; #419's 312 reworded values and 130 deleted affinity-surface keys ported per-leaf (its 752 key additions dropped — those surfaces were deleted from en by #421) - README/index.njk/signal.njk/SETUP-GUIDE/LICENSE-ACTIVATION: main's newer copy (93% figure, Precision Ledger, BYOK rationale) kept, retired phrases replaced with the canonical line - Developer DNA kept OUT of paid-feature lists (AD-025/026 tier truth) - apply-translations.cjs / missing-keys.json / BadgeRow.tsx stay deleted (deleted on main since #419's base) - CLAUDE.md + package.json deliberately untouched: claimed by live peer lanes (#466, agent-a875) — gate wiring + tagline follow in-branch once those claims release Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMarGhXjbKyNJzsm3JG1jw
- 92% -> 93% / 98% -> 98.9% / 215 -> 245-item corpus (the current measured benchmark, #460) in COMPARISON.md and the retirement post - RELEASE-NOTES-v1.0.0 tier table + closing line matched to AD-025/026 tier truth (DNA, Signal Chains, Score Autopsy are free; the paid set is Blind Spots, Knowledge Gaps, Standing Queries, Semantic Shifts, cross-project intelligence) - retirement post added to /writing index (retired-ok teaser quote) and sitemap - two Rust doc comments un-mangled; engagement_telemetry header no longer claims facets influence scoring (INV-023) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMarGhXjbKyNJzsm3JG1jw
The last 2 retired-claim violations in the repo. The tagline mandate now teaches the canonical description and points at the enforcement gate instead of restating the retired phrases. Deferred from #469 because this file was claimed by the #466 lane; that lane is merged and its worktree reaped. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMarGhXjbKyNJzsm3JG1jw
runyourempire
enabled auto-merge (squash)
August 16, 2026 11:34
runyourempire
added a commit
that referenced
this pull request
Aug 16, 2026
runyourempire
added a commit
that referenced
this pull request
Aug 16, 2026
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.
The last 2 retired-claim violations in the repo, deferred from #469 because CLAUDE.md was claimed by the #466 lane (now merged, worktree reaped). With this,
node scripts/check-retired-claims.cjsreports zero violations repo-wide. Remaining enforcement residual: wiring the gate intovalidate/test:scriptswaits on the live lane holdingpackage.json.🤖 Generated with Claude Code
https://claude.ai/code/session_01MMarGhXjbKyNJzsm3JG1jw