| Field | Value |
|---|---|
| Decision ID | ADR-056 |
| Initiative | unsorry repo-as-OS operator interface |
| Proposed By | unsorry maintainers |
| Date | 2026-06-15 |
| Status | Proposed |
ADR-050 through ADR-055 describe a repo-as-OS architecture for autonomous work: the repository stores symbolic state, agents transform it, verifier tiers govern acceptance, claims/identity manage scale, and a reconciler applies runtime actions. What remains is the human-facing control plane.
If the repository is the symbolic operating system, the operator interface must not be a pile of disconnected scripts. It should expose the repository’s state as a coherent control surface: what work exists, what is claimed, what agents are doing, what gates are blocked, what risks are accepted, what evidence exists, and which actions are safe.
The control plane should let humans express intent and supervise automation without making them manually reconstruct state from shell commands, workflow logs, and branch history.
In the context of unsorry evolving toward a repository-backed operating model for autonomous work,
facing the need for contributors and operators to understand and steer the system without becoming accidental system administrators of every underlying workflow, runner, lease, and verifier,
we decided for planning a Repo-as-OS Control Plane: a role-based
operator interface that projects repository state, live reconciler state,
claims, agents, verification tiers, evidence, incidents, and settings drift
into one coherent view; operators may express high-level intent such as pause
volunteer claims, inspect blocked work, approve an APPROVAL tier change, or
refresh stale artifacts, but every meaningful action must resolve into a
recorded repository transition, approval, or evidence event,
and neglected making the control plane the source of truth (rejected because the repository remains canonical), hiding unsafe or degraded states behind a polished dashboard (rejected because operators need honest status), and exposing raw shell/procedure as the primary interface (rejected because the goal is symbolic management),
to achieve a modern operator experience where the repository is the semantic OS and the interface is a projection plus intent surface over that state,
accepting that the first version may be generated Markdown/JSON and a lightweight dashboard rather than a full interactive product, and that control plane actions must be limited until identity, quotas, and reconciler policies are implemented.
| Layer | Purpose |
|---|---|
| Repository state | Canonical symbolic world |
| Reconciler state | Current runtime actions and degraded states |
| Evidence state | Verifier outcomes, approvals, consensus, risks |
| Operator actions | Safe intents that become recorded transitions |
| Presentation | Dashboard, docs, CLI, or generated reports |
APPROVAL tier work,| Reference ID | Title | Type | Location |
|---|---|---|---|
| REF-1 | Repo-as-OS control plane spec | Specification | specs/SPEC-056-A-Repo-As-OS-Control-Plane.md |
| REF-2 | Autonomous Trunk Experience Layer | Decision | ADR-051-Autonomous-Trunk-Experience-Layer.md |
| REF-3 | Repository Runtime Reconciler | Decision | ADR-055-Repository-Runtime-Reconciler.md |
| REF-4 | Agent Identity, Quotas, and Reputation | Decision | ADR-054-Agent-Identity-Quotas-And-Reputation.md |
| Status | Approver | Date |
|---|---|---|
| Proposed | unsorry maintainers | 2026-06-15 |