Clarify companion binding ownership

This commit is contained in:
2026-11-09 21:19:05 +00:00
parent 37ea670747
commit 367fe4120f
3 changed files with 11 additions and 6 deletions

View File

@@ -38,8 +38,9 @@ Start with one file, then choose the tasks your application needs:
- Use `LoadLayered` when several inputs should supply lower-priority defaults - Use `LoadLayered` when several inputs should supply lower-priority defaults
beneath the main source. Each underlay group combines its inputs strictly. beneath the main source. Each underlay group combines its inputs strictly.
Each [`Input`](../../layered.go) owns its source, filesystem, destination, and Each [`Input`](../../layered.go) owns its source, filesystem, destination, and
import choice. Main-relative bindings and overlay context selection are import choice. Set `Input.MainRelative` on a companion underlay to use the
available in [`LayeredOptions`](../../layered.go). main input's filesystem context. Overlay context selection belongs to
[`LayeredOptions`](../../layered.go).
- Load-wide rules belong to [`Options`](../../lifecycle.go) or - Load-wide rules belong to [`Options`](../../lifecycle.go) or
[`LayeredOptions`](../../layered.go): the application definition (including [`LayeredOptions`](../../layered.go): the application definition (including
version policy), import defaults, and explicit overrides. These do not turn version policy), import defaults, and explicit overrides. These do not turn

View File

@@ -20,10 +20,12 @@ patterns to discovered names, and form a set union of matching candidates across
overlapping roots. Exclusions are applied as set difference after discovery and overlapping roots. Exclusions are applied as set difference after discovery and
candidate normalization. They do not suppress discovery or resource errors. candidate normalization. They do not suppress discovery or resource errors.
Layered assembly passes the resolved main context to underlay acquisition, Layered assembly passes the resolved main context to underlay acquisition.
replacing tier-local identity state. Contextless bindings prepare declaration Derived inputs retain the main's filesystem location and namespace. The
policies and assemble the declaring payload without opening access or inventing receiving tier supplies its own host token and tracks repeated sources.
selection evidence. Selected contexts use the normal acquisition and handle path. Contextless bindings prepare declaration policies and assemble the declaring
payload without opening filesystem access or recording selection evidence.
Selected contexts use the existing acquisition and handle lifecycle.
Directory traversal tracks canonical directories on the active traversal path. Directory traversal tracks canonical directories on the active traversal path.
It adds an identity when descending and removes it when the frame is popped, so It adds an identity when descending and removes it when the frame is popped, so

View File

@@ -96,6 +96,8 @@ before reaching overlay selection.
## Finding 4 — Supporting documentation misstates binding ownership ## Finding 4 — Supporting documentation misstates binding ownership
**Status** — Complete. The consumer guide identifies Input.MainRelative, and the internal guide describes the receiving tier’s identity bookkeeping.
**Priority P3.** The consumer guide locates main-relative bindings in **Priority P3.** The consumer guide locates main-relative bindings in
`LayeredOptions`, but a companion binds through `Input.MainRelative`. `LayeredOptions`, but a companion binds through `Input.MainRelative`.
The import internals guide says passing the main context replaces tier-local The import internals guide says passing the main context replaces tier-local