# Canonical router card The canonical router is the model-independent selector. Given a structured query, it ranks current P entries and rejects state that belongs to the wrong entity, relation, time, or validity status. ## Artifact `canonical-p-v1.router` ## Metadata | Field | Value | |---|---| | Format | `pcm-canonical-router-v1` | | Architecture | `canonical_factor_router_v1` | | Canonical protocol | `pcm-canonical-p-v1` | | Entity width | 128 | | Relation count | 3 | | Metadata count | 4 | | Model hidden dimensions | 0 | | Learned scalar parameters | 5 | | File SHA-256 | `29e0728c12f8806c48998579aedcfa389fa398f909098e162710eb2a5709834e` | | Tensor SHA-256 | `5434b21de18a0f66cd4506c057989d18796fad84c55725e33e04688fbc7650bc` | ## Routing semantics The router consumes a canonical query and a canonical slot index. It scores tokenizer-independent entity similarity, relation agreement, metadata agreement, and current-state status. Invalidated and stale slots are masked. A calibrated acceptance threshold rejects wrong-entity, wrong-relation, historical, invalidated, and irrelevant candidates before translation. The router does not consume Pythia hidden states. Model hidden states are converted to canonical query fields before routing. The same router and canonical byte-derived query were used unchanged in the bounded Gemma4 Q8 llama.cpp proof. That proof supplied the canonical query externally because the public runtime path did not expose Gemma hidden states. It therefore validates router reuse but not a Gemma query projector. ## Post-audit scaling The router chose the correct entry first on every controlled query through 1,024 slots. This fixed the earlier decline without hiding errors by increasing top-k. The result does not remove the separate linear index-hydration cost. | Slots | Top-1 | Top-4 recall | MRR | |---:|---:|---:|---:| | 4 | 100% | 100% | 1.0 | | 20 | 100% | 100% | 1.0 | | 64 | 100% | 100% | 1.0 | | 128 | 100% | 100% | 1.0 | | 256 | 100% | 100% | 1.0 | | 512 | 100% | 100% | 1.0 | | 1,024 | 100% | 100% | 1.0 | These are post-audit router measurements after canonical merge was constrained by entity and relation identity. The immutable pre-fix phase artifact remains 100% at 128, 95% at 256, and 85% at 512. ## Performance Rank latency remained below 0.7 ms through 1,024 slots in the audit. Index hydration is separate and measured 30.12 ms at 128 slots and 233.00 ms at 1,024 slots. ## Limitations The current implementation rebuilds byte-derived entity anchors for every slot during each wrapper call. The router uses a linear score over configured slots. The scaling benchmark is controlled and does not establish universal entity disambiguation in open-domain text.