Home / Projects / Orchestrata Ultimate / Decisions / ADR index / ADR-0017

ADR-0017: Governed writers are (binary, config)-attested pure functions, re-executed trusted-side

field value
Status Accepted
Date 2026-07-24
Register factory (docs/adr, 4-digit ids)
Source docs/adr/0017-governed-writers-are-attested-pure-functions.md — permalink at bdafa201a (unchanged on master since that commit)
Wiki register entry ADR-0017 (wiki status: Accepted)

← ADR-0016 · ADR-0018 →

The record

Context

ADR-0001 makes the enforcement boundary a content-exact match between the committed tree and a registry of governed writers. That registry constrains who may produce a delta — it says nothing about what they may produce.

This is a classic confused deputy. A registered writer's output is a function of its configuration, and configurations live in the agent-writable tree:

Real allowlists also acquire make, npm run codegen, pre-commit — all of which execute repo-controlled configuration, so this is the normal case, not an edge case.

A second erosion path: a full-filesystem diff sees every __pycache__, cache, and tool-scratch write as an unregistered delta. The operational pressure will be to add wildcard allowlist entries — which is exactly how allowlists rot into permit-all.

Decision

Alternatives rejected

Consequences

Provenance

Round-3 Fable (C-1: unattested writer identity, config-as-injection, allowlist rot) and Opus (#6: confused deputy via .pre-commit-config.yaml, registry mutation as an uncovered governance surface). The two converged independently on the same hole; this ADR takes the union of both fixes. Likely to be informed or superseded by in-toto/SLSA prior art (research pending).

Relations of ADR-0017

Rulings cited

None.

Specs cited