Add explicit path import traversal
This commit is contained in:
@@ -112,6 +112,18 @@ Assigned to explicit import traversal and glob handling:
|
||||
traversal, canonical containment, cycle/diamond routes, and fixed source IDs.
|
||||
Canonical paths—not `os.SameFile`—define identity, so hard links remain distinct.
|
||||
|
||||
Path-import implementation record (2026-09-06): `splitImportDirectives`,
|
||||
`parseImportDeclaration`, `importFilesystem`, `importTraversal.visitPath`, and
|
||||
`loadImportedDocuments` in `imports.go` adapt the assigned envelope, loading, source,
|
||||
and failure mechanics. The corresponding ConfigKit tests adapt the assigned
|
||||
declaration-order, disjoint composition, keyed-entry, all-source conflict, unsafe
|
||||
target, alias, imported parse/schema, and relative-resolution cases. ConfigKit adds
|
||||
recursive bounded DFS, `os.OpenRoot` confinement, canonical symlink identity,
|
||||
cycle/diamond route locations, optional-path semantics, aggregate budgets, and
|
||||
fragment version-placement enforcement. The planned glob syntax is parsed but
|
||||
remains explicitly unavailable for its next owning work; hard links intentionally
|
||||
replace Narratio's same-file rejection with path identity.
|
||||
|
||||
### Profiles and overlay
|
||||
|
||||
Assigned to selected-profile overlay:
|
||||
|
||||
@@ -20,18 +20,18 @@ module and package documentation boundary. Its implemented public primitives are
|
||||
- strict schema-driven decoding over detached defaults in `decode.go`, including
|
||||
mapping/sequence semantics, null and numeric policy, safe codec errors, presence,
|
||||
baseline/final trees, and initial default/input origins; and
|
||||
- public single-source lifecycle coordination in `load.go`, version-report contexts
|
||||
in `validation.go`, and detached base/default metadata assembly in
|
||||
`load_metadata.go`; and
|
||||
- public lifecycle coordination in `load.go`, bounded canonical path-import DFS in
|
||||
`imports.go`, version-report contexts in `validation.go`, and detached
|
||||
base/default metadata assembly in `load_metadata.go`; and
|
||||
- recorded application defaulting and normalization in `resolution.go`, including
|
||||
explicitness queries, helper verification, structural mutation audit, coalesced
|
||||
intent, private before/after snapshots, and resolution metadata integration; and
|
||||
- post-resolution schema-aware report collection and validator mutation detection in
|
||||
`validation.go`, completing the public single-source callback lifecycle.
|
||||
`validation.go`, completing the public callback lifecycle after composed input.
|
||||
|
||||
The [configuration contract](../config.md) owns implemented input, schema, decoding,
|
||||
single-source lifecycle, version checking, recorded resolution, semantic validation,
|
||||
metadata, and ownership behavior.
|
||||
loading lifecycle, path imports, composition, version checking, recorded resolution,
|
||||
semantic validation, metadata, and ownership behavior.
|
||||
|
||||
The source-extraction inventory records the application foundations assigned to
|
||||
future implementation work:
|
||||
|
||||
Reference in New Issue
Block a user