Prepare sequence registration preflight

This commit is contained in:
2026-10-16 15:19:32 +00:00
parent 90c2d7e409
commit ff212885c4
6 changed files with 268 additions and 1 deletions

View File

@@ -213,6 +213,24 @@ Scope: one ADR and engine option normalization; no new public fields yet.
Validation: focused option tests and `./scripts/check.sh`. Completion: existing
loads remain unchanged, with only private registered-policy input newly accepted.
Completion evidence: added Accepted ADR 0014 and private engine registration
normalization. Ordinary and layered entry points compile/coalesce policy and
reject invalid registrations before source reads, then carry the compiled policy
through the load request while clearing raw registration slices from internal
handoffs. No public API or composition behavior was added. Focused coverage
checks duplicate/conflicting definitions, empty identity names, numeric and
escaped literal keys, invalid explicit indexes, unused/root registrations,
zero-option behavior, and reader preservation on preflight failure. These checks
passed with Go `go1.26.9 linux/amd64`:
- `GOTOOLCHAIN=local GOPROXY=off go test ./internal/engine -run 'SequenceRegistration' -count=1`
- `GOTOOLCHAIN=local ./scripts/check.sh`
- `git diff --check`
The compiled registration policy is intentionally not consumed by composition
until the next implementation unit. No environmental limitation affected
validation; checks ran on Linux/amd64.
## Stage 2 — Implement registered strict sequence validation and assembly
Scope: `internal/engine/compose.go` and focused composition tests.