CI / checks (push) Skipped
CI / checks (pull_request) Successful in 1m3s
Part D said what Outline is for but never how to build against it — the only external integration with no A-series component, while Transport, LLM, Browser, Secrets, SSO and Logging all have one. A17 supplies the contract. Settled here: - Sharing is read access, never write access. Every document has exactly one writer, so concurrent writers never exist and Part D's last-write-wins objection disposes of itself. Default shared membership is operator + nisse-ops; nisse-dev gets private space only, since B3 seals it from the LAN and a shared network map is a map of what it is sealed from - Agent-owned knowledge is always a cache, never authority: rely on it to know what exists and where to look, verify a specific fact against the live system before acting on it - Enforcement is structural, because a prompt is not enforcement. A model cannot be stopped from believing what it reads, so the enforceable goal is narrower — an unverified belief must not become an irreversible action — and four mechanisms carry it, leaning hardest on surfacing provenance at the human gate that C2 already requires - Never an instruction channel and never an approval channel, stated both here and in A4 where approvals are specified - Corrections flow through transport rather than direct edits, which is better provenance: a hand edit is invisible to the agent's record, an instruction is authenticated, logged, and reconcilable. Break-glass reuses Part F's idle flag - Retrieved content is snapshotted into the canonical log, since A10 forbids a mutable provider handle being the only reference — with the A3 consequence that boot must re-fetch snapshots for resumed tasks - Outage posture is asymmetric: write failures never block, but a failed read of a procedure bound to a confirm-first action gates, because proceeding is acting unconstrained on exactly the operation someone wrote a procedure for Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>