ADR 0051 — shared data is the operator's; a module is granted access (fixes issue 036) #26

Merged
jschoubben merged 2 commits from feat/adr-0051-shared-data-operator-owned into main 2026-09-05 20:29:45 +00:00
Owner

Your decision, ratified and recorded: the media library (and any shared/pre-existing data) is operator-owned and external — a module declares access, not ownership. Resolves issue 036 (was 012): eight media modules each declared the same /services/media/* paths as their own, which the resolver correctly refuses.

The record rejects the alternatives (one-module-with-containers, one-owner-others-require, and the external:true flag = the issue-026 "two kinds spelled identically" trap) and adds the third ownership case ADR 0030 lacked a word for: what the host neither made nor merely configured, and must not touch. accepted; checks green.

Implementation (mesh-control accesses field + resolver, mesh-catalog media manifests, mesh-host access shape) is on code branches, unit-tested green, and will be merged right after the in-flight convergence fix (they touch the same repos).

https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF

Your decision, ratified and recorded: the media library (and any shared/pre-existing data) is **operator-owned and external** — a module declares **access**, not ownership. Resolves issue 036 (was 012): eight media modules each declared the same `/services/media/*` paths as their own, which the resolver correctly refuses. The record rejects the alternatives (one-module-with-containers, one-owner-others-require, and the `external:true` flag = the issue-026 "two kinds spelled identically" trap) and adds the third ownership case ADR 0030 lacked a word for: what the host neither made nor merely configured, and must not touch. `accepted`; checks green. Implementation (mesh-control `accesses` field + resolver, mesh-catalog media manifests, mesh-host `access` shape) is on code branches, unit-tested green, and will be merged right after the in-flight convergence fix (they touch the same repos). https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
jschoubben added 2 commits 2026-09-05 20:29:39 +00:00
Resolves 04-ISSUES/036: eight media modules each declared the shared
library and download directories as their own resources, and the
resolver's duplicate-owner refusal — right in general — would refuse the
stack's only sensible assignment the first time two landed on one node.

The decision, from the operator: shared, pre-existing data is
operator-owned and external. The mesh does not create, chown, reconcile
or remove it. A module declares it needs access to such a path (read or
read-write); the host mounts it and owns nothing. Several modules
accessing one path is normal — the duplicate-path refusal is about
ownership, not use. An accessed path absent at apply is refused clearly,
not created. Extends ADR 0030: the third case the host had no word for,
what it neither made nor configured and must not touch.

Point 036's fixed-by/amended-design at the record; mark it located in
mesh-control, mesh-catalog and mesh-host. Regenerate the decision index.

Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
Your decision, ratified: the media library (and shared/pre-existing data) is
operator-owned and external; a module declares access, not ownership; the host
mounts but owns nothing (no create/chown/reconcile/remove); an absent accessed
path is refused clearly; several accessors co-resolve. Status proposed->accepted;
index regenerated (records + index checks pass). Implementation lives on the code
branches (mesh-control/catalog/host), held for merge after the convergence fix.

Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
jschoubben merged commit c41deb55d2 into main 2026-09-05 20:29:45 +00:00
jschoubben deleted branch feat/adr-0051-shared-data-operator-owned 2026-09-05 20:29:45 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#26