Skip to content

ADR-0025 grilled and locked (Accepted); Phase 6 planned, four issues filed - #89

Merged
Nabzx merged 1 commit into
mainfrom
grill/salus-adr-0025-phase6
Sep 5, 2026
Merged

Nabzx merged 1 commit into
mainfrom
grill/salus-adr-0025-phase6

Conversation

@Nabzx

@Nabzx Nabzx commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Grills ADR-0025's four open questions with the maintainer, locking it to Accepted, and scopes the resulting work into a new Phase 6 in ROADMAP.md with four sequenced issues filed.

Answers

  1. ADR-0009's "a human is always the actual gate" stays absolute. Auto-decide is a new, separate, opt-in layer - every existing detector and any non-opted-in action-type is untouched. Handles both directions (confident allow, confident block-with-reason), always fully audited (actor_role="policy"), never a silent default when the policy has no confident answer.
  2. Policy engine: AWS Cedar - formally-verified authorization semantics, official Python bindings, purpose-built for authorization (default-deny, forbid-wins), the same engine AWS shipped inside Bedrock AgentCore Policy for this exact use case. Lives in ephor.policy, in core - free and local, not gated the way ClaudeCritic is.
  3. The proxy is real v1 scope, not deferred - at least one working integration ships in this wave.
  4. Positioning: "the open-source, self-hostable, provably-exactly-once alternative to Salus" - a claim to more provable rigor (openness, chaos-tested exactly-once, a scored security benchmark, formally-verified policy semantics), not a claim to more maturity or integrations than a funded team with real customers.

Phase 6, sequenced

README's own positioning is untouched - it updates once Phase 6 ships something to back it, not before.

No code changes - docs/adr/0025-toward-open-source-salus.md, docs/adr/README.md, ROADMAP.md only.

…filed

Four decisions locked: (1) ADR-0009's 'a human is always the actual gate'
stays absolute - auto-decide is a new, separate, opt-in layer, never the
default, handling both directions (confident allow, confident
block-with-reason), fully audited either way. (2) Policy engine: AWS
Cedar - formally-verified semantics, official Python bindings, no
external binary, purpose-built for authorization; lives in ephor.policy,
in core, since it's free/local unlike the paid-vendor line ADR-0023 drew
around ClaudeCritic. (3) The proxy is real v1 scope, not deferred - at
least one working integration ships in this wave. (4) Positioning: 'the
open-source, self-hostable, provably-exactly-once alternative to Salus' -
a claim to more provable rigor on specific axes (openness, chaos-tested
exactly-once, a scored security benchmark, formally-verified policy
semantics), not a claim to more maturity or integrations than a funded
team with real customers.

ROADMAP gets a new Phase 6, sequenced: 6.1 the Cedar policy engine (#85),
6.2 the opt-in auto-decide layer on ephor.approvals (#86), 6.3 a
synchronous decide-and-explain API - the actual retry-feedback loop (#87),
6.4 the OpenAI-compatible proxy shim (#88) - scoped as research first,
not assumed, since the real question (how a pure base_url swap stops
client-side tool execution) needs verifying against a real framework, not
inferred from marketing copy.

README's own positioning is untouched - it updates once phase 6 ships
something to back it, not before.
@Nabzx
Nabzx merged commit f2a5e34 into main Sep 5, 2026
7 checks passed
@Nabzx
Nabzx deleted the grill/salus-adr-0025-phase6 branch September 5, 2026 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant