memories.sh logomemories.sh
SDK

Graph Default-On Rollout

SLOs, baseline gap-to-goal reporting, and rollout automation policy for hybrid graph retrieval.

This policy defines go/no-go criteria for moving from guarded rollout to default-on graph retrieval.

SLO Gate (Go/No-Go)

Promotion to default-on requires all of the following:

MetricTargetMinimum Sample
Shadow executions (for canary promotion)>= 4040 shadow executions
Shadow avg graph candidates>= 1.040 shadow executions
Shadow graph error rate<= 5%40 shadow executions
Hybrid request sample size>= 2020 hybrid requests
Canary-applied sample size>= 1212 canary-applied requests
Fallback rate<= 15%20 hybrid requests
Graph error fallback rate<= 5%20 hybrid requests
Expansion coverage>= 10%12 canary-applied requests

Source of truth in code:

  • /Users/tradecraft/dev/memories/packages/web/src/lib/memory-service/graph/rollout.ts

Baseline Report + Gap To Goal

Use GET /api/sdk/v1/graph/rollout and inspect data.rolloutPlan.baseline.

Automated baseline snapshots are published by the scheduled workflow:

Report content includes:

  • timestamped baseline snapshots (rolloutPlan.baseline)
  • current blocker codes (rolloutPlan.blockerCodes)
  • blocker trends across recent snapshots
  • promotion recommendation history (recommendedMode, defaultBehaviorDecision)
  • readiness regression detection

Rollout Automation Policy

rolloutPlan now emits:

  • recommendedMode (off -> shadow, then shadow -> canary when shadow gate passes)
  • defaultBehaviorDecision (hold_lexical_default or enable_hybrid_default)
  • blockerCodes
  • autopilot status (enabled, applied)

Autopilot flag:

  • GRAPH_ROLLOUT_AUTOPILOT_ENABLED=false by default
  • when enabled, GET /api/sdk/v1/graph/rollout may auto-advance mode based on the plan

Default Strategy Autopilot

Default retrieval strategy is managed by a separate policy record (graph_retrieval_policy) and evaluated on each request:

  • GRAPH_DEFAULT_STRATEGY_AUTOPILOT_ENABLED=true by default
  • promotion threshold: 2 consecutive windows where rolloutPlan.readyForDefaultOn === true
  • promotion behavior: lexical -> hybrid
  • rollback behavior: if current default is hybrid and gate regresses (readyForDefaultOn === false), revert to lexical

POST /api/sdk/v1/context/get and POST /api/sdk/v1/graph/trace now use this policy default when strategy is omitted. Both endpoints return trace metadata so clients can audit how strategy was selected:

  • retrievalPolicyDefaultStrategy
  • retrievalPolicyAppliedStrategy
  • retrievalPolicySelection
  • retrievalPolicyReadyForDefaultOn
  • retrievalPolicyBlockerCodes

Default Behavior Decision

Current decision depends on live rollout telemetry.

hold_lexical_default remains correct until rollout meets default-on SLOs (rolloutPlan.readyForDefaultOn === true).

On this page