Repository navigation
Description
Finding
#664's FittedDocumentCoordinateSummary is now minted only from owner-issued ReferenceTopicFit, and construction validates the fitted topic basis. However, the summary discards that FittedTopicBasisIdentity after validation and exposes each ALR coordinate only as {numerator_topic_index, reference_topic_index, location, variance}.
That means the fit-local uncertainty/location view still requires a consumer to interpret bare topic indexes without the owner-derived fitted basis that gives those indexes numerical meaning. This is narrower than #663's release/source-vocabulary problem: the missing binding already exists inside topic_measurement and should be retained in the fit-local owner view before Analysis projection is attempted.
Required RED
Use an actual converged ReferenceTopicFit and require FittedDocumentCoordinateSummary::topic_basis_identity() to equal FittedTopicBasisIdentity::from_bound_fit(&fit). Verify that every coordinate index resolves into that retained basis and that the reference index resolves to the same fitted reference topic for every document row.
Hostile/malformed-state tests must continue to reject invalid basis rows, invalid ALR locations, dimension mismatches, and non-positive/non-finite variances.
Minimal repair
Store the validated FittedTopicBasisIdentity once at summary scope and expose it read-only. Keep per-coordinate storage normalized as local indexes + one immutable summary-level basis rather than copying SHA-256 strings into every document coordinate. No topic reordering or semantic naming.
Boundary
- scientific(topic): bind reference fit results to the admitted estimator input #665/scientific(topic): bind fitted topic-basis identity to owner-issued reference fit #666 own fit/input/model and public basis-authority integrity.
- This issue owns fit-local coordinate-summary ↔ fitted-basis binding.
- release(topic): bind topic-index coordinates to the fitted topic basis #663 still owns release-level topic coordinate binding.
- release(provenance): bind topic-lineage input to owner-issued source snapshot evidence #658/feat(evidence): own immutable source snapshot receipts #527 still own source/vocabulary provenance, so this fit-local basis remains non-authoritative outside that owner boundary.
Keep #639 Draft. No Evidence/source claim, covariance transformation, LLM interpretation, force push, destructive rebase, self-approval, or gate weakening.
Activity
test(topic): bind document coordinates to fitted basis (#667)
fix(topic): retain fitted basis in coordinate summary (#667)
docs(changelog): bind fitted coordinates to topic basis (#667)
seonghobae commentedon Sep 22, 2026
Source-level #667 lineage is now ordinary-forward on #639: API-absence RED
f362857c62d303e9f8b49d18c2193a7e57496d53requiresFittedDocumentCoordinateSummary::topic_basis_identity()from an actual owner-issued fit → minimal repairef3ead546f8daa0914488a9a1d93fd94d9178fe2retains the already-validatedFittedTopicBasisIdentityonce at summary scope while keeping per-document coordinates normalized as local indexes → CHANGELOG currentizationa8bc63ad6fc8ef5c1da2c5a2e4dbb9f924268e7a.The public contract now lets each numerator/reference index resolve through one immutable fit-local basis without copying hashes into every coordinate row. No release wire, topic ordering, covariance, semantic label, or Evidence/source claim changed. #663/#658/#527 remain the release/provenance path. Hosted exact-head checks for this head are not yet acceptance evidence.