Skip to content

Build realtime-decision example (L3 Flow C) #5

Description

@Faux16

Context

The examples README lists this as coming:

realtime-decision/ — Vendor calls back to the plane synchronously for a high-stakes action (L3)

This is the missing L3 worked example — Flow C, synchronous decision callback.

Goal

A self-contained example under examples/realtime-decision/ that demonstrates Flow C end-to-end:

  1. Vendor intercepts a high-stakes action mid-flight.
  2. Vendor sends a signed DecisionRequest to the plane and waits.
  3. Plane receives the request, evaluates against its policy, returns a signed DecisionResponse (allow / deny / allow-with-conditions).
  4. Vendor verifies the response, acts on the decision, emits a signed event recording both the action and the decision id.

Acceptance

  • make demo walks through with narration, leaves signed artifacts in output/.
  • Timeout case shown clearly — the demo includes one slow-plane variant where the vendor falls back per its configured policy (fail-open vs. fail-closed clearly labeled).
  • Smoke test asserts the vendor event includes the decision id and that decision response is byte-identical when verified by either side.
  • README states: L3 — full real-time decision flow exercised.

Scope

  • Uses Flow C SDK helpers (depends on those landing in sdk-python).
  • Built on the HTTP scaffolds.
  • Decision policy reuses Phase β evaluator on the plane side.

Why this matters

L3 is the most operationally complex flow and the one with the highest latency-sensitivity. A runnable example with explicit timeout/fallback handling is the difference between "AGP supports L3" and "operators can confidently ship L3 in production."

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:needs-triageNewly opened, not yet assessed by a maintainertype:featureAdditive change — new functionality

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions