37 lines
895 B
Markdown
37 lines
895 B
Markdown
# RFC-0012: Deterministic Retry Controller
|
|
|
|
**Status:** Draft \| **Updated:** 2026-02-17
|
|
|
|
## Summary
|
|
|
|
Defines a bounded, deterministic retry mechanism for control-plane
|
|
policy violations and transient failures.
|
|
|
|
## Goals
|
|
|
|
- Bounded retries (no infinite loops)
|
|
- Transparent ledger recording
|
|
- Clear failure modes
|
|
|
|
## API (conceptual)
|
|
|
|
`retry_controller(run_id, max_attempts, policy) -> result`
|
|
|
|
## Reference Policy: must-delegate
|
|
|
|
- Attempt 1: run router normally
|
|
- If emit_guarded rejects with POLICY_VIOLATION_MUST_DELEGATE:
|
|
- record `policy_violation` + `retry_scheduled`
|
|
- rerun router in **strict mode** (no free-form output; must spawn
|
|
immediately)
|
|
- Attempt 2: if violation repeats:
|
|
- fail closed with deterministic error message
|
|
- record `run_failed`
|
|
|
|
## Ledger Events
|
|
|
|
- retry_scheduled
|
|
- retry_started
|
|
- retry_exhausted
|
|
- run_failed
|