Skip to content

docs(adr): ADR-0091 (Proposed) — grant lifecycle: effective-dated assignments, delegation, break-glass, recertification substrate - #2751

Merged
os-zhuang merged 1 commit into
mainfrom
claude/adr-0091-grant-lifecycle
Jul 10, 2026
Merged

docs(adr): ADR-0091 (Proposed) — grant lifecycle: effective-dated assignments, delegation, break-glass, recertification substrate#2751
os-zhuang merged 1 commit into
mainfrom
claude/adr-0091-grant-lifecycle

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Summary

Drafts ADR-0091, the first named follow-up from ADR-0090 (§Non-goals #1): making time a first-class axis of authorization. Status is Proposed — the decisions below are open for review; nothing is implemented by this PR.

The seven proposed decisions

  • D1 — Effective dating: valid_from / valid_until (half-open, UTC) + lifecycle-audit columns (reason, delegated_from, last_certified_at/certified_by) on sys_user_position and sys_user_permission_set only. Bindings and record shares deliberately excluded (scheduled binding changes are a publish-track feature; share links already do time-boxed record access). Null = unbounded → zero migration.
  • D2 — Correctness = resolution-time filtering, fail-closed: an out-of-window row stops resolving in every resolver (core authz, explain, position-graph expansion, the D12 gate's own held-scope resolution). No background job needed for correctness (ADR-0049); explain reports "held until … — expired".
  • D3 — Delegation of duty (职务代理): self-service, time-boxed assignment of one's own delegatable: true position; mandatory valid_until + reason; dual audit (granted_by + delegated_from); no re-delegation. Substitution semantics (union) — the intersection rule stays agent-only.
  • D4 — Break-glass: pre-authorized dormant set, self-activated into a short time-boxed grant with mandatory reason + loud alert; deliberately unapproved (time box + alert + D5 review are the compensating controls).
  • D5 — Recertification substrate: framework ships attestation stamps + the D6 explain/matrix surfaces; campaign workflow (routing, escalation, auto-suspend, evidence export) is enterprise product designed in the cloud repo.
  • D6 — Agent grants time-boxed + task-attributed (ADR-0090 D10 hookup); enforcement lands with principal-linked user rows.
  • D7 — Open-core line: filtering correctness community; delegation UX / break-glass workflow / notifications / campaigns enterprise. Security correctness is never paywalled.

Placement rationale (per the docs-split decision)

Contract + semantics live here (framework, CI-governed, publicly auditable); implementation/product design for the enterprise half (campaign mechanics, activation workflow, notifications) will be a cloud-repo design doc referencing this ADR — no duplication.

Phasing

L1 spec+filtering (community-complete) → L2 delegation+break-glass shape with dogfood proof → L3 enterprise product docs/impl in cloud.

Verification

Docs-only (one new ADR file). No code, no changeset.

🤖 Generated with Claude Code

https://claude.ai/code/session_012oLzaP8n7A3YKFmgaHWC8H


Generated by Claude Code

…ignments, delegation, break-glass, recertification substrate

First named follow-up of ADR-0090. Seven decisions, all additive to the
v2 model: valid_from/valid_until on the two user-grant tables (null =
unbounded, zero migration); correctness = resolution-time filtering in
every resolver (fail-closed, no cleanup job required); self-service
delegation of delegatable positions (time-boxed, dual-audited, no
re-delegation); break-glass as pre-authorized dormant sets activated
into short time-boxed grants; recertification substrate in framework
with campaigns as enterprise product; agent grants must be time-boxed
and task-attributed (D10 hookup); open-core line keeps correctness
community and workflow enterprise.

Status: Proposed — decisions await review.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012oLzaP8n7A3YKFmgaHWC8H
@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jul 10, 2026 8:39am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation size/m labels Jul 10, 2026
@os-zhuang
os-zhuang marked this pull request as ready for review July 10, 2026 09:22
@os-zhuang
os-zhuang merged commit af037cf into main Jul 10, 2026
15 checks passed
@os-zhuang
os-zhuang deleted the claude/adr-0091-grant-lifecycle branch July 10, 2026 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/m

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants