ww imports: reject init bindings before recovery
This commit is contained in:
@@ -568,6 +568,39 @@ exact-argv, command, and persistent-workdir observers, the package suite proves
|
||||
archive-only link argv and exact warm/rejection-state behavior without
|
||||
duplicating those broader mechanisms in this observer.
|
||||
|
||||
The focused dual-stage `effective_init_imports_never_enter_binding_recovery`
|
||||
observer is
|
||||
the acceptance owner for imports whose effective file-local qualifier is
|
||||
`init`. Its validation matrix is required to cover an explicit alias and an
|
||||
implicit qualifier obtained from `package init`; unused and used occurrences;
|
||||
repeated rejected occurrences; a package-scope declaration named `init`;
|
||||
later `init.Name` recovery; missing-target precedence; and valid blank and
|
||||
non-`init` explicit-alias controls. It must exercise ordinary root and imported
|
||||
builds plus production-test, same-package-test, external-test, and test-only
|
||||
source roles where applicable. Each resolved rejected occurrence must produce
|
||||
one core diagnostic at the alias/path spec token and no unused, duplicate, or
|
||||
declaration-collision noise from that binding; a later selector remains an
|
||||
independent undefined-name error. The resolved dotted occurrence must remain
|
||||
in dependency graph and action provenance while the rejected qualifier stays
|
||||
absent from file scope.
|
||||
|
||||
That observer's lifecycle proof requires fixed-path Cstage/WWstage status,
|
||||
stdout, and stderr parity; cold absence of public and retained products; warm
|
||||
preservation of the complete committed work-file manifest and public product;
|
||||
imported-dependency rejection and cold empty-workdir rollback; valid control
|
||||
artifact-byte parity; and absence of active `.new`, `.install`, `.wwtxn.*`,
|
||||
adjacent `.sepwork`, capture, scratch, and tool-stage transaction residue.
|
||||
Producer/runtime failure, request concurrency, interruption, descendant
|
||||
cleanup, and test-process topology retain their established owners because
|
||||
the selected checker rejection adds no producer, runtime, process, signal,
|
||||
timeout, shared-state, or publication boundary. The observer passed in both
|
||||
stages, including imported-dependency rejection, all four test-source roles,
|
||||
cold and warm rollback, normalized diagnostic parity, valid artifact-byte
|
||||
parity, and residue checks. The complete ordered `test`, `test-commit`,
|
||||
`test-byteid`, `test-bootstrap`, `test-platform`, and `test-all` gates also
|
||||
passed. Build workdir format remains 18, test workdir format remains 19,
|
||||
semantic storage remains 3, and no test-result cache is introduced.
|
||||
|
||||
The same package owner contains the focused
|
||||
`directory_test_execution_working_directory` observer. It constructs
|
||||
independent temporary directories from an unrelated caller cwd and compares
|
||||
|
||||
Reference in New Issue
Block a user