Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a0230c-b06c-7641-808a-e191b6d1da49
2.4 KiB
2.4 KiB
ADR-0002: Consume repository classification as a projection
Status: Accepted
Date: 2026-08-22
Workplan: HUB-WP-0006-T01
Upstream contract: RMGR-CONTRACT-CLASSIFICATION-0001 version 1.0
Context
State Hub's legacy topic spine mixes mutable topic rows with repository
classification and navigation. State Hub retirement slice A5 replaces that
model. Repo Manager now validates each repository-authoritative
.repo-classification.yaml and publishes the validated classification in its
repository projection.
Hub-core owns cross-domain projection and navigation, but it must not turn the projection into a second classification authority or recreate a mutable topic table.
Decision
- Repo Manager's classification contract version 1.0 is accepted without a schema gap. Repo Manager owns validation and publication; the repository file remains authoritative.
- Hub-core consumes only validated Repo Manager projections through a
versioned
port.repoboundary. It does not read, validate, infer, coerce, or write.repo-classification.yamldirectly. - Hub-core may aggregate repositories by primary domain, secondary domain, category, capability tag, business stake, and business mechanic for navigation and hub composition. Every derived view carries Repo Manager source identity, repository revision, contract version, and rebuild time.
- A legacy State Hub topic identifier may be retained as a compatibility alias during A5 cutover. It is not a new authority and must have an expiry or residual owner.
- Invalid or unsupported projection versions fail closed and remain visible as diagnostics. Hub-core does not silently reinterpret them.
- State Hub owns the A5 consumer-route switch and rollback flag under
STATE-WP-0079. Hub-core owns the receiving projection/query and navigation surface; Repo Manager owns the input contract.
Consequences
- Topic navigation becomes rebuildable from repository authority rather than
copied from the State Hub
topicstable. - Repository classification changes continue through governed Repo Manager mutation and repository review, never a hub-core write endpoint.
- Hub-core needs an explicit Repo Manager client, projection schema, query/MCP surface, provenance checks, and unavailable/version-mismatch behavior before A5 can switch.
- Contract evolution is negotiated by version; a canon vocabulary change is not inferred from observed data.