Expand description
Startup context (Wave 14C): the deterministic Atlas + Surface fusion handed to agents at session start, plus the task delta (Wave 14E) that renders only new relevant APIs against the context ledger.
Prompt-cache stability: the artifact hash is a pure function of
(epoch, renderer_version, trust_policy, budget) — no timestamps — so
the same epoch + config always yields byte-identical startup text.
Structs§
- Global
Rank Cache - Global-rank cache (Wave 15.2, per-ModelEpoch rank caching): the
expensive, epoch-stable parts of a global Surface build —
SystemRanker::new(heterogeneous node graph + adjacency + rarity), the 50-iteration global PageRank vector, and the projection to symbol scores — serialized to the store cache so consecutive startups in the same model epoch skip the rank build entirely. - Startup
Context - The startup artifact: atlas + surface + coverage + omissions, with the
deterministic artifact hash.
surface_renderis the SAME render the artifact printed — ledger recording derives visible ids from it, so the surface is never computed twice per startup.
Constants§
- RENDERER_
VERSION - Renderer version: part of the artifact hash. Bump when the startup renderer’s output format changes (invalidates prompt-cache keys).
Functions§
- allocate_
startup_ budget - THE one startup-budget allocator (transport parity): every transport
that builds a startup artifact — CLI
context startup, MCPsystem_context, HTTP, Hermes, the SDKs, the Claude SessionStart / PreCompact hooks, and the benchmark harness — resolves its budget through this function and never derives an Atlas:Surface split itself. - build_
startup - Build the deterministic startup artifact: the existing System Atlas
content (capped at
budget.atlas) fused with the budget-selected System Surface Map (the productionselect_and_render_globalpipeline), coverage warnings, and honest omissions. The surface’s omitted ids populate the OMISSIONS section; the ledger records ONLY rendered ids. - load_
global_ rank_ cache - load_
global_ rank_ cache_ with_ pipeline - Load the per-ModelEpoch global rank cache from the store cache
(key
rank:global:<hash>over epoch + policy + salt).Noneon any miss/error — never panics, never fabricates. The entry is validated against the current epoch/policy/salt (belt-and-suspenders: the key already pins them). Pipeline-aware variant (spec §58):pipelineis the ranking-pipeline hash (e.g. the engine plugin cache-key fragment). “” preserves the legacy key exactly — no-plugin callers see byte-identical keys. Supersedes impl.scc.startup.rank-cache-load (same body + pipeline). - render_
startup - The spec’s startup block format. Pure function of the context struct, so
build_startup(..).artifact.text == render_startup(&startup)always. - store_
global_ rank_ cache - store_
global_ rank_ cache_ with_ pipeline - Persist the per-ModelEpoch global rank cache (best-effort: cache failures never fail the caller).
- task_
delta_ with_ ids task_deltaplus the ids it rendered (for ledger recording). Routed through the one authoritativebuild_surfaceservice in Task mode; never re-dumps the Atlas — the custom task/PPR selection implementation was deleted,build_surfaceis the only ranking pipeline.semanticis the caller-resolved scorer — transport parity: every transport with inference enabled passes the SAME scorer it passed to the task pack (interface choice must not change ranking quality).Noneredistributes the 10% share explicitly.- task_
surface - Task-personalized surface map (full map, no novelty filter — this is a
map, not a delta): entries re-ranked by task PPR + importance via the
one authoritative
build_surfaceservice in Task mode. - task_
surface_ with_ ids task_surfaceplus the rendered entry ids (for ledger recording).semanticis the caller-resolved scorer — transport parity, same rule astask_delta_with_ids.- trust_
policy_ str - visible_
ids_ from_ startup - The kind-scoped id sets shown by the startup artifact (for ledger
recording):
(symbols, files, components, flows). The surface side records ONLY the render result’srendered_ids— budget-omitted candidates are never marked visible (audit fix: the ledger must describe what the agent actually saw). Consumes the ALREADY-PRODUCED render (startup.surface_render) — the surface is built exactly once per startup; this function never rebuilds it.