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:
| Metric | Target | Minimum Sample |
|---|---|---|
| Shadow executions (for canary promotion) | >= 40 | 40 shadow executions |
| Shadow avg graph candidates | >= 1.0 | 40 shadow executions |
| Shadow graph error rate | <= 5% | 40 shadow executions |
| Hybrid request sample size | >= 20 | 20 hybrid requests |
| Canary-applied sample size | >= 12 | 12 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:
- Workflow: Graph Rollout Baseline Report
- Latest markdown report: reports/graph-rollout/latest.md
- Latest JSON report: reports/graph-rollout/latest.json
- Historical snapshots: reports/graph-rollout/history.json
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, thenshadow -> canarywhen shadow gate passes)defaultBehaviorDecision(hold_lexical_defaultorenable_hybrid_default)blockerCodesautopilotstatus (enabled,applied)
Autopilot flag:
GRAPH_ROLLOUT_AUTOPILOT_ENABLED=falseby default- when enabled,
GET /api/sdk/v1/graph/rolloutmay 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=trueby default- promotion threshold:
2consecutive windows whererolloutPlan.readyForDefaultOn === true - promotion behavior:
lexical -> hybrid - rollback behavior: if current default is
hybridand gate regresses (readyForDefaultOn === false), revert tolexical
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:
retrievalPolicyDefaultStrategyretrievalPolicyAppliedStrategyretrievalPolicySelectionretrievalPolicyReadyForDefaultOnretrievalPolicyBlockerCodes
Default Behavior Decision
Current decision depends on live rollout telemetry.
hold_lexical_default remains correct until rollout meets default-on SLOs (rolloutPlan.readyForDefaultOn === true).