You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: implement StorageRegenerator with real OctadStore backend
Replace the SummaryRegenerator dry-run stub with a real
ModalityRegenerator implementation that reads/writes actual
modality data through the OctadStore trait.
Implemented source→target transformations:
- Document → Vector: FNV-1a trigram hashing to 384-dim embedding
- Document → Semantic: keyword extraction as type annotations
- Document → Graph: keyword-based relationship edges
- Semantic → Vector: type annotation hashing to embedding
- Semantic → Document: rendered annotation body
- Graph → Document: serialized node IRI/name
- Graph → Semantic: IRI-derived type annotations
Merge strategy: weighted average for Vector, union for Semantic,
fallback to highest-weighted source for other targets.
Drift measurement: cosine similarity for Vector, Jaccard index
for Semantic, presence checks for Graph/Provenance/Temporal/Spatial.
Added 3 error variants to NormalizerError:
- MissingModality, StorageError, NoViableSource
All 68 normalizer tests pass (7 new for StorageRegenerator).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments