Prompt & Configuration Registry  ·  View 12 of 21  ·  Runtime

Resolution Path

The registry is not on this diagram, because it is not on this path.

Editable source SVG draw.io All views
AI feature service Resolver SDK Resident bundle Assignment fn Model provider Exposure buffer 1. resolve(key, context) 2. read bundle (in-process) 3. rules + variants 4. match targeting rule 5. hash(unit, salt) 6. variant B 7. config + digest + rule id 8. inference on pinned model 9. completion 10. exposure (once per window) 11. record digest on the response 12. bundle unverified → safe default Resolution Path — What Happens Inside One Request No message leaves the process before the answer is decided. The registry is not on this diagram because it is not on this path. v 1.0 · owner Platform Architecture · d 2026-09

What the absence proves

  • No message leaves the process before the answer is decided. That is the whole of ADR-01 expressed as a sequence: p99 ≤ 3 ms is a consequence of the shape, not of tuning.
  • The only outbound message is the exposure, and it is asynchronous, buffered and droppable — it can be lost without the answer changing.
  • The error path returns the declared safe default rather than an exception. A configuration system that can throw is a configuration system that can take down a feature.

Assumptions

  • Resolution p50 ≤ 0.2 ms, p99 ≤ 3 ms from the resident bundle (stated assumption). At 40,000 resolutions/second per region this is what keeps the registry invisible in the caller's latency budget.
  • Exposure is emitted at most once per unit per decision window, not once per resolution — otherwise a chat turn loop multiplies the event volume by the conversation length.

Risks

  • Targeting rules are evaluated over a context the caller assembles. A rule referencing an attribute the caller does not populate silently falls through to the default, which looks like correct behaviour.
  • The pinned model may be deprecated by the provider while a digest is still serving. That surfaces as a provider error, not as a registry error, and the attribution has to be made explicit in the SDK's error taxonomy.