Record public facade boundary
This commit is contained in:
@@ -181,6 +181,35 @@ distinguish decision from implementation, and documentation links pass.
|
||||
Run `go test . -run 'LocalDocumentationLinks|DependencyImportBoundary|Example|Facade'`
|
||||
and the everyday check. No engine migration in this stage.
|
||||
|
||||
### Completion
|
||||
|
||||
Status: complete (2026-09-12).
|
||||
|
||||
Baseline behavior was verified at `28e7fc5f690b36c60e4d03586afcff00fb1dee90`;
|
||||
this plan was introduced by `eb7de8e40ab944f022a2b6984f4d4e0086f1484d`. The
|
||||
complete root surface was inventoried with `go doc -all .`: lifecycle and generic
|
||||
entry points; root value/input types (`Path`, `Source`, `Secret`); callback and
|
||||
option records; metadata, provenance, diagnostics, history, and rendering
|
||||
records; typed errors and bootstrap reports; and the scalar enum families. The
|
||||
inventory also covered receiver methods, generic instantiations, and relevant
|
||||
interfaces (`error`, `fmt.Formatter`, `fmt.Stringer`, `json.Marshaler`, and
|
||||
`io.WriterTo`). Existing behavioral tests remain the source of detailed API
|
||||
semantics; `facade_compatibility_test.go` supplies compact external-package
|
||||
coverage for the migration boundary.
|
||||
|
||||
Added ADR 0006 and the architecture rule for root-owned public wrappers and
|
||||
inward-only implementation dependencies. They describe the accepted target, not
|
||||
an already-completed extraction. Repaired the development guide, source-origins
|
||||
record, and remediation record to identify the old provenance plan by its Git
|
||||
revision instead of linking to this plan. No engine or lifecycle migration was
|
||||
introduced.
|
||||
|
||||
Validation on Linux with Go 1.26.7 passed: the focused documentation,
|
||||
import-boundary, executable-example, and facade checks, followed by
|
||||
`./scripts/check.sh`. There were no deviations. The next handoff copies the
|
||||
unchanged root implementation into the bounded internal relocation candidate;
|
||||
it must retain the documented public behavior while proving engine independence.
|
||||
|
||||
## Stage 2 — Establish the internal relocation candidate
|
||||
|
||||
Status: not started.
|
||||
|
||||
@@ -22,8 +22,9 @@ displaced/default paths that the view cannot query. This adds allocation and cop
|
||||
work proportional to retained history even for a resolver that never calls the
|
||||
new methods. No wall-clock or memory threshold was measured or is asserted here.
|
||||
|
||||
The Stage 5 completion record in [implementation.md](implementation.md) also states
|
||||
that the view "does not retain history"; the constructor contradicts that claim.
|
||||
The historical completion record at
|
||||
`28e7fc5:docs/roadmap/implementation.md` also states that the view "does not
|
||||
retain history"; the constructor contradicts that claim.
|
||||
|
||||
### Correction
|
||||
|
||||
|
||||
@@ -38,11 +38,13 @@ confinement check.
|
||||
|
||||
## Evidence and handoff
|
||||
|
||||
The completed staged record in [implementation.md](implementation.md) maps all
|
||||
twelve acceptance criteria to focused lifecycle, provenance, ownership, consumer,
|
||||
explanation, and secret tests. The final implementation commit is expected to run
|
||||
the source checker and the documented two-toolchain gate before any release
|
||||
candidate is selected.
|
||||
The completed staged record is preserved at
|
||||
`28e7fc5:docs/roadmap/implementation.md`; retrieve it with
|
||||
`git show 28e7fc5:docs/roadmap/implementation.md`. It maps all twelve acceptance
|
||||
criteria to focused lifecycle, provenance, ownership, consumer, explanation, and
|
||||
secret tests. The final implementation commit is expected to run the source
|
||||
checker and the documented two-toolchain gate before any release candidate is
|
||||
selected.
|
||||
|
||||
Publication remains a maintainer decision. Release preparation must choose the
|
||||
version, write a version-matched note, retire this completed roadmap with link
|
||||
|
||||
Reference in New Issue
Block a user