Why (roadmap: Next)
Approvals today are per-call booleans (requestApproval(id, toolName, input)). Regulated teams need scoped grants: who approved what, for which scope, until when — recorded as evidence.
Sketch
- Grant shape:
{ subject, toolName, scope (e.g. command pattern/path glob), expiresAt | forRun }.
- 'Allow
npm test for the rest of this run' instead of clicking approve N times.
- Grants checked at the
registry.run chokepoint after policy; every grant + use recorded in the audit chain.
- UX: the approval prompt offers 'once / for this run / always for this session'.
Constraints
Policy still wins (a grant can never widen org policy); grants are narrowing-only sugar on top. Design doc first.
Why (roadmap: Next)
Approvals today are per-call booleans (
requestApproval(id, toolName, input)). Regulated teams need scoped grants: who approved what, for which scope, until when — recorded as evidence.Sketch
{ subject, toolName, scope (e.g. command pattern/path glob), expiresAt | forRun }.npm testfor the rest of this run' instead of clicking approve N times.registry.runchokepoint after policy; every grant + use recorded in the audit chain.Constraints
Policy still wins (a grant can never widen org policy); grants are narrowing-only sugar on top. Design doc first.