Expose source version modes in load options
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Implement shared source version checks
|
||||
|
||||
Status: Stages 1–7 complete; public load-wide mode integration has not started.
|
||||
Status: Stages 1–8 complete; evidence sensitivity classification has not started.
|
||||
|
||||
Audience: a Luna coding agent implementing one numbered stage per prompt, in
|
||||
order. The [feature roadmap](source-version-checks.md) owns target behavior and
|
||||
@@ -451,6 +451,24 @@ No environmental limitation affected validation; checks ran on Linux/amd64.
|
||||
Validate: facade version/layered/source and boundary tests; everyday check.
|
||||
Done: both supported public load APIs expose the implemented modes.
|
||||
|
||||
Completion evidence: added the root-owned `SourceVersionMode` enum and constants
|
||||
to ordinary and layered options, with Go documentation for zero-value behavior,
|
||||
source-local declaration paths, destination-prefixed main protection, and the
|
||||
two enabled policies. The facade converts explicitly through the internal
|
||||
engine boundary, which keeps its mode type private and preserves unknown values
|
||||
for option validation before acquisition. Added external-package coverage for
|
||||
enabled ordinary and layered loads using byte, file, and mapping sources; zero
|
||||
mode compatibility; invalid modes and missing rules before reader access; and
|
||||
reusing one Definition with different modes. Source evidence remains private.
|
||||
These checks passed with Go `go1.26.8 linux/amd64`:
|
||||
|
||||
- `GOTOOLCHAIN=local GOPROXY=off go test . -run 'SourceVersionMode|Version|Layered|SourceInfo|Destination|PublicFacadeBoundary|DependencyImportBoundary' -count=1`
|
||||
- `GOTOOLCHAIN=local GOPROXY=off go test ./internal/engine -run 'SourceVersion|Version|Layered|Source|Destination|Import' -count=1`
|
||||
- `GOTOOLCHAIN=local ./scripts/check.sh`
|
||||
- `git diff --check`
|
||||
|
||||
No environmental limitation affected validation; checks ran on Linux/amd64.
|
||||
|
||||
## Stage 9 — Classify evidence at original paths and ancestors
|
||||
|
||||
1. Include declaration paths/ancestors in final classification candidates,
|
||||
|
||||
Reference in New Issue
Block a user