# RocJITsu corpus policy `gfx1250_b0_a0_semantic_tests.json` selects semantic programs whose instruction forms have implemented runtime translations. The companion `gfx1250_b0_a0_semantic_rewrites.json` pins the exact positive offline rewrite count for every selected executable. Four source-coverage programs are intentionally outside this qualification until their translations are implemented: - `barrier_signal_isfirst_test` - `fp8_e5m3_pack_test` - `wmma_split_f16_test` - `wmma_split_fp4_test` The offline translator currently rejects those forms as unsupported. They are not silently accepted or treated as passing translations. ## Offline translation SHA baseline The `rocjitsu-test-corpus` workflow records the SHA-256 of every successful gfx1250 B0-to-A0 input and translated output after the release-lane corpus tests succeed. A develop push uploads the canonical manifest as the `gfx1250-b0-a0-sha-pairs` workflow artifact for 45 days. A manual workflow dispatch on the `develop` branch also refreshes the baseline when the official corpus repository and pinned gfx1250 corpus ref are left unchanged. The manifest includes the fixed translation profile, pinned corpus commit, input-manifest hash, package-lock hash, ROCm SDK version, and source commit; it never contains the code objects themselves. Pull-request runs upload a seven-day candidate manifest without receiving write access. A separate trusted workflow selects the newest completed, unexpired artifact from a successful develop push or canonical manual run, then compares output hashes only when the corpus, input manifest, package lock, and SDK provenance match. Before using a candidate artifact, the trusted workflow also requires the expected source workflow path and an exact match to the current head of a same-repository PR. Changed outputs or incompatible provenance create or update one non-blocking warning comment on the PR. When a later run matches, the workflow removes its stale comment. `record-gfx1250-dbt-sha-pairs.py` runs a bounded, translation-only collection pass after the corpus tests and validates the resulting manifest. The external corpus harness does not expose the translated bytes, so keeping collection separate avoids coupling its interface to this workflow. The preceding harness run qualifies the included input set under its timeout and memory policy; the collector repeats the per-object timeout and does not rerun declared exclusions. It streams each output through a temporary file and retains only its size and SHA-256. Its `finalize` command requires every pinned corpus input to have either a successful pair or a matching declared exclusion, which prevents partial runs from becoming a develop baseline.