## This repository: Crafter.Graphics - A claim that a tree passes the test suite, builds for a target, links `Win32Link`, builds an example or passes `node --check` traces to the Gate 0 log among the evidence paths INPUTS names: each command with its exit code and the sha it ran at. A test the log shows as skipped, by exit 77 or a missing tool, is not a pass. A claim of a run anywhere else (the aarch64 phone target, the Win32 tests under Wine, a named GPU or driver version, a browser, Deno's WebGPU, an example run by hand, a frame judged by eye) traces to a capture of that run that names the commit, or is unverifiable. - A validation claim ("clean under the validation layer", "no validation errors") holds only for a run in which the layer loaded. Read `Device::Initialize` at HEAD for what a run with `CRAFTER_GRAPHICS_VALIDATION` set does when `VK_LAYER_KHRONOS_validation` is not installed: where it creates the instance without the layer and says nothing, every validation check passes with nothing seen, and since crafter-build prints only the name and time of a passing test, the Gate 0 log alone does not show that the layer ran. - A test a message names exists as a `LibraryTest("")` in `project.cpp` and a `tests//main.cpp` whose checks pin what the message says. - `AGENTS.md` is generated from `AGENTS.template.md` and the dependencies' `AGENTS.consumer.md` and is not in the tree: a claim about it is checked against those sources. `AGENTS.consumer.md` reaches consumers' agents on their next build: every sentence in it is a claim about the code at the commit that writes it. - A statement of where a driver stands (the NVIDIA notes in `README.md`, `examples/VulkanTriangle/README.md`, `examples/Sponza/README.md` and the guide's gotchas) names the driver version and traces to a run of the probe on it (`HeapASRead --no-workaround`, `HeapDynamicIndexHit`), or is unverifiable. - A size or layout claim about a struct the GPU reads is checked against the `static_assert` beside the C++ struct, the `std430` block in `shaders/ui-shared.glsl` and the WGSL in `additional/dom-webgpu.js`.