# D22 Fresh-Clone Local Rerun Drift Report

Status:

```text
D22_FRESH_CLONE_LOCAL_RERUN_DRIFT_REPORT_MIXED__SOME_LOCAL_ROWS_DRIFT_OR_SKIPPED__NO_PHYSICAL_CLAIM
```

D22 is a replication-hardening layer for the D20 cross-branch reviewer bundle.
It is not a new experiment, does not run QPU jobs, does not modify D20 rows and
does not add a physical claim.

## Purpose

D22 asks:

```text
Can the non-QPU D20 reviewer rows be rerun locally from the current clean
worktree style environment, and can any status/hash drift be reported without
changing thresholds or expected statuses?
```

This is the step after D21. D21 checked manifest structure, raw paths, QPU lock
and claim safety. D22 adds local reruns for the non-QPU rows and records drift.

## Frozen D20 Rows

Local rerun rows:

- `C3B_V011_PROBE_BUDGETED_N12`
- `COND3_PHASE_DIAGRAM`
- `GR3_HELDOUT_DECOMPOSITION`
- `TIME2C_DARK_ENTROPY_SCOPE`
- `MOD1_NEGATIVE_TAXONOMY`
- `ISLANDS1_META_AUDIT`

QPU rows remain explicit-approval-only:

- `D7B_PLANCK_CAPACITY_QPU`
- `D10F_SOURCE_RESPONSE_QPU`

## Implementation

Script:

```powershell
python -m py_compile ithkor_d22_fresh_clone_local_rerun_drift_report.py
python ithkor_d22_fresh_clone_local_rerun_drift_report.py --output-dir experiments\199_d22_fresh_clone_local_rerun_drift_report\raw\d22_fresh_clone_local_rerun_drift_report_2026-06-17
```

Raw output directory:

```text
experiments/199_d22_fresh_clone_local_rerun_drift_report/raw/d22_fresh_clone_local_rerun_drift_report_2026-06-17/
```

Generated files:

- `ithkor_D22_summary.json`
- `ithkor_D22_manifest_rows.csv`
- `ithkor_D22_local_rerun_matrix.csv`
- `ithkor_D22_qpu_skip_matrix.csv`
- `ithkor_D22_status_drift_matrix.csv`
- `ithkor_D22_hash_drift_matrix.csv`
- `ithkor_D22_claim_audit_matrix.csv`
- `ITHKOR_D22_FRESH_CLONE_REVIEWER_NOTES.md`

## Drift Classes

| class | meaning |
| --- | --- |
| `no_drift` | Expected status and selected summary hash match historical reference. |
| `hash_only_drift` | Expected status reproduced, but selected summary hash differs. |
| `numeric_tolerance_drift` | Status reproduced, but no comparable historical hash was available. |
| `status_drift` | Observed status differs from the frozen D20 expected status. |
| `skipped_with_reason` | Row was not practical or allowed to rerun in D22. |
| `failed` | Local command returned non-zero or timed out. |

Hash drift is not automatically a scientific failure. It can be caused by new
output directories, timestamps, command metadata or harmless serialization
differences. Status drift is treated as the stronger reviewer signal.

## Gate Summary

| gate | result |
| --- | ---: |
| manifest rows | 8 |
| manifest valid | true |
| raw dirs missing | 0 |
| local rows attempted | 6 |
| local rows status-reproduced | 6 |
| local rows skipped | 0 |
| local rows failed | 0 |
| status drift count | 0 |
| hash-only drift count | 6 |
| QPU rows skipped explicit approval only | 2 |
| QPU policy violations | 0 |
| MOD1 remains fail | true |
| claim audit passed | true |
| physical claim added | false |

## Result Interpretation

All six non-QPU D20 reviewer rows reproduced their frozen expected status from
new D22 output directories:

- `C3B_V011_PROBE_BUDGETED_N12`
- `COND3_PHASE_DIAGRAM`
- `GR3_HELDOUT_DECOMPOSITION`
- `TIME2C_DARK_ENTROPY_SCOPE`
- `MOD1_NEGATIVE_TAXONOMY`
- `ISLANDS1_META_AUDIT`

The machine status remains mixed because every selected summary hash differs
from its historical reference. That is useful reviewer forensics, but it is not
status drift. The intentional negative row, `MOD1_NEGATIVE_TAXONOMY`, remains a
fail row.

## Guardrails

D22 does not:

- run QPU jobs;
- change D20 manifest rows;
- change expected statuses;
- change thresholds;
- retune `MOD1_NEGATIVE_TAXONOMY`;
- overwrite historical D20 raw outputs;
- add a physical claim.

## Claim Boundary

Allowed:

- local rerun drift reporting;
- status/hash comparison against frozen D20 references;
- QPU default lock;
- MOD1 negative-row retention;
- reviewer-facing replication hardening.

Blocked:

- D22 does not prove gravity;
- D22 does not prove spacetime;
- D22 does not prove physical time;
- D22 does not derive Einstein equations;
- D22 does not prove quantum gravity;
- D22 does not establish a theory of everything;
- D22 does not confirm General ITHKOR.

## Next

If D22 status reproduction is clean enough, the reviewer-facing package can be
treated as locally rerunnable for its non-QPU rows. If a row drifts, the next
step is documentation of the drift source, not parameter hunting.
