fix(I-25): --workload is bound to the prompt corpus — receipt.workload only with corpus_sha256 of a prompts file whose _meta.corpus equals the label; --workload W1 --profile short is refused with one line (PMAT-973, #2888, #2756) - #3008
Open
noahgift wants to merge 5 commits into
Conversation
noahgift
enabled auto-merge
September 6, 2026 07:10
|
§13.11 rung 1 — quorum shadow verdict Shadow mode: this records a verdict and merges nothing. A refusal |
noahgift
disabled auto-merge
September 7, 2026 11:53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PP-066 DAG row I-25 (issue #2888; defect #2756; epic #2873; ticket PMAT-973; owner perf-gate; receipt
docs/audits/impl-PMAT-973-receipt.md,status: partialuntil merged).The defect (#2756):
--workloadwas a free-text label with no connection to the prompts sent;apr test llm band --workload W1 --profile shortsent one prompt thirty times and the receipt recordedworkload: W1— the W1 corpus's own_meta.distinctness_rationalesays identical prompts let prefix caching, not the scheduler, drive Arm A's number. A label the receipt cannot falsify is not provenance.What lands:
bind_workload(label, prompts_file) -> WorkloadBinding { label, corpus_sha256, prompt_count }— accepted only when the file's first-line_meta.corpusequals the label (refused naming both labels, or "not a labelled corpus"); the band receipt carriescorpus_sha256(sha256 of the file bytes);--workload <corpus label>with no prompts file is refused before the first request with one line naming the corpus. Test moduleworkload_corpus_binding(RED first at 24b077a): the real W1 corpus binds (256 prompts), a W2-labelled file refuses W1, a header-less file refuses, a receipt with a label and no digest is refused. Contractcontracts/apr-workload-corpus-binding-v1.yaml(kind: pattern); README 1812 contracts.Acceptance, re-run by the orchestrator on e925fc0
cargo test -p apr-cli --lib workload_corpus_bindingcargo test -p apr-cli --lib test_llm_band(65 tests)cargo fmt --all -- --check·cargo clippy -p apr-cli --lib -- -D warnings·pv validate·pv lint·check_contract_test_binding.sh·check_contract_enforcement.sh·check_readme_claims.sh·check_no_claim_literals.sh·check_roadmap_diff_additive.shMutation — RED, then restored GREEN: the
_meta.corpuscomparison removed (any file accepted) →a_corpus_labelled_w2_refuses_the_w1_labelanda_prompt_set_with_no_meta_header_is_not_a_labelled_corpusFAILED (2/4) → restored 4/4.Recorded: the card's
--test workload_corpus_bindingis a#[cfg(test)]module ofcommands::test_llm_band(crate-private tree; thelib.rsseam is blocked by the pre-commit gate on pre-existing debt — same as R-3/T-2); the--profile shortrefusal is the unit-tested branch, not a live server run. Receipt for this PR itself: advisory, not produced (driver A1).