# T^GPT v0.8.6 — MNAR / P0 Instrumentation Repair tools

Status: **P0 METHOD READY / EXECUTION BLOCKED / CONFIRMATORY CLOSED**.

v0.8.6 is an engineering-only repair after external review #4. It adds no new theoretical branch.

## Primary repairs

- `compute_recovery_metrics_v0.8.6.py`
  - minimum N per arm = 32;
  - conditional semantic estimand remains explicit;
  - missing mass is separated from semantics;
  - worst-case partial-identification bounds for arbitrary UNMAPPED/UNRESOLVED allocation;
  - optional `UNMAPPED_AFFINITY` diagnostics never remap outputs;
  - complete-case recovery sensitivity is suppressed when mapping gates fail;
  - fixed-family stratified bootstrap;
  - >40% measurement attrition invalidates generalized claims.

- `evaluate_aggregation_v0.8.6.py`
  - 24 distractors minimum: 8 NEAR / 8 MID / 8 FAR;
  - true/distractor ID collision rejected;
  - global and NEAR FPR gates;
  - primary correction uses NEAR FPR;
  - output use must be 80–100% of the shared cap;
  - FPR sensitivity at 0.15/0.20/0.25/0.30.

- `plan_task_precision_v0.8.6.py`
  - MEOI loaded from fixed pre-P0 hash artifact;
  - same fixed-family estimator as analysis;
  - N per task >=32 and planning/confirmation N matched;
  - conservative family-specific attrition adjustment using Wilson lower bounds;
  - valid-task and registered-task caps separated.

- `validate_task_registry_v0.8.6.py`
  - mechanical duplicate / near-duplicate checks;
  - optional independent semantic-audit artifact;
  - does not pretend lexical similarity proves semantic independence.

- `selftest-v0.8.6.py`
  - covers MCAR differential mapping, cluster-selective MNAR identification bounds,
    unequal-N A′, N minimum, recovery mapping, FPR_NEAR, distractor collisions,
    token floor, pre-P0 MEOI and global attrition.

## Local preflight

```bash
python3 selftest-v0.8.6.py
python3 validate_task_registry_v0.8.6.py ../data/planning-tasks-v0.8.2.json
```

Expected:

```text
T_GPT_V0_8_6_MNAR_P0_SELFTEST_OK
```

## Important scope limitation

The v0.8.6 partial-identification interval is an **identification region**, not a frozen
sampling-confidence procedure. Therefore no confirmatory latent-total semantic claim is
enabled by v0.8.6.
