Card Registry — INDEX (Go projection)
01Discipline v0.2 · BETA · T2 · Go
02The navigable registry of the Go projection's cards. The harness uses this to resolve a
trigger to a card and to deliver the Band-3 extract for a .go edit. These are the Go
shape of the nine language-neutral scaffold patterns catalogued in the core
02-EXECUTABLE-SCAFFOLDS.xml; this stack ships its own cards/ so the weak-reader
runtime surface for Go is a Go Band-3 block, never another language's
(GUIDE-AI-NATIVE-GO.xml §12). Generated/maintained as a derived index (A2/R-030); hand
edits are a defect.
Scaffold cards (the nine executable-scaffold patterns)
| Card | Layer | Mechanism | Trigger mode | Transfer | Checker status |
|---|---|---|---|---|---|
scaffold-a-generators |
A+C | scaffold A | raid/gate | [E-strong] | specified |
scaffold-b-typed-builders |
E | scaffold B | gate | [E-mid] | specified |
scaffold-c-runnable-contracts |
E | scaffold C | inline | [E-mid] | specified |
scaffold-d-differential-oracle |
E | scaffold D | gate | [E-mid] | specified (pilot: research/go-demo fuzz differential) |
scaffold-e-fast-loop |
E+H | scaffold E | gate | [E-strong] | shipped (go-ai-native fast-loop; per-package go test needs no project machinery) |
scaffold-f-structured-diagnostics |
E+C | scaffold F | inline | [E-mid] | shipped (seam-error-cites-req, go-ai-native-conform) |
scaffold-g-doctests |
C+G | scaffold G | gate | [E-strong] | specified (the health collector counts exported-item Example coverage; the gate lands with the pilot) |
scaffold-h-simulators |
E+H | scaffold H | gate | [E-strong] | specified |
scaffold-i-codemods |
H+A | scaffold I | raid | [E-hyp] | pilot prototype shipped (go-ai-native codemod add-cell); free parameterization stays the open R4 question |
04The classification axes (layer, mechanism, trigger mode, transfer tag) are language-neutral and carried verbatim from the core catalog so the three projections stay comparable. What differs per row is the checker (a Go tool, not a Rust or TS one) and the per-language Band-3 routine.
Rule cards
05Authored as their checkers ship. The naming card is authored once, in the Rust projection (the shared rule's lineage home); its checker ships on Go too — one engine rule reads Rust #[cell] and Go //spec:cell (rendered by the extract bridge into the same attr) through one parser.
| Card | Layer | Mechanism | Trigger mode | Transfer | Checker status |
|---|---|---|---|---|---|
rule-closed-vocabulary-naming |
B+H | rule | gate | [E-mid] | shipped — cell-name-is-computed (shared core engine, mounted in go-ai-native-conform; composition only). Card authored in the Rust projection: rust-ai-native-lang/v1.0.0/spec/cards/rule-closed-vocabulary-naming.xml. The closed-vocabulary / one-referent / no-synonym halves of R3-004 are unbuilt. |
rule-position-is-a-resource |
D+H | rule | gate | [E-mid] | shipped — invariant-comment-position (shared core engine, mounted in go-ai-native-conform). Card authored in the Rust projection: rust-ai-native-lang/v1.0.0/spec/cards/rule-position-is-a-resource.xml. |
Trigger-mode delivery summary
- 07inline (per-edit, lint-detectable): C, F — go vet / staticcheck / conform findings in the editor loop.
- gate (per-merge): B, D, E, G, H —
go build/ per-packagego test -race/ Example execution at the cell's verification gate. - raid (scheduled/on-adoption): A, I —
go:generateregeneration and codemods swept across a layer. - review (human/strong-agent): none yet; reserved for judgment-heavy cards.
Go checker surface (what each card's checker stands on)
- 08
go build/go vet— the compile gate: defined-type nominal safety (B), unused-import/variable hygiene,contextplacement, printf shapes. go testper package,-race— the Class E loop (E);Examplefunctions with// Output:are compiled AND executed (G — a behavioral doctest, stronger than compilation-only).go test -fuzz+ committedtestdata/seed corpus — the differential engine (D).- staticcheck /
exhaustive— evidence providers (MIT / BSD-2): the unused-code and correctness census, and the closed-set switch exhaustiveness the compiler cannot check (guide §5 — the one rule a linter carries entirely). - go-ai-native-conform (
go-extractfacts → conform-core rules) — the structural gate: cell isolation, the §7 ban census (init, ambient defaults, nakedgo, error-string matching), file budget,seam-error-cites-reqin the Class-F grammar. - codemod post-checks — atomic apply +
go build+ per-packagego testgreen (I).
09Checker statuses marked shipped land with this package's own toolchain (the
GO-AI-NATIVE-PLAN campaign); specified rows await the pilot
(research/go-demo is the first carrier — vibevm itself carries no Go until the
Kubernetes work begins). A card graduates from BETA when its checker is implemented AND
its evidence IDs are non-empty AND pilot evidence has not falsified it.
Axis coverage (research frame A–H)
- 10A language-shape: A (generators), I (codemods)
- B names & tokens: covered by guide §3 (naming + the free nominal types) —
rule-closed-vocabulary-naming(shippedcell-name-is-computed, composition only; the closed-vocabulary half of R3-004 stays unbuilt) - C meta-layer: A, F, G
- D context & repo: covered by guide §2 (cells, closure) — candidate
rule-cell-closure - E verification: B, C, D, E, F, H
- F spec-binding: specmap (PROP-014, guide §8) — mechanism, not a card
- G empirics: G
- H weak-reader: E, H, I
Go-specific additive coverage (beyond the nine)
- 11Goroutine ownership (guide §5) is a Go-specific rule enforced through the ban
census (
naked_go_in_cell) and review; candidate dedicated cardrule-owned-concurrencyif pilot triggers warrant. - The loud-conformance assertion (
var _ Seam = (*Impl)(nil), guide §2) rides card B's checker as a presence check; candidaterule-loud-conformance.
Pending cards (named, not yet authored — pilot will prioritize)
- 12
rule-cell-closure(R3-001) — cells declare their full semantic dependency set; no ambient state. rule-owned-concurrency(guide §5) — every goroutine has an owner; channels are implementation.rule-contract-first-ordering(R3-002) — intent before body.rule-uniformity(R3-006/H6) — one idiom per operation; mark exceptions.antipattern-init-registration(guide §2/§7) — the stdlib-blessed import side effect, banned in cells.antipattern-god-file(R3-013) — fan-in per file bounds swarm throughput.antipattern-lying-prose(R2C-004/H4) — unverified godoc claims near code.
13These are deferred not because they are unimportant but to honor minimal sufficiency: the nine scaffold cards are the runnable-capital core; rule/anti-pattern cards are added as the pilot shows which triggers actually fire.
Notes on status
- 14shipped = the checker ships in this stack (go-ai-native-conform / go-ai-native) and runs on any consumer tree.
- specified = checker is defined but not yet implemented.
- specified (pilot) = checker defined; implementation is a named pilot task.
- WISH = no checker yet (A5); the card is advisory until one exists.