v4.7.0
- release: v4.7.0 — solid-memory campaign wave 1: memify derivation, domain backfill, worktree resolution, honest annotations, dead-code purge
- merge: chore/dead-types-sweep — shared/types.py removed entirely (13 dead models, per-class proof)
- chore: remove dead scaffolding types from shared/types.py
- merge: chore/remove-dead-conversationmeta — dead Pydantic model removed with proof chain
- chore(types): remove dead ConversationMeta
- merge: fix/annotations-deadcode-sources — honest annotations on recall paths, dead session_id field removed, §8 source flags
- docs(sources): honest source annotation for 3 unsourced +0.05 heat bumps + wiki lifecycle thresholds (cfd8e4c pattern)
- merge: fix/worktree-domain-resolution — linked worktrees resolve to their parent project's domain + orphan rescan (296 reattached)
- merge: fix/memory-link-fk-violation — memory-to-memory links actually written via provenance tags (swallowed FK bug)
- refactor(scanner,session_extractor): remove dead session_id/sessionId output field (Q2 finding, re-verified)
- feat(backfill): add --include-orphans rescan for INC6.2 worktree fix
- fix(domain-mapping): resolve linked worktree cwd to main repo's domain
- fix(memory): stop the silent FK violation in memory-to-memory links
- fix(handlers): correct READ_ONLY drift on recall/recall_hierarchical/drill_down (INC6.1 follow-up)
- bench: LongMemEval-S G-bench manifest on e4ff0b7 (INC6 wave 1) — MRR 0.9166 / R@10 0.982, guard passed
- merge: fix/memory-domain-backfill — attach domainless memories by internal evidence (INC6.2/I6-D3)
- merge: feat/memify-derivable-facts — wire identify_derivable_facts into memify with tag provenance (INC6.1b)
- merge: fix/tool-descriptions-drift — tool descriptions aligned with reality + anti-drift guard (INC6.1)
- feat(campaign): I6-D3 memory domain backfill — evidence-only, no fabrication
- feat(memify): wire identify_derivable_facts into the memify cycle
- fix(tools): align memory-tool descriptions/annotations with actual code (I6-D8)
- bench: LongMemEval-S non-regression manifest on 773dde0 — MRR 0.9166 / R@10 0.982
- merge: fix/session-id-canonical-alignment — checkpoints/session-log writers use the canonical transcript stem (Q2)
- fix(session-id): align checkpoint/session-log writers on canonical transcript-stem identity
- merge: perf/session-registry-memoize — memoize parent start signature, recall path 6.8ms -> 0.07ms
- perf(session-registry): memoize parent start-time signature per pid
- merge: docs/source-citation-heat-bump — honest §8 source annotation for the citation heat bump
- docs(wiki): source-flag the unsourced +0.05 citation heat bump
- style: ruff format 21 files missed by recent increments (CI Lint gate)
Full Changelog: v4.6.0...v4.7.0