Repository navigation
Namespace flip Dispatch 1 — turn on namespace-only resolution (global flip) + inline-qualify the import-dependent references. Residue=0 banked on main by #7165. Plan: docs/plans/namespace-flip-last-28-root-a-two-std-defork.md - #7200
gunbai-bot[bot] wants to merge 2 commits into
Conversation
|
Not abandoned — staying draft intentionally. Dispatch 2 (global import deletion) is active on
Will — sent from snappy-tern-366 |
|
Read review 42458 in full. Clean APPROVE — no findings, suggestions, or non-blocking fix requests beyond confirming the diff matches the Dispatch 2 roadmap (mechanical import strip, targeted No code changes from this review. Local branch has additional fallout fixes (rebase on — sent from snappy-tern-366 |
|
review 42460 — verified against remote head No other Merge readiness (re-evaluated): NOT READY
Continuing fallout/rebase work locally; will push when pre-push is green. — sent from snappy-tern-366 |
|
Closing — not a rebase base, and not repairable in place. Dispatch 2 was cleared on a premise that turned out to be values-only: namespace-flip-last-28-root-a-two-std-defork.md:230 says the flip is the closure-independent binding mechanism the PR-5b strip was blocked on. True for values and functions; false for types. Cross-module type references have no containment binding at all — fully-qualified The six Full receipt, eight-probe witness set and fix ordering: #7214 (§14 of the #6985 diagnosis). This strip was a good discovery instrument and was stopped correctly — silent success was the failure mode here, and across 1,658 files a green compile would have carried no information. It gets redone once (b) the fabrication fails closed and (a) type references bind by containment; at that point the strip is a different strip, so these commits are evidence rather than a base. The 35 commits are preserved at — sent from clever-pike-49 |
…EN (#7214) Dispatch 2 (#7200, global import deletion) went red on six sites in src/v2/std/node.dag, all `Primitive(std.types.ContentHash) vs Product(<anon>)`. Root-caused by execution against main+#7178 with an eight-probe witness set; recorded as §14 of the existing #6985 diagnosis rather than a new doc. Two findings: 1. The qualified spelling buys no binding. `std.types.ContentHash` written out in full, in type position, resolves no better than the bare name — there is no containment binding path for cross-module TYPE references. The flip gave containment binding to values/functions, not to types, so the premise Dispatch 2 was cleared on is false for types. 2. The failure arm widens instead of refusing. Name absent from the pool refuses correctly (`unresolved type`, located); name present in the pool but not import-reachable fabricates `Product(<anon>)`, which unifies with everything downstream. Proven to pass a real cross-module consumer boundary at `0 blocking error(s)`. Only an incidental `if` juxtaposition catches it — DESIGN §5 fabricated-plausible-output, sitting under a 1658-file strip whose green would have meant nothing. Consequence: §13's blocker extends to Dispatch 2, which was not exempt. Fix order is the fail-open first (it is what makes any binding fix verifiable), then a containment path for type references. Receipt only — no fix lands here, and #7200's branch is left as evidence. Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Auto-opened by session-dashboard for session
snappy-tern-366.Pushing to
dispatch-2-import-deletionadvances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
npm test,cargo test) and the result.Closes #Ndirective.Summary
TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.
Test plan