You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
pv SHACL release-readiness shape: the tag is REFUSED unless every (Q4_K model in host inventory × {lambda,gx10} × {run,chat,serve,code} × consumer-context) cell has a Pass receipt — a missing cell is a violation, never a skip #3715
"you need to improve our dogfood process and pv SHACL so leaks don't exist pre-release. this is clown town."
Why a shape, not another script
Every leak today was absence read as conformance: a rung marked optional; a GPU golden error read as a skip (#3711); an inherited dogfood that never measured the release version (#3708); models on the host that weren't on the ladder (#3712); qwen3moe with no CUDA path and no ticket (#3714). A SHACL shape with sh:minCount 1 on every required cell makes absence a violation by construction, and pv already has the machinery: pv lint --gate shapes, vacuity refusal (#3610 arm 1), armed-vs-not-armed reporting.
the shaperelease-readiness-v1: focus = every :Model in the inventory of every required :Host. For each (verb, context rung) exactly one :Receipt with verdict=Pass, backend=cuda, fallback=false, apr_sha = release commit. A missing, skipped, stale-sha or fallback receipt is a violation naming the cell.
armed with a red-turning falsifier: fixtures where each single cell is missing, skipped, falls back, or is stale, and each one turns the gate RED (the ONT-001 rule: a shape that has never gone red isn't armed)
wired where the decision is made: autopilot's T-1 step and check_publish_preflight.sh both run pv lint --gate shapes --shape release-readiness-v1 on the release commit's evidence, and a violation STOPs before the tag and refuses at T-4
proof: on the v0.69.0 evidence the shape reports the actual leaks (qwen3-8b lambda, qwen2.5-coder lambda, qwen3moe both hosts, chat/serve/code cells absent). On 0.69.1 it passes with N/N cells named.
Folded sub-tickets (TRIAGE-100, 2026-10-14)
These open sub-tickets were folded here as checklist rows and closed as not planned so the open count stays at or under 100. Reopen one when its work resumes; an open PR for it reopens it.
Added cell (operator approved, verbatim "yes, to all", 2026-09-21): kernel differential per GPU architecture.
The evidence graph gains :KernelDiffReceipt nodes: (kernel, sm arch ∈ {sm_89 lambda, sm_121 gx10}, reference ∈ {cpu, cuda-oxide twin}, max_err, bound, verdict). The bound is DERIVED from a measured known-good/known-bad pair (the C14 basis pattern), never picked.
release-readiness-v1 requires a Pass receipt for every kernel on the release's dispatch path (the kernels apr parity --per-op reports for each inventory model) on EACH GPU arch. A kernel that behaves differently on sm_89 and sm_121 is a violation BEFORE any model-level cell is judged. That's the class that made qwen2.5-coder red on lambda only while gx10 was green.
The falsifier fixture is a kernel receipt that passes on sm_121 and fails on sm_89, and it turns the gate RED.
Dimensions added (operator, verbatim): "lets ensure this release has MORE than enough tokens for our needs (overdo it), and our verbs are dogfooded, i.e chat with and without thinking, ditto run, ditto code, etc,". Each cell is now (model, host, verb ∈ {run, chat, serve, code}, thinking ∈ {on, off}, context rung ∈ {4k, 8k, 20k, 60k, 148k, the model's declared context_length}). The declared length is READ from the GGUF, not picked. Thinking ON must close its block and answer correctly, or REPORT an unclosed block as an error, never an empty answer. Full statement on #3710.
New required cell kind (operator, verbatim: "we also need a quick CRUX dogfood … same prompts/verbs on llama.cpp and say ollama for same model: chat/serve/run/code")::CruxCell from #3739, keyed (model sha256, host, verb, thinking, rung) with an engine ∈ {apr, llama.cpp@pin, ollama@version} answer each. Violation: a cell where llama.cpp or ollama is correct and apr isn't. Perf fields are carried but never judged (reported only). Falsifier: a fixture where llama.cpp is correct and apr wrong on one cell turns the gate RED.
Activity
noahgift commentedon Sep 21, 2026
Added cell (operator approved, verbatim "yes, to all", 2026-09-21): kernel differential per GPU architecture.
:KernelDiffReceiptnodes: (kernel, sm arch ∈ {sm_89 lambda, sm_121 gx10}, reference ∈ {cpu, cuda-oxide twin}, max_err, bound, verdict). The bound is DERIVED from a measured known-good/known-bad pair (the C14 basis pattern), never picked.release-readiness-v1requires a Pass receipt for every kernel on the release's dispatch path (the kernelsapr parity --per-opreports for each inventory model) on EACH GPU arch. A kernel that behaves differently on sm_89 and sm_121 is a violation BEFORE any model-level cell is judged. That's the class that made qwen2.5-coder red on lambda only while gx10 was green.noahgift commentedon Sep 21, 2026
Dimensions added (operator, verbatim): "lets ensure this release has MORE than enough tokens for our needs (overdo it), and our verbs are dogfooded, i.e chat with and without thinking, ditto run, ditto code, etc,". Each cell is now (model, host, verb ∈ {run, chat, serve, code}, thinking ∈ {on, off}, context rung ∈ {4k, 8k, 20k, 60k, 148k, the model's declared context_length}). The declared length is READ from the GGUF, not picked. Thinking ON must close its block and answer correctly, or REPORT an unclosed block as an error, never an empty answer. Full statement on #3710.
PMAT-3715: the 0.69.0 proof keeps a summary, not the 348 KB report it…
noahgift commentedon Sep 21, 2026
New required cell kind (operator, verbatim: "we also need a quick CRUX dogfood … same prompts/verbs on llama.cpp and say ollama for same model: chat/serve/run/code"):
:CruxCellfrom #3739, keyed (model sha256, host, verb, thinking, rung) with an engine ∈ {apr, llama.cpp@pin, ollama@version} answer each. Violation: a cell where llama.cpp or ollama is correct and apr isn't. Perf fields are carried but never judged (reported only). Falsifier: a fixture where llama.cpp is correct and apr wrong on one cell turns the gate RED.PMAT-3715: implementation receipt — every criterion quoted verbatim w…
Merge origin/main into PMAT-3715 — #3706 ties pc_extract to Σ, so rel…
PMAT-3715: round-3 quorum receipt (3 PASS at 84289cb) and the VERBS r…
fold #3715 complexity fix (97, 2a40dda) into release/0.69.1-batch-1 —…
release/0.69.1-batch-1: three combination fixes found by PR #3772's f…
PMAT-3774: plugin engines held to their lane (reported.device require…
PMAT-3792: the complexity refactor gets its own ticket, fragment and …
PMAT-3792: quorum receipt — round at f523c88: 2 PASS + lane 3 NO-VERD…
PMAT-3792: quorum receipt — round at f523c88: 2 PASS + lane 3 NO-VERD…
89 remaining items
evidence(#4814): what #4600 and #3715 need from slices 2 and 3
pv extract --v2-evidence(Refs #4539) #5193docs(models-nightly): name B as the commit verify() and the models ve…
pv extract --v2-evidence(Refs #4539) #5193feat(apr-cli): derived-cell coverage for release surfaces, LAB checks…
noahgift commentedon Oct 22, 2026
Tracked in #3863 (triage 2026-10-22).