docs: ratify the carrier endgame terminal classes

This commit is contained in:
2026-08-08 02:38:57 +09:00
parent 5abb1e6069
commit 98a2e37ac0

View File

@@ -52,6 +52,34 @@ sweep spans lib test fixtures, import probes, and a zero-dep root-only
build; the former 815/940/951 driver-parity carriers were folded into it,
their content identity already owned by their corpus twins.
## Carrier endgame
The declarative corpus and the native `@test` owners are the permanent
test surface — the `go/test/` analogy. The native C carrier fleet is the
pre-Go-1.5 artifact and shrinks toward exactly two terminal classes:
1. **C-bootstrap observers.** The five in-process units watch the C
frontend from inside its own process and are irreplaceable while
`cmd/` is the live frontend. The six bootstrap gates are the same
class's proof column: they compare the wwstage tools against the C
stage to a fixed point. At the eventual selfhost flip both freeze
into a bootstrap smoke gate (Go 1.5 deleted its C toolchain and that
toolchain's tests; it did not port them).
2. **Host ABI/platform gates.** Behavior owned by the host linker,
loader, or ABI (`996_dyn_ww` today). These observe the platform, not
the compiler, and stay native exactly as long as the claim is about
the platform.
Everything else gets a ww owner. Byte and artifact observations —
assembly-pattern greps, symbol tables, frame layouts, `.wwi`
round-trips, driver-leg comparisons — are subprocess plus file IO plus
string search, which `test/package/package_test.ww` already performs
natively (runcommand + in-language assertions). A C carrier whose
assertions fit that shape is ported and retired in the same commit,
assertions preserved or strengthened, with no compatibility execution
path left behind. A carrier that is merely historical is deleted
outright; git history is the archive.
## Public targets
| Target | Composition |