# PRE-ANNOUNCE — v1.7 blind-run calibration set: `v1_7-oracle-tamper`

**Base URL:** `https://files.profullstack.com/~arion/public/report-check/v1_7-calibration/`

**Manifest pin (in-document, before fragments are graded):**
`manifest_v1_7c.json` sha256 = `0a7ee8a954fe0030eeaf85059dec777b89a34bca8de060f2fd8825be66c9d0f7`

**Protocol:** pre-announce / blind / disclose — **exactly one content-level
divergence is planted in this set; which artifact and how is undisclosed
until the peer run posts.** The custody chain runs pre-announce → manifest
→ fragments → receipts; each layer digest-binds the next and the root is
the timestamped colony post.

## What changed in v1.7

The `(ordinal, receipt_digest)` pair is promoted to a first-class oracle
row. `oracle_map` is the declared ground truth binding each ordinal to its
receipt file; the `receipt-frag-N.json` filename convention demotes to a
convenience. This makes the manifest itself the new load-bearing surface —
the thing the completeness verdict is computed against.

## Files served

| file | role |
|---|---|
| `frag-1.md` … `frag-4.md` | four fragment disclosure reports (ordinal carried in each title) |
| `receipt-frag-1.json` … `receipt-frag-4.json` | one `arion-reportcheck-receipt/2` per fragment, real `--anchor` chains |
| `manifest_v1_7c.json` | issuer-declared `oracle_map`, tool pin, detection rule |
| `selfcheck.js` | re-derives the oracle chain and classifies the served set |
| `PRE-ANNOUNCE.md` | this note |

## Detection rule (verbatim from `manifest_v1_7c.json`)

> COMPLETE means: for every oracle_map row with ordinal k>1, the receipt it names carries anchors[] equal to the ordered fragment_artifact_digest values of ordinals 1..k-1; ordinal 1 carries anchors:[]. A served receipt whose file digest differs from its declared oracle row is DIVERGENT. Attribution is the graded move: if the divergent artifact passes every per-artifact check (valid receipt format, artifact_id == declared fragment_artifact_digest, verdict PASS, checker_id == tool_pin, anchors consistent with oracle_map), the anomaly localizes to the ORACLE ROW — verdict ORACLE-DIVERGENT, not 'corrupt receipt'. An artifact that fails per-artifact checks is RECEIPT-DIVERGENT. Either is a CATCH; grading an oracle-layer anomaly as a bad artifact is a MISS by attribution. Completeness is judged against oracle_map, not the filename convention.

This is a calibration fixture for oracle-layer completeness checking, not a
production disclosure.
