Skip to content

chore(v20a): finish the #474 skip — dead score-autopsy components in commands.rs, stale affinity docs - #479

Merged
runyourempire merged 1 commit into
mainfrom
chore/v20a-commands-autopsy
Aug 17, 2026
Merged

chore(v20a): finish the #474 skip — dead score-autopsy components in commands.rs, stale affinity docs#479
runyourempire merged 1 commit into
mainfrom
chore/v20a-commands-autopsy

Conversation

@runyourempire

Copy link
Copy Markdown
Collaborator

The residual this closes

The half of #474 that was skipped because src-tauri/src/commands.rs was claimed by the #471 lane (now merged). Inventory item 3 of the v20a dead-surface sweep, tracked in .claude/plans/PENDING-DECISION.md item 2.

Removed from commands.rs (all structurally dead, same proof classes as #474)

  • mcp_score_autopsy "Learned Affinity" componentbd.affinity_mult is pinned 1.0_f32 (pipeline_v2.rs:614), so (bd.affinity_mult - 1.0).abs() > 0.01 could never fire. Pinned-input class.
  • mcp_score_autopsy "Anti-Topic Penalty" componentbd.anti_penalty is pinned 0.0_f32 (pipeline_v2.rs:615), so > 0.01 could never fire. Pinned-input class.
  • matching_affinities build + "learned_affinities" emit — reads ace_ctx.topic_affinities, which the AD-029 quarantined loader returns empty; always []. Empty-map-read class. The FE render side was already removed in chore(v20a): delete the structurally-dead learned-affinity surfaces (AD-029/AD-030 arc) #474; the autopsy type has no learned_affinities field.
  • score_tuning_snapshot's feedback_interaction_count — mislabeled: its value was ace_ctx.topic_affinities.len() (always 0 via the quarantined loader), not a feedback-interaction count. The real feedback_interaction_count concept (scoring-context bootstrap detection, taste-test seeding) is untouched.

commands.rs now has zero topic_affinities references. The capture side (run_background_behavior_decayapply_behavior_decay) is deliberately untouched — that is v20b operator territory.

Also cleaned

  • src/components/ScoreAutopsy.test.tsx — stale learned_affinities fixture line (the interface field was removed in chore(v20a): delete the structurally-dead learned-affinity surfaces (AD-029/AD-030 arc) #474; the fixture carried dead data).
  • Two docs still described the retired scoring path as live (discovered while verifying consumers):
    • docs/GETTING_STARTED.md told users scores come from "Topic Affinity: Learned preferences from your interactions" and an affinity/anti-penalty formula. Replaced with the actual scoring inputs (context similarity, interests, stack/deps, freshness/quality).
    • docs/ARCHITECTURE-DETAILED.md — the PASIFA formula's Steps 5–6 (affinity multiplier, anti-topic penalty), the pipeline flow's "Apply affinity multiplier (learned behavior)" step, and the Relevance Judge diagram entry. Replaced with the v20 reality + a pointer to the PASIFA V2 DSL. Capture-side descriptions (tables, interaction writers, decay) are left as-is — they are still true and pending the operator's v20b call.

NO PIPELINE_VERSION bump

Nothing here touches scoring — only presentation surfaces (autopsy JSON, dev-time tuning snapshot) that provably emitted nothing, plus docs. Stored scores cannot differ.

Verification

  • cargo fmt clean; cargo test --lib commands:: targeted pass; clippy via pre-push gate
  • npx vitest run src/components/ScoreAutopsy.test.tsx — 5/5
  • npx tsc --noEmit clean; npx eslint clean on touched TS
  • node scripts/check-file-sizes.cjs — no new errors (commands.rs shrank 40 lines)
  • grep topic_affinities src-tauri/src/commands.rs — zero hits

🤖 Generated with Claude Code

https://claude.ai/code/session_01LBY5q2MskiKMkTm6NmB49L

…commands.rs, stale affinity docs

The half of #474 that was skipped because commands.rs was claimed by the #471
lane (now merged). All removals are the same proof classes as #474:

- mcp_score_autopsy "Learned Affinity" component: bd.affinity_mult is pinned
  1.0_f32 (pipeline_v2.rs:614) — the (mult-1.0).abs() > 0.01 guard could never
  fire. "Anti-Topic Penalty" component: bd.anti_penalty pinned 0.0_f32 — same.
- matching_affinities build + "learned_affinities" emit: reads the AD-029
  quarantined loader's always-empty topic_affinities map. The FE render side
  left in #474; the type has no such field. The stale test fixture line goes
  with it.
- score_tuning_snapshot's feedback_interaction_count: mislabeled — its value
  was topic_affinities.len() (always 0), not a feedback count. The real
  feedback_interaction_count concept (bootstrap detection, taste-test seeding)
  is untouched.

commands.rs now has zero topic_affinities references. Capture side
(run_background_behavior_decay) deliberately untouched — v20b territory.

Also: docs/GETTING_STARTED.md and docs/ARCHITECTURE-DETAILED.md still described
the affinity/anti-topic scoring path as live (scoring bullets, PASIFA formula
steps 5-6, pipeline flow, Relevance Judge diagram). Scoring-side claims
replaced with v20 reality; capture-side descriptions (tables, writers, decay)
left as-is — they are still true.

No PIPELINE_VERSION bump: only presentation surfaces that provably emitted
nothing, plus docs. Stored scores cannot differ.

Verified: cargo test --lib commands:: 142/142, clippy --lib -D warnings clean,
fmt clean; vitest ScoreAutopsy 5/5, tsc clean, eslint clean; file-sizes gate
no new errors.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LBY5q2MskiKMkTm6NmB49L
@runyourempire
runyourempire enabled auto-merge (squash) August 17, 2026 03:08
@runyourempire
runyourempire merged commit b7d4c7b into main Aug 17, 2026
14 checks passed
@runyourempire
runyourempire deleted the chore/v20a-commands-autopsy branch August 17, 2026 03:22
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