Agents and humans use one service to research, retrieve, prepare, evaluate,
register, publish, comment on, refine and accept decisions. The human workspace
is part of `https://decisions.coulomb.social`. Its headless foundation must be
usable without loading a browser or importing UI code.
“Decision” here means the deliberative record and the human's recorded answer.
`access-engine` still decides authorization; `approval-engine` still exclusively
owns approval state; identity comes through the established identity contracts;
`audit-core` receives evidence. Evaluation is advisory analysis, never an
authorization decision. Agents may contribute analysis and comments but may
never complete a human disposition. No change to the layer declaration is made.
## Capabilities
| Operation | Service responsibility | Observable result |
| --- | --- | --- |
| Research | Collect source references, retrieved snapshots or digests, provenance, retrieval time, relevant excerpts and uncertainty | Another reader can inspect the evidence behind a claim; inaccessible or stale sources are visible |
| Retrieve | Search/filter authorized records by text, identifier, status, topic and participant; return paginated revisions and evidence | Stable identifiers and links, without exposing inaccessible titles, snippets or counts |
| Prepare | Create a draft with a question, alternatives, recommendation, consequences, requested act and packet | An agent or human can save and resume without creating an approval |
| Evaluate | Attach assessments of alternatives, criteria, risks, objections and unresolved questions to an exact revision | Attributed analysis with citations; no automatic acceptance or claim of permission |
| Register | Allocate a stable record identity and retain provenance and revision history | Idempotent registration receipt and canonical URL; registration is not approval |
| Publish | Make a selected immutable revision available to an explicit audience for discussion/review | Durable publication receipt, audience and revision link; no implicit anonymous access |
| Comment | Append attributed discussion anchored to a revision or passage | Durable thread; agent contributions are visibly identified |
| Refine | Create a successor revision with a change summary and resolved/open feedback | Earlier content, comments, evaluations and human answers remain reconstructable |
| Accept | Record a human answer against the exact presented revision and required acknowledgments | Existing disposition guards and approval-engine integration apply; stale evidence cannot bind |
Research initially supports source ingestion, retrieval and structured research
requests/results. Automated external research uses explicit adapters with bounded
fetching, source access checks and timeouts. Retrieved text is untrusted data,
not instructions to the service. A universal crawler or a new model provider is
not a prerequisite for the first complete lifecycle.
## Headless foundation and UI
```text
Agent / CLI client ---- authenticated API adapter ---+
|
Browser UI ----------- human session/API adapter ----+--> application services
| domain rules
| storage + outbox
| external ports
v
identity / access / approval / audit
```
The domain core holds memo revision and lifecycle rules, presentation evidence
and disposition guards. Application services orchestrate these rules using
storage and external-service ports. HTTP adapters validate envelopes and resolve
verified caller context. The UI renders responses and submits commands; it has
no independent lifecycle logic, authorization fallback or direct store writes.
Presentation creation stays in the foundation, with renderer identity and exact
displayed content supplied through the established presentation contract.
Separation is an import and contract boundary, not a requirement to introduce
multiple repositories or microservices. One initial deployable is acceptable if
the headless suite runs without UI imports and clients share application services.
UI assets may evolve independently of stable versioned API contracts.