Skip to content

E4: Action federation #22

Description

@gnanirahulnutakki

Goal. make the only writes Sith performs be typed intents from a closed verb vocabulary — signed by the hub, re-validated independently by each spoke, executed with the spoke's own scoped identity — with gitops.open-pr as the first and safest write and no shell ever.

Phase / depends. P2 (the gitops.open-pr path) → P3 (live-mutation verbs behind full policy). Depends on: E1 (identity/tenancy), E2 (target resolution against the fleet model), E3 (Git credential + signing key custody), and E5 (every intent rides the PEP pipeline — E4 and E5 co-develop). This epic implements ADR-0004.

Features

  • F4.1 — typed intent model and closed vocabulary
  • F4.2 — per-verb arg schema validation
  • F4.3gitops.open-pr (first write)
  • F4.4 — signed intent dispatch
  • F4.5 — per-spoke local allowlist re-validation and local execution
  • F4.6 — dry-run-first execution
  • F4.7 — live-mutation verbs

Exit criteria

  • The write path accepts only closed-vocabulary verbs with registered, schema-validated handlers; the CI classification test is green.
  • gitops.open-pr flows end-to-end and opens a real PR with zero cluster credentials in the center or the AI.
  • Every dispatched intent is signed; each spoke independently verifies and re-validates against its own allowlist and executes with its own identity.
  • Dry-run precedes execution for every capable verb; live-mutation verbs are gated behind the PR proof and the full policy layer.
  • No shell, no free-form apply, no secret/RBAC mutation exists anywhere in the path.

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 T3 · T4; standards §5.2)

Enforce-at-execution is the structural fix for CVE-2026-46519 (T3). That CVE (npm mcp-server-kubernetes, CVSS 8.8) enforced read-only controls only at the tools/list discovery layer, not the tools/call execution layer — a caller who knew the tool name bypassed them. Sith's per-spoke re-validation at execution (F4.5) + fail-safe allowlist are exactly the right shape. Make it a named, tested guardrail:

  • F4.5 acceptance: each spoke independently re-validates every signed intent against its own allowlist at execution time (not just at dispatch/discovery), and executes with its own scoped identity; a caller that names a disallowed verb is refused at the spoke even if the center admitted it.

AI-SRE tools are governed clients of this path, not competitors (T4). The 2026 AI-SRE wave (HolmesGPT/Cleric/Komodor/kagent) all stop at "here's the fix" — read-only or action-gated. Sith is the governed executor they call: their advice becomes a typed-intent plan handed to this pipeline (plan → execute → verify), gated identically to a human. This is the moat the "advise" flood makes more valuable. See E7 #25 and E14 #46 (the brain emits the plan; it never executes).

Metadata

Metadata

Assignees

No one assigned

    Labels

    action-federationTyped-intent action pathepicEpic tracking issuephase-2Phase 2: first governed write

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions