The review of a SOW is a service ontoref consumes: SpecDossier answers the SOW protocol, ontoref is its caller and keeps the files as the floor
Proposed
Context
ontoref forms, reviews, answers, lands and verifies SOWs with its own verbs (`form *-sow`, `plan-to-sow`) over the files of a governance level, and holds the SOW's schema (code/ontology/schemas/sow.ncl) and the ratification policy (ratification.ncl). Nobody could comment on a draft, a participant was not shown which SOWs waited on them, and a review kept no rounds.
The principal decided that the review is a service of its own: SpecDossier, a Primary with its own repository, protocol and governance level (its adr-001). It was built on 2026-09-27 — protocol, policy and reader's view, a service standing alone on files, identities from signatio, a signed one-way mirror — and it derives, for the 86 signed SOWs of the constellation, the same stage ontoref's verify derives.
What remains is ontoref's side: ontoref still validates SOWs with its own sow.ncl, the ratification policy exists twice (SpecDossier holds a copy whose code a contract compares with ontoref's), and no ontoref configuration declares SpecDossier. A project can now declare it (`specdossier` in .ontoref/config.ncl) and read and remark a SOW's review through ontoref's verbs; tests/test_dossier_client.nu runs them against a real specdossierd. adr-122 settled the same shape for identity — the authority is a provider ontoref declares and consumes, never a mechanism it imposes — and this record extends it to the review of a SOW.
Decision
THE REVIEW OF A SOW IS A SERVICE ONTOREF CONSUMES. SpecDossier answers the SOW protocol — the SOW's schema, the ratification policy, the review flow — and ontoref is one of its callers, as it is the authority's (adr-122). ontoref does not build a review flow of its own: no remarks, rounds, inbox or mirror in ontoref-daemon or its verbs. ontoref's file path stays whole: a project without SpecDossier forms, signs, lands and verifies its SOWs with ontoref's verbs over its levels, as today (adr-029, tiers coexist). When a project declares SpecDossier as its provider, ontoref's verbs become clients of the service for what the service keeps, and read the same files for what is signed. Until ontoref consumes SpecDossier's schemas, the policy's two copies must carry the same code.
Constraints
- Soft ontoref-daemon serves no remarks, sessions or review rounds of a SOW
Alternatives considered
- The review flow inside ontoref-daemon — rejected: It excludes signers without the daemon and projects not governed by ontoref, and binds the flow to ontoref's release cycle.
- The SOW protocol kept in ontoref, SpecDossier importing it — rejected: SpecDossier would depend on ontoref to exist, and ontoref would answer a contract other callers consume.
- No service: remarks as files in the level, ontoref's verbs only — rejected: A review's rounds, who owes what and access by hat need an arbiter of order; files alone keep what is signed, not the order of a conversation.
Related ADRs
ADR-122 · ADR-123 · ADR-119 · ADR-066 · ADR-063 · ADR-062 · ADR-029
Perspectives