Skip to content

scientific(topic): retain fitted basis identity in document-coordinate summary #667

Open

Description

@seonghobae

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

Keep #639 Draft. No Evidence/source claim, covariance transformation, LLM interpretation, force push, destructive rebase, self-approval, or gate weakening.

Refs #638 #639 #658 #663 #664 #665 #666 ADR 0012.

Activity

  1. seonghobae commented on Sep 22, 2026

    @seonghobae
    ContributorAuthor

    Source-level #667 lineage is now ordinary-forward on #639: API-absence RED f362857c62d303e9f8b49d18c2193a7e57496d53 requires FittedDocumentCoordinateSummary::topic_basis_identity() from an actual owner-issued fit → minimal repair ef3ead546f8daa0914488a9a1d93fd94d9178fe2 retains the already-validated FittedTopicBasisIdentity once at summary scope while keeping per-document coordinates normalized as local indexes → CHANGELOG currentization a8bc63ad6fc8ef5c1da2c5a2e4dbb9f924268e7a.

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions