Skip to content

AD-030: cut the propagation root — CLAUDE.md carries the canonical line - #472

Merged
runyourempire merged 7 commits into
mainfrom
worktree-ad030-promise-retirement-v2
Aug 16, 2026
Merged

AD-030: cut the propagation root — CLAUDE.md carries the canonical line#472
runyourempire merged 7 commits into
mainfrom
worktree-ad030-promise-retirement-v2

Conversation

@runyourempire

Copy link
Copy Markdown
Collaborator

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.cjs reports zero violations repo-wide. Remaining enforcement residual: wiring the gate into validate/test:scripts waits on the live lane holding package.json.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MMarGhXjbKyNJzsm3JG1jw

runyourempire and others added 7 commits August 12, 2026 03:46
…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
runyourempire enabled auto-merge (squash) August 16, 2026 11:34
@runyourempire
runyourempire merged commit 556ec36 into main Aug 16, 2026
10 checks passed
@runyourempire
runyourempire deleted the worktree-ad030-promise-retirement-v2 branch August 16, 2026 11:34
runyourempire added a commit that referenced this pull request Aug 16, 2026
Bring the branch onto current main (690ced1) so CI validates the real merge
result rather than a base seven commits old. No conflicts; #465, #466, #467,
#469, #472 and #473 landed in the meantime.
runyourempire added a commit that referenced this pull request Aug 16, 2026
Bring the branch onto current main (690ced1) so CI validates the real merge
result rather than a base seven commits old. No conflicts; #465, #466, #467,
#469, #472 and #473 landed in the meantime.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant