Landin the evidence registers source
the evidence registers

Evidence registers

Four tables that say what the compiler's evidence is, rather than what is left to do. They are source: check.py reads them, holds every row to the fixture corpus, the compiler's named-refusal tables and the target records, and generates constructs.matrix, prototypes.matrix and targets.matrix from them. Edit a row here and regenerate; never edit a matrix.

They were kept in ROADMAP.md while the first roadmap built the compiler, and moved here when it closed, unchanged. The Phase column and some dispositions still name that roadmap's items; those citations resolve against its index in ROADMAP.md until they are removed.

Construct inventory

One row for every [NNNN] either tour.md or spec.md defines. It is generated into constructs.matrix, where each row is joined with what the corpus claims per product target, read from fixture metadata together with darwin/parity.json, cortex-m/corpus.json and driver/fixture.json, and with every named refusal and the wording of its [1830] note.

  • State. executed: fixtures claim acceptance, emission and execution, and every applicable target outside the recorded gaps executes a claiming program. compiled: the observable behaviour is a compile-time verdict, acceptance with recorded IR or a refusal, that no run can observe more of; such a hosted row must also be in the hosted compile-time register below. deferred: the tour itself says DEFERRED and a live roadmap item owns the decision. transferred: the tour already assigns the construct to a named successor family. advisory: design, usage or process prose that adds no source behaviour a fixture could discriminate. A named refusal is not a state; it is part of a row.
  • Targets are all (Linux x86-64, macOS arm64 and Cortex-M), hosted, cortex-m or none; synthetic-32 is a pre-Cortex model and applies to no construct. Gaps are applicable targets without the state's evidence, and every gap needs an owning item.
  • Phase is the item that first implemented the row.
  • Owners are live roadmap items or successor families. A finished owner, an unknown owner or an owner the disposition does not mention is refused. A disposition of "matrix evidence" means the generated row's evidence is the whole explanation.

check.py holds all of it on every full run, and scripts/tests/test_construct_inventory.py shows each refusal fires.

ConstructStateTargetsGapsPhaseOwnerDisposition
[0010]executedallnoneR1.20nonematrix evidence
[0020]executedallnoneR1.20nonematrix evidence
[0030]executedallnoneR1.20nonematrix evidence
[0040]executedallnoneR1.50nonematrix evidence
[0050]executedallnoneR1.50nonematrix evidence
[0060]executedallnoneR1.50nonematrix evidence
[0070]executedallnoneR2.50nonematrix evidence
[0080]executedallnoneR1.50nonematrix evidence
[0090]executedallnoneR3.10nonematrix evidence
[0100]executedallnoneR1.50noneAtom name lists and D233's shared binding, field, parameter and return names are matrix evidence on all three targets. The inferred a, b := e shape and the declarations that keep one name are D233's recorded boundary, named by R7.20 in the refusal note.
[0110]executedallnoneR1.50nonematrix evidence
[0120]executedallnoneR2.20nonematrix evidence; R2.20 records the named type source-form boundary
[0130]executedallnoneR1.50nonematrix evidence
[0140]executedallnoneR1.50nonematrix evidence
[0150]executedallnoneR4.10Language evolutionThe enabled widths are matrix evidence. D237 transfers u128 and i128 to Language evolution, triggered by a program that needs 128-bit arithmetic; the checker's named refusal says R7.20 transfers them. Arbitrary packed widths are D228's, admitted only in packed fields [0730].
[0160]executedallnoneR2.10nonematrix evidence
[0170]executedallnoneR4.10Language evolutionf32 and f64 are matrix evidence. D237 transfers f16 to Language evolution, triggered by a program that needs binary16 values; the checker's named refusal says R7.20 transfers it.
[0180]executedallnoneR1.60nonematrix evidence
[0190]executedallnoneR1.60nonematrix evidence
[0200]executedallnoneR1.60nonematrix evidence
[0210]executedallnoneR4.10nonematrix evidence
[0220]executedallnoneR4.10nonematrix evidence
[0230]executedallnoneR4.10nonematrix evidence
[0240]executedallnoneR4.10nonematrix evidence
[0250]executedallnoneR4.10nonematrix evidence
[0260]executedallnoneR4.10nonematrix evidence
[0270]executedallnoneR4.10nonematrix evidence
[0280]executedallnoneR4.10nonematrix evidence
[0290]executedallnoneR1.60nonematrix evidence
[0300]executedallnoneR1.60nonematrix evidence
[0310]executedallnoneR1.60nonematrix evidence
[0320]executedallnoneR1.60nonematrix evidence
[0330]executedallnoneR1.60nonematrix evidence
[0340]executedallnoneR1.60nonematrix evidence
[0350]executedallnoneR1.60nonematrix evidence
[0360]executedallnoneR1.60nonematrix evidence
[0370]executedallnoneR2.10nonematrix evidence
[0380]executedallnoneR2.50nonematrix evidence
[0390]executedallnoneR1.60nonematrix evidence
[0400]executedallnoneR1.60nonematrix evidence
[0410]executedallnoneR1.60nonematrix evidence
[0420]executedallnoneR1.60nonematrix evidence
[0430]executedallnoneR2.50nonematrix evidence
[0440]executedallnoneR2.50nonematrix evidence
[0450]executedallnoneR2.50nonematrix evidence
[0460]executedallnoneR2.50nonematrix evidence
[0470]executedallnoneR2.50nonematrix evidence
[0480]executedallnoneR4.10noneThe one-atom optional pointer (D189) and D235's several-atom union, the atom's code beside the pointer, are matrix evidence on all three targets, with GDB and LLDB presentation of both cases.
[0490]advisorynonenonenonenoneUsage guidance: pointers serve hardware, the C boundary and library internals, while everyday code uses slices, handles and indices. It states no rule the compiler enforces or a fixture could discriminate; the operations it points to are [0430]-[0480]'s rows.
[0500]executedallnoneR4.20noneD196 records offset and base_of as unneeded; D151 rejects slice_from; ordinary address conversion remains the implementation
[0510]executedallnoneR3.30nonematrix evidence
[0520]executedallnoneR2.20noneArray values, bounds and copies are matrix evidence; D241 adds whole-array discards and inferred literals of any element shape. Its checker refusals of the remaining forms are D241's recorded boundaries, named by R7.20 in the note, and genuine type errors among them are L0301.
[0530]executedallnoneR2.20nonematrix evidence
[0540]executedallnoneR2.20noneZero images are matrix evidence. The local-array zeroed refusal is a guard no source reaches; D241 keeps it with R7.20's boundary wording, and zeroed as an operand is an L0301 type error.
[0550]executedallnoneR2.60nonematrix evidence
[0560]executedallnoneR2.20noneTyped, counted and mixed repetition are matrix evidence; R2.20 records the named repetition source-form boundary. D241, an R7.20 decision, records the count-less inferred initializer, non-scalar counted inference and zero lengths as the paragraph's boundary.
[0570]executedallnoneR2.20nonematrix evidence; R2.20 records the named indexing source-form boundary, which requires a named place
[0580]executedallnoneR2.20nonematrix evidence
[0590]executedallnoneR4.50noneD209 and matrix evidence
[0600]executedallnoneR4.10nonematrix evidence
[0610]executedallnoneR4.10nonematrix evidence
[0620]transferrednonenonenoneLanguage evolutionThe tour keeps structure-of-arrays as a DEFERRED design record and now says Language evolution holds it: R7.30 transfers inherited C5 there under R551-35, because none of the four derived programs is a simulation that needs one field contiguous. Nothing enables soa, which meets an ordinary parse error, and no named refusal is owed to a form the tour places outside the language.
[0630]executedallnoneR2.20nonematrix evidence
[0640]executedallnoneR2.20nonematrix evidence
[0650]executedallnoneR2.20nonenamed refusal
[0660]executedallnoneR4.10noneScalar range subtypes are matrix evidence under D188. D236 records the struct-field, array-element, reference-target, addr and generic-argument positions as the paragraph's permanent boundary, and their named refusals say R7.20 records it.
[0670]executedallnoneR2.20noneBoth struct forms are matrix evidence; R2.20 records the named inline-struct source-form boundary. D241 adds whole-struct discards and inferred struct copies, makes misused struct values L0301 type errors, and records the untyped literal and module-image forms as boundaries whose note names R7.20.
[0680]executedallnoneR2.20noneVariant declaration, storage, construction and matching are matrix evidence, and D241 gives payload arrays every ordinary array-field expression. A variant part as a value, a case outside its part and a copied part are D241's recorded boundaries, named by R7.20 in the note.
[0690]executedallnoneR2.20nonematrix evidence
[0700]executedallnoneR2.20nonematrix evidence
[0710]executedallnoneR2.20nonematrix evidence
[0720]executedallnoneR2.20nonematrix evidence; R2.20 records the named all-of literal source-form boundary
[0730]executedallnoneR6.80Companion tool and ecosystemD228 packed images, encoded unions and named-boolean set fields are matrix evidence on all three targets, the derived driver on Cortex-M. D238, an R7.20 decision, withdraws the set(X) former, whose unresolved application meets [1350]'s ordinary refusal. General SVD generation stays with Companion tool and ecosystem under R551-33, as the paragraph says.
[0740]executedallnoneR6.80noneD228 access modes and register operations are matrix evidence, including the generated RP2040 consumers and the derived driver. D238, an R7.20 decision, withdraws the register(t, read:, write:, reset:) wrapper, which remains an ordinary parse error.
[0750]executedallnoneR2.20noneSource order, optimal and C layout are matrix evidence. D239, an R7.20 decision, withdraws per-field byte order; negative/r720-field-byte-order-withdrawn pins that big u16 is an ordinary field error.
[0760]executedallnoneR6.80noneThe enabled attributes are matrix evidence, including Cortex-M placement. R7.20 withdraws volatile with its pointer type (D238) and big, little, weak, inline and noinline (D239); negative/r720-machine-attribute-words-withdrawn pins link(weak).
[0770]executedallnoneR2.50nonematrix evidence
[0780]executedallnoneR2.50nonematrix evidence
[0790]executedallnoneR2.50nonematrix evidence
[0800]executedallnoneR2.50nonematrix evidence
[0810]executedallnoneR4.20noneD196 states [0470]'s actual derivation cut; the pointer.integer-origin evidence pins its non-guarantee
[0820]executedallnoneR4.80noneD212 withdraws the lexical block and builtin parameter type, and R4.80 keeps their named withdrawal diagnostics; explicit ordinary allocator authority, capacity and cleanup replace the unsupported transitive escape promise
[0830]executedallnoneR2.50nonematrix evidence
[0840]executedallnoneR2.50nonematrix evidence
[0850]executedallnoneR6.80noneD227 volatile scalar access is matrix evidence on all three targets. D238 withdraws the volatile ptr type; its named L0010 now says R7.20 withdraws it and names the explicit volatile and register operations.
[0860]executedallnoneR2.50nonematrix evidence
[0870]executedallnoneR2.30nonematrix evidence
[0880]executedallnoneR2.30nonematrix evidence
[0890]executedallnoneR2.30nonenone has matrix evidence; noreturn has a named refusal owned by R6.70
[0900]executedallnoneR2.50nonematrix evidence
[0910]executedallnoneR2.50nonematrix evidence
[0920]executedallnoneR2.30nonematrix evidence
[0930]executedallnoneR2.30nonematrix evidence
[0940]executedallnoneR2.30nonematrix evidence
[0950]executedallnoneR2.30nonematrix evidence
[0960]executedallnoneR2.30nonematrix evidence
[0970]executedallnoneR2.30nonematrix evidence
[0980]executedallnoneR2.30nonematrix evidence
[0990]executedallnoneR2.30nonematrix evidence
[1000]executedallnoneR2.30nonematrix evidence
[1010]executedallnoneR2.30nonematrix evidence
[1020]executedallnoneR2.30nonematrix evidence
[1030]executedallnoneR2.30nonematrix evidence
[1040]executedallnoneR4.10noneD192 and matrix evidence
[1050]executedallnoneR2.30nonematrix evidence
[1060]executedallnoneR2.30nonematrix evidence
[1070]executedallnoneR4.10noneD185 and matrix evidence
[1080]executedallnoneR2.30nonematrix evidence
[1090]executedallnoneR2.30noneUnlabelled begin/end blocks and D234's labelled bare blocks, left by a break naming them with their cleanups run, are matrix evidence on all three targets.
[1100]executedallnoneR2.30nonematrix evidence
[1110]executedallnoneR2.30nonematrix evidence
[1120]executedallnoneR4.10noneD187 and matrix evidence; the division, shift, bool, float and text edges it never removes are named there rather than refused
[1130]executedallnoneR4.10nonematrix evidence
[1140]executedallnoneR4.10nonematrix evidence
[1150]executedallnoneR4.10nonematrix evidence
[1160]executedallnoneR4.10nonematrix evidence
[1170]executedallnoneR4.10nonematrix evidence
[1180]executedallnoneR4.10noneLoop labels and D234's bare-block labels are matrix evidence on all three targets; continue naming a block and break with targeting one are refused. R7.30 found inherited E1's watch inconclusive, since no derived program or core uses a label, break with or complete, and transferred the watch to Language evolution; the construct stays implemented.
[1190]executedallnoneR4.10nonematrix evidence
[1200]executedallnoneR2.30nonematrix evidence
[1210]executedallnoneR2.20nonematrix evidence
[1220]executedallnoneR2.30nonematrix evidence
[1230]executedallnoneR2.60nonematrix evidence
[1240]executedallnoneR2.60nonematrix evidence
[1250]executedallnoneR2.60nonematrix evidence
[1260]executedallnoneR2.60nonematrix evidence
[1270]compiledallnoneR2.60noneHosted compile-time rule audited by R4.90: conformance keys include their input tuples. R7.40 supplies the Cortex-M verdict rather than arguing the rule is target-neutral: negative/r740-cortex-conformance-input-keys compiles the colliding program for cortex-m0 and records the same L0317 report, byte for byte, as the two hosted targets make.
[1280]executedallnoneR2.60nonematrix evidence
[1290]executedallnoneR2.40nonematrix evidence; R2.40 records the named type-parameter source-form boundary
[1300]executedallnoneR2.40nonematrix evidence
[1310]executedallnoneR2.70noneEvidence tables from R2.70 and D211's proved specialization and build report from R4.50 are matrix evidence; no delayed part remains, so R7.20's exit clause for [1310] can cite this evidence.
[1320]executedallnoneR2.60nonematrix evidence
[1330]executedallnoneR4.10nonematrix evidence
[1340]executedallnoneR2.60nonematrix evidence
[1350]executedallnoneR2.40noneParameterized declarations are matrix evidence. Malformed applications are D135's recorded boundary, and R7.40 corrected the note that promised them from the finished R2.40: it now says R2.40 records this source-form boundary, which negative/r740-parameterized-application-boundary pins byte for byte. set(X), which D238 withdrew, meets this refusal as an unresolved application.
[1360]executedallnoneR3.20nonematrix evidence
[1370]executedallnoneR2.80nonematrix evidence
[1380]executedallnoneR2.80nonematrix evidence
[1390]executedallnoneR2.80nonematrix evidence
[1400]compiledallnoneR2.80noneHosted compile-time rule audited by R4.90: heterogeneous implicit boxing is refused. R7.40 supplies the Cortex-M verdict: negative/r740-cortex-inferred-element-mismatch records the same L0301 report there, byte for byte, as the two hosted targets make.
[1410]executedallnoneR3.10nonematrix evidence
[1420]executedallnoneR3.10nonematrix evidence
[1430]executedallnoneR4.30noneD201 aliases retain file-local namespace lookup
[1440]executedallnoneR4.30noneD201 selected imports retain original public declaration identities
[1450]executedallnoneR3.10nonematrix evidence
[1460]executedallnoneR1.60nonematrix evidence
[1470]transferrednonenoneR3.10Companion tool and ecosystemVersions, origins, owner/package naming and the version-conflict error belong to Companion tool and ecosystem, which [1480] says arranges the roots so only one version is reachable; inherited D6 and R551-33 carry the transfer, which R7.30 records as D6's terminal disposition. The compiler's share is [1420]'s first-root rule from R3.10, covered by the driver and resolution suites rather than a fixture claim.
[1480]executedallnoneR4.30Companion tool and ecosystemExplicit ordered roots are matrix evidence from R4.30. Root defaults for the project, user home and system, fetching, version solving, locks and naming authority are Companion tool and ecosystem's under R551-33, as the paragraph says.
[1490]executedallnoneR2.40nonematrix evidence
[1500]executedallnoneR2.40nonematrix evidence
[1510]executedallnoneR4.30noneD202 and fixed assertion fixtures
[1520]executedallnoneR2.40nonematrix evidence
[1530]executedallnoneR4.30noneD202 and deterministic typed option cases
[1540]executedallnoneR2.40nonematrix evidence
[1550]advisorynonenonenonenoneToolchain policy: Landin keeps its own native backends, not LLVM or C. R1.90 left the row bare because no fixture can discriminate it; four later claims were D211, D229 and D230 evidence and R7.10 removed them. Its concrete obligations are other rows' and lanes': the [1570] and [1650] conventions, [1990] firmware, the quality determinism rebuild and the native debugger frame checks.
[1560]executedallnoneR4.30noneCompiler facts and assertions, linker.library, atomics, volatile and register operations and Cortex-M assembly and placement are matrix evidence; other tool operations meet named refusals. D240, an R7.20 decision, withdraws the compiler vector intrinsics in favour of [0590]'s element-wise operators, pinned by negative/r720-vector-intrinsic-withdrawn.
[1570]executedallnoneR3.50noneextern(c), extern(interrupt) and extern(naked) are matrix evidence; the derived driver's interrupt handlers execute on Cortex-M. aapcs, sysv, win64, Fortran and Swift are named as room for later conventions, not described constructs.
[1580]executedhostednoneR4.40noneThe hosted C boundary is matrix evidence under D203--D205. R7.40 found the checker's [1580] refusal entry unreachable and removed it: the categories the paragraph lists are refused where they are written, as the C boundary's own L0301 naming [1580] and listing them, which negative/r740-c-category-boundary pins byte for byte. Cortex-M C signatures are not enabled, an R6.20 restriction that is R730-07's.
[1590]executedhostednoneR4.30noneHosted archive linkage: Linux runtime evidence and Darwin's native archive-selection replacement under R4.30 and R5.50; Cortex-M refuses the general C surface.
[1600]executedhostednoneR4.40noneHosted C definitions from R4.40 are matrix evidence; Cortex-M C signatures are restricted.
[1610]executedallnoneR4.40noneNative and C link names are matrix evidence on both hosts. R7.40 attributes the Cortex-M evidence that executes outside the fixture corpus: R6.60's firmware-machine probe gives a module datum and a native function their link names, and its QEMU session resolves both written symbols in the linked image, recorded in compiler/tests/cortex-m/probes.json. The extern(c) half stays disabled there by R6.20 and is R730-07's.
[1620]executedallnoneR6.30Broader standard libraryD227 scalar atomics, orderings and barriers are matrix evidence on all three targets. D240, an R7.20 decision, transfers the wrapper type to Broader standard library under R551-34, as the paragraph now says.
[1630]executedcortex-mnoneR6.60noneCortex-M0 assembler.block under D229 and D230 executes in the derived driver and firmware lanes; hosted targets refuse machine assembly by design.
[1640]executedcortex-mnoneR6.60noneCortex-M placement, vectors and keep under D229 execute in the derived driver; hosted targets refuse placement by design.
[1650]executedallnoneR1.80nonematrix evidence
[1660]executedhostednoneR3.50nonematrix evidence; the freestanding root is [0460]'s address literal
[1670]executedallnoneR1.80nonematrix evidence
[1680]executedhostednoneR3.60noneCapabilities minted at the hosted entry and passed below it are matrix evidence. The freestanding root is [0460]'s address literal, which the paragraph states is a habit rather than an enforced rule. R7.30 transferred inherited C3's tightening to Language evolution untriggered: no program here runs untrusted code.
[1690]executedallnoneR2.50nonematrix evidence
[1700]executedallnoneR2.30nonematrix evidence
[1710]advisorynonenonenonenoneThe admission test for a new language feature, a design-process rule. It adds no source behavior; R7.30 dispositioned the parked and watch items it governs in the inherited register.
[1720]executedallnoneR2.90nonematrix and guarantee evidence; its stated non-guarantees execute
[1730]compiledallnoneR4.10nonepositive/range-subtypes' recorded IR shows a range-subtype value carrying its proof with no check under D188, a hosted compile-time rule in R4.90's audited register; R7.10 dropped two claims that could not observe elision. R7.40 supplies the Cortex-M verdict on that same fixture, which now also records an accepted cortex-m0 compilation of its own program. That verdict is acceptance and not a second recorded IR because the elision is a property of the target-neutral IR, which no target selects, and a duplicate program would have added a duplicate IR record for nothing.
[1740]executedallnoneR3.10nonematrix evidence
[1750]executedallnoneR1.20nonematrix evidence
[1760]executedallnoneR1.20nonematrix evidence
[1770]executedallnoneR4.10nonematrix evidence
[1780]executedallnoneR1.20nonematrix evidence
[1790]executedallnoneR1.60nonematrix evidence
[1795]executedallnoneR2.20nonematrix evidence
[1800]executedallnoneR2.30nonematrix evidence
[1810]executedallnoneR2.30nonematrix evidence
[1820]executedallnoneR1.40nonematrix evidence
[1830]compiledallnoneR1.30noneHosted compile-time rule: a refusal by name is a diagnostic and nothing executes it. negative/cortex-refused-type-named records the same L0304 report for cortex-m0, byte for byte, as the two hosted targets make.
[1840]executedallnoneR1.50nonematrix evidence
[1850]executedallnoneR1.50nonematrix evidence
[1860]compiledallnoneR1.50noneHosted compile-time rule audited by R4.90. R7.40 supplies the Cortex-M verdict: negative/r740-cortex-name-declared-nowhere records the same L0201 report for cortex-m0, byte for byte, as the two hosted targets make.
[1870]executedallnoneR1.60nonematrix evidence
[1880]executedallnoneR1.60nonematrix evidence
[1890]executedallnoneR1.60nonematrix evidence
[1900]executedallnoneR1.60nonematrix evidence
[1910]executedallnoneR1.60nonematrix evidence
[1920]executedallnoneR2.30nonematrix evidence
[1930]executedallnoneR2.30nonematrix evidence
[1940]executedallnoneR1.60nonematrix evidence
[1950]executedallnoneR1.60nonematrix evidence
[1960]executedallnoneR1.80nonematrix evidence
[1970]executedhostednoneR1.80nonematrix evidence; the hosted entry shape
[1975]executedhostednoneR3.50nonematrix evidence; Cortex-M C boundaries are restricted
[1980]executedallnoneR2.30nonematrix evidence
[1990]executedcortex-mnoneR6.60noneD229 and D230 firmware and machine directives execute through compiler-owned firmware and the derived driver; hosted targets select them away.

Hosted compile-time evidence

These rules are observed while compiling. Every other hosted row in the inventory requires a Linux runtime or ABI fixture with a program and an attributed construct; a compiled hosted row must appear here instead, with the fixtures that accept and refuse it. The metadata is an auditable claim, not proof of the source oracle's adequacy. This table does not withdraw any construct.

ConstructAcceptedRefusedRationale
[1270]positive/r490-conformance-input-keysnegative/conformance-collision, negative/r490-conformance-input-alias-collisionWhole-program conformance keys include normalized input tuples; unequal keys coexist and equal keys collide before runtime.
[1400]nonenegative/local-array-literal-inferred-element-mismatchHeterogeneous implicit boxing is deliberately absent; mismatched element types are rejected. Ordinary explicit any dispatch has separate executed rows.
[1730]positive/range-subtypesnoneA range-subtype value carries its proof between constrained positions; the recorded IR has no second check. A run cannot observe an elided check, so R7.10 moved this row here from its former principle class.
[1830]nonenegative/float-type-not-enabled, negative/indexing-not-enabledA construct the tour describes and the kernel has not enabled is refused with a diagnostic that names it and the work that enables it; the observable behaviour is that diagnostic.
[1860]nonenegative/name-declared-nowhere, negative/condition-declaration-out-of-scopeEvery name must resolve in its scope; the observable failure is a compiler diagnostic.

Prototype derivation coverage

A row means the fixture is a completed executable or negative derivation of the named pressure, not merely that it uses a construct the prototype also used. Source line numbers in the generated prototypes.matrix are recovered from the finding labels, so moving prose cannot stale a hand-copied location, and each row's inputs, outputs and per-target results are derived from the fixture's own record rather than asserted here.

FixturePrototypeFindingsPressure
firmware/derived-driverP1X1, X2, X3, X4, X5, X6, X7, X8, X9complete driver/application and explicit declaration/finding adaptations in compiler/tests/driver/DERIVATION.md; compiler-owned QEMU reset and independent synthetic Renode protocol execution
negative/r630-frame-dmaP1X6, X8tracked frame buffer cannot escape through a DMA descriptor
abi/r630-dma-sliceP1X6, X8escaping ordinary slice, serialized external byte writes, completion boundary and ordinary reads/copy
runtime/diagnostic-loggers-dispatchP2Y1recoverable diagnostics use a bounded or streaming capability without becoming parser failure
runtime/derived-parserP2Y1, Y4, Y5, Y6, Y7a complete recursive parser builds an arena AST, logs and recovers from syntax faults, and propagates allocation or diagnostic-delivery failure through shared erased evidence
runtime/derived-containersP3Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z12, Z13, Z14, Z15, Z16, Z17, Z18, Z19the complete client composes initialized containers, explicit and failing providers, sorting, tree and heterogeneous evidence; its derivation manifest distinguishes executable resolutions from preserved no-gap or superseded sketches
negative/r470-container-entry-live-mapP3Z5, Z16a pointer-bearing enumerated entry keeps its map live across insertion and release
negative/r470-container-entry-wrong-fromP3Z5entry extraction retains the exact map origin
negative/r470-container-missing-order-evidenceP3Z2a constrained generic application call requires its concrete ordering conformance
runtime/parameterized-struct-valuesP3Z2type and fixed parameters on nominal values
runtime/r250-referencesP3Z3, Z18pointer/slice carriers and implicit conventions
negative/borrowed-source-inoutP3Z5, Z16a derived view prevents moving its source
runtime/variant-match-payload-bindings-update-storageP3Z7, Z14pattern conventions and payload-free cases
runtime/generic-declared-errorsP3Z9concept entries retain concrete declared errors
runtime/generic-composed-evidenceP3Z11explicit direct and parent conformances compose
negative/sink-through-dereferenceP3Z12, Z13inout/sink place and permission boundary
runtime/struct-literal-order-and-fillP3Z17contextual anonymous aggregate construction
runtime/undo-cleanups-follow-failure-edgesP3Z19failure cleanup moves its arguments at execution
runtime/generic-parameterized-evidenceP3Z1, Z4parameterized providers receive target-derived evidence
runtime/allocator-vec-pressureP3Z6an escaping generic value parameter is vacuous for a scalar item and exact for a pointer item
negative/parameterized-conformance-entry-signature-mismatchP3Z1, Z4substituted provider signatures must agree
runtime/derived-hosted-memoryP4W1, W2, W3, W4, W5, W6, W7the complete log-filter application selects filters and destinations from retained arguments, reads whole lines across arbitrary chunks, buffers messages with explicit retry, and closes handles through the supplied world
runtime/r480-arena-independent-resultsP4W7simultaneous ordinary allocations and helper-returned pointers, aggregates, slices, any and callback state remain independent; a helper-retained pointer survives the provider frame without passing a returned-value boundary
runtime/r480-arena-nested-exhaustionP4W3, W7explicitly backed nested providers exhaust independently and ordinary defer runs across normal, failure, return, break and continue exits
negative/r480-callback-frame-escapeP4W6, W7ordinary callback-state aggregates retain the tracked frame escape refusal
negative/r480-helper-frame-retentionP4W7a helper still cannot retain a tracked nonescaping frame reference in module storage
runtime/constant-return-exits-with-its-codeP4W2hosted entry uses the ordinary no-argument shape
runtime/generic-composed-evidenceP4W4a narrow concept composes rather than widening
runtime/any-heterogeneous-dispatchP4W6erased state retains mutable permission and dispatch identity
negative/any-frame-origin-escapeP4W6erased state retains pointee origin

Target applicability coverage

These are applicability assignments, not backend claims. Fixture metadata makes the finer assignment and targets.matrix lists every fixture; a missing targets: is a gate failure. synthetic-32 is the executable target model used before the Cortex-M backend existed.

ScopeTargets
prototype-1cortex-m
prototype-2linux-x86-64, macos-arm64
prototype-3linux-x86-64, macos-arm64, cortex-m, synthetic-32
prototype-4linux-x86-64, macos-arm64