# Horizon RunMap - architecture

Scope: the compact-expert paths and the documented immutable-cache contract, as described on 2026-09-16. [Public technical source map](/evidence/releases/technical-preview-residency39-v3/horizon-technical-notes.md). That source map identifies private repository anchors; it does not distribute runtime code.

## Representation and computation

| Dimension | Declared meaning |
| --- | --- |
| Routed expert source | INT4 qpacked; 256-value blocks and FP16 scales in the selected performance campaign |
| GPU expert representation | Compact qpacked weights on the W4A16 paths |
| Activation precision | FP16 activations; original checkpoint dtype remains a separate fact |
| Non-routed path | Checkpoint BF16 values materialized as FP16 in measured paths |
| Persistent full expert expansion | No persistent expanded FP16/BF16 expert cache in this contract; temporary kernel values and workspaces are separate |
| Accumulation | Executor-specific; UNKNOWN where not declared by a public experiment |
| CPU role | Host authority, staging and coordination in the immutable-cache contract; CPU utilization is a separate measurement |

Selective compression applies to routed experts. It is not whole-model INT4 quantization. Dequantization inside computation does not recover information lost during quantization.

## Immutable authority and miss lifecycle

The `resident-qpacked-cache-v1` contract defines a complete process-owned, page-touched host source before request admission. Identity, inventory, offsets and layout become immutable; the preparation artifact reader is closed. The complete RAM source remains available even when all expert copies fit on the GPU.

1. A request captures a complete cache generation and acquires its routed expert group.
2. An all-hit group reads existing compact GPU copies.
3. A miss reserves bounded pinned staging and unpublished GPU spare rows.
4. Transport runs from immutable pageable RAM to pinned staging to GPU. Staging is reused after its transfer completion event retires.
5. Transfer completion precedes atomic publication of the complete routed group as a new generation.
6. Prior-generation consumers retain their leases. Victim storage becomes reusable only after those consumers retire.
7. Eviction discards GPU copies. It neither returns expert weights to RAM nor rewrites the source.

The first contract serializes miss transactions. Capacity is fixed before admission, and insufficient staging/spares fail startup. Before publication, a failed transaction leaves the old generation authoritative; ambiguous failure after publication faults the cache. These publication/lifetime guarantees are contract properties, not measurements of universal overlap or concurrency performance.

## Regimes and executor boundaries

Partial and full residency are regimes within the compact-expert design. They do not imply identical kernels in each recorded experiment.

| Recorded path | Resident experts per routed layer | Executor |
| --- | --- | --- |
| OLMoE 0924 and 0125 partial | 30, 40, 50, 60 of 64 | PRODUCT-core scalar |
| OLMoE 0924 and 0125 full | 64 of 64 | Grouped T3 |
| Qwen selected partial configurations | 20, 30, 39 of 60 | top4-fused-v1 |

An expert being resident does not mean it is routed for the current token. Physical staging/spare allocations do not count as published residency. OLMoE c60-to-c64 changes both residency and executor; no isolated causal residency effect follows from that transition.

## Historical contracts remain distinct

`offload-qpacked` dequantizes a low-bit source into bounded FP16/BF16 execution slots. The older direct-INT4 mutable-tier mechanism used a different ownership and writeback lifecycle. Neither is renamed to the immutable cache. ADR 0009's original authorization was a default-off Qwen P0 slice; later OLMoE measurements have their own source and experimental authority. A diagram of the cache contract does not prove that every historical executor implements it.

## Observation boundaries

The cache contract requires directly observed zero expert D2H, writeback, host rewrite, request SHA work and request source reads. These are required invariants, not zero values invented for an uninstrumented run. Missing observations remain UNKNOWN; unavailable platform or dependency capabilities remain UNSUPPORTED. See [Evidence](/evidence.md) for what each public release actually verifies and [machine-readable architecture](/architecture.json) for a compact representation.
