Goal. govern the fan-out of a single intent to N clusters — one ordered enforcement pipeline, Ardur as the policy decision point and identity broker, environment gates and multi-approver flows, wave/canary ordering with a gate per wave, partial-failure and auto-rollback, idempotency, and honest abstention when the fleet view is incomplete.
Phase / depends. P1 (the policy-hook seam and pipeline shape, allowing reads) → P2 (Ardur PDP + identity broker on the first write) → P3 (the full fan-out reasoning). Depends on: E1 (identity), E2 (fleet model and staleness), and co-develops with E4 (every intent rides this pipeline). This is the genuinely novel, hard part of Sith and implements ADR-0004/ADR-0005.
Capabilities: policy federation — waves / canary / environment gates / multi-approver / abstention.
Features
Tracked issues
Exit criteria
- Every intent, UI or MCP, passes one ordered PEP pipeline with no privileged path; the policy seam exists from P1.
- Ardur returns real allow/deny/require-approval verdicts, records reasons, and mints per-action scoped identities below the human ceiling.
- Prod never auto-acts; multi-cluster prod needs multiple distinct approvers; a max-clusters ceiling holds.
- A wave-ordered fan-out runs with a gate per wave and inter-wave health checks; a mid-rollout failure stops and auto-rolls-back that wave; retries dedupe.
- A stale targeted set produces a correct, logged abstention; approvals are arg-hash-bound and single-use.
Source: docs/EPICS.md, docs/SITH-NOTION.md · part of the Sith implementation backlog (see the master roadmap issue).
2026-07 research addendum (market research T4; standards §5.2)
MCP Elicitation is the native approval hook (standards §5.2). As of 2026-07-17, the latest published MCP specification is 2025-06-18. It introduced Elicitation (elicitation/create) as the standard server-initiated structured user-input primitive and explicitly requires that servers MUST NOT request sensitive information through elicitation. This is the correct published basis for Sith's per-action approval gates (F5.9, arg-hash-bound, single-use). Every governed intent — human or agent — passes the same PEP pipeline; the approval is elicited, never a header or a client-side flag.
Primary source: https://modelcontextprotocol.io/specification/2025-06-18/client/elicitation
Abstention as a first-class governance output (F5.8). When the fleet view is incomplete/stale, a fleet-wide intent abstains with an honest message rather than acting on partial coverage — the same trust posture as the Investigation Brain's coverage-gate abstention (E14 #46), applied to the write path.
Goal. govern the fan-out of a single intent to N clusters — one ordered enforcement pipeline, Ardur as the policy decision point and identity broker, environment gates and multi-approver flows, wave/canary ordering with a gate per wave, partial-failure and auto-rollback, idempotency, and honest abstention when the fleet view is incomplete.
Phase / depends. P1 (the policy-hook seam and pipeline shape, allowing reads) → P2 (Ardur PDP + identity broker on the first write) → P3 (the full fan-out reasoning). Depends on: E1 (identity), E2 (fleet model and staleness), and co-develops with E4 (every intent rides this pipeline). This is the genuinely novel, hard part of Sith and implements ADR-0004/ADR-0005.
Capabilities: policy federation — waves / canary / environment gates / multi-approver / abstention.
Features
Tracked issues
Exit criteria
Source:
docs/EPICS.md,docs/SITH-NOTION.md· part of the Sith implementation backlog (see the master roadmap issue).2026-07 research addendum (market research T4; standards §5.2)
MCP Elicitation is the native approval hook (standards §5.2). As of 2026-07-17, the latest published MCP specification is 2025-06-18. It introduced Elicitation (
elicitation/create) as the standard server-initiated structured user-input primitive and explicitly requires that servers MUST NOT request sensitive information through elicitation. This is the correct published basis for Sith's per-action approval gates (F5.9, arg-hash-bound, single-use). Every governed intent — human or agent — passes the same PEP pipeline; the approval is elicited, never a header or a client-side flag.Primary source: https://modelcontextprotocol.io/specification/2025-06-18/client/elicitation
Abstention as a first-class governance output (F5.8). When the fleet view is incomplete/stale, a fleet-wide intent abstains with an honest message rather than acting on partial coverage — the same trust posture as the Investigation Brain's coverage-gate abstention (E14 #46), applied to the write path.