docs: dissolve PROJECT_PLAN.md; drop retired-mechanism citations
PROJECT_PLAN.md was a historical disclaimer wrapping five still-open T1 driver items — those move to docs/test-system-v2.md (Open driver work); the rest is dated 2026-08-05 design history, archived in git. Also retired-mechanism cleanup: both drivers drop the *.combined.ww enumeration skip (the amalgamator is gone; leftover debris now fails loudly instead of being silently accommodated), the consumer-less m4_combined_epoch.md5 pin is deleted, and the wwi.ww/ww.h/check.ww comments that still described combined.ww as the live path are re-cited to the sep reality.
This commit is contained in:
@@ -3780,7 +3780,7 @@ fn exprtype(c: *checker, e: *syntax.node, hint: *syntax.node) *syntax.node = {
|
||||
// `scopelookup(c.cur, nm)` else-arm bound whichever
|
||||
// same-leaf global fn headed the flat scope bucket —
|
||||
// order-sensitive (os.read:i64 vs io.read:(i32|eof|closed)
|
||||
// flipped by combined.ww concat order), yielding a
|
||||
// flipped by scope-install order), yielding a
|
||||
// false `return: not assignable`. Leaving s nil falls
|
||||
// through to the fn-VALUE path below (exprtype(callee) →
|
||||
// TPTR peel → TFN.ret), matching cstage cmd/wcc/check.c
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
// wwi.ww — `.wwi` export-data producer (w6c_ww -I). M2 DEAD-CODE: writes
|
||||
// a re-parseable ww-prototype rendering of a package's EXPORTED surface.
|
||||
// Nothing consumes `.wwi` yet (combined.ww stays the live path); the only
|
||||
// caller is the new -I flag, off on every existing invocation.
|
||||
// wwi.ww — `.wwi` export-data producer (w6c_ww -I): a re-parseable
|
||||
// ww-prototype rendering of a package's EXPORTED surface. Since the
|
||||
// sep-compile flip (epic #22) this is the LIVE import path — the driver
|
||||
// runs one `w6c -c -I` per package and feeds each dep's `.wwi` to its
|
||||
// importers as import scope.
|
||||
//
|
||||
// wwstage twin of cmd/w6c/wwi.c — byte-identical output is a rule-10
|
||||
// requirement (`.wwi` is a new cross-stage byte-id substrate). Specs:
|
||||
// requirement (`.wwi` is a cross-stage byte-id substrate). Specs:
|
||||
// .ai/rob-M2-spec.md + .ai/drew-M2-checkexported.md.
|
||||
//
|
||||
// - Unparse walks the AST type-expr subtree (the N_T* nodes), NOT the
|
||||
// tinfo — tinfo collapses nominal pkg.Name identity.
|
||||
// - check_exported_type rides the producer entry (flag-gated), so M2
|
||||
// stays dead on the normal `.s` path. It rejects exactly one thing:
|
||||
// an exported signature naming a non-exported nominal type.
|
||||
// - A `.wwi` is ONE package's interface; the M2 gate feeds a driver-
|
||||
// combined unit, so the emit filters to PRIMARY decls (imported==0).
|
||||
// - check_exported_type rides the producer entry (flag-gated), off on
|
||||
// the normal `.s` path. It rejects exactly one thing: an exported
|
||||
// signature naming a non-exported nominal type.
|
||||
// - A `.wwi` is ONE package's interface; the emit filters to PRIMARY
|
||||
// decls (imported==0).
|
||||
|
||||
// Imports mirror check.ww (os/tok/strconv only): node/nkind/sym/skind/
|
||||
// scopelookuptype/streq/checker/tkind resolve bare in the selfhost's flat
|
||||
|
||||
Reference in New Issue
Block a user