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
{{ message }}
Repository navigation
scientific(topic): bind fitted topic-basis identity to owner-issued reference fit #666
#663 added FittedTopicBasisIdentity, but its public constructor still accepts an arbitrary &ReferenceTopicModel plus a caller-supplied vocabulary width. ReferenceTopicModel is intentionally inspectable/mutable in tests, so a downstream caller can manufacture a fit-local basis identity from a detached or hand-mutated model that was not minted together with the admitted estimator input/configuration.
#665 now provides the correct owner-issued nominal aggregate, ReferenceTopicFit, which can only be created by executing the CPU reference estimator over the retained ReferenceTopicInput and ReferenceTopicModelConfig. The fitted-topic basis public boundary should consume that aggregate rather than a detached model/width pair.
This is not Evidence/source provenance (#658) and does not authorize release projection by itself. It is a numerical-owner authority repair required before #663 can claim owner-issued topic coordinates.
Required RED
Use an actual converged ReferenceTopicFit and require a public FittedTopicBasisIdentity::from_bound_fit(&fit) path. The existing detached from_model(model, vocabulary_size) path must cease to be public API; malformed/model-only tests may remain inside the owner module as private validation tests.
Positive acceptance:
repeated projection from the same owner-issued fit is bit/digest deterministic;
topic row identities remain content-bound and the enclosing basis remains order-sensitive;
the vocabulary width comes from the retained admitted input, not a caller integer.
Negative/authority acceptance:
no public constructor accepts a detached ReferenceTopicModel + vocabulary width;
malformed and duplicate fitted-topic rows still fail closed inside owner tests;
no topic reordering, semantic naming, LLM interpretation, source/vocabulary provenance claim, or covariance transformation is introduced.
Source-level #666 lineage is now ordinary-forward on #639: API-absence RED 0cee03261b6672bab84cf7cf5014ca308b98aa30 → public ReferenceTopicFit authority + crate-private detached validator 62d80186c2b5da404171ba64ac504d6a3b95a63d → integration consumer moved to from_bound_fit and detached hostile cases kept owner-internal 5984ac0959886558ee6b2966cda2d87b3dd664ee → CHANGELOG currentization 40004fe38d39996cc404d3177bce40829498b6b7.
The public basis constructor now derives vocabulary width from the admitted input retained inside ReferenceTopicFit; no public ReferenceTopicModel + usize constructor remains. Per-topic content identity and order-sensitive basis identity are unchanged. This is still fit-local numerical integrity only; #658/#527 remains the source/vocabulary provenance prerequisite before #663 can project durable release topic coordinates.
Exact-head hosted runs for 40004fe... are queued, so this comment does not claim hosted GREEN, coverage, review, Ready, or merge.
Activity
test(topic): require owner-issued topic basis identity (#666)
fix(topic): bind basis identity to owner-issued fit (#666)
test(topic): consume bound basis identity contract (#666)
docs(changelog): record owner-issued basis authority (#666)
seonghobae commentedon Sep 22, 2026
Source-level #666 lineage is now ordinary-forward on #639: API-absence RED
0cee03261b6672bab84cf7cf5014ca308b98aa30→ publicReferenceTopicFitauthority + crate-private detached validator62d80186c2b5da404171ba64ac504d6a3b95a63d→ integration consumer moved tofrom_bound_fitand detached hostile cases kept owner-internal5984ac0959886558ee6b2966cda2d87b3dd664ee→ CHANGELOG currentization40004fe38d39996cc404d3177bce40829498b6b7.The public basis constructor now derives vocabulary width from the admitted input retained inside
ReferenceTopicFit; no publicReferenceTopicModel + usizeconstructor remains. Per-topic content identity and order-sensitive basis identity are unchanged. This is still fit-local numerical integrity only; #658/#527 remains the source/vocabulary provenance prerequisite before #663 can project durable release topic coordinates.Exact-head hosted runs for
40004fe...are queued, so this comment does not claim hosted GREEN, coverage, review, Ready, or merge.