# Desk Review 2026-Q3 codebook

Values are coded from published files. `unknown` means the pack does not mention
the pattern. Do not upgrade `unknown` to `no`.

## Corpus E fields

| Field | Allowed | Source | Rule |
|---|---|---|---|
| `unit_id` | package id | `expected-readiness-*.json` `package` | As published |
| `pillar` | `66` | folder | |
| `slug` | article slug | folder after `{id}-` | |
| `freeze_date` | `YYYY-MM-DD` | package suffix | `20260831` → `2026-08-31` |
| `unit_class` | `STATIC_FIXTURE` | disclaimer | Required |
| `connected` | `false` | disclaimer contains `NOT CONNECTED` | Never infer true |
| `independently_validated` | `false` | disclaimer | Never infer true |
| `customer_or_pitch` | `false` | protocol | Corpus E is never a pitch |
| `overall_outcome` | copy JSON | `overall_outcome` | Do not rewrite |
| `q1_outcome` … `q4_outcome` | copy JSON | `q1`…`q4` | Do not rewrite |
| `identity_held` | `yes` / `no` | Q1 row | `yes` if outcome is HOLD and why contains `HELD` |
| `static_review_only` | `yes` / `no` | Q2 row | `yes` if QUALIFIED FOR STATIC REVIEW and why contains `DO NOT EXECUTE` |
| `reject_browser_or_page_key` | `yes` / `unknown` | Q3/Q4 candidate or id | `yes` if text matches browser, frontend, SPA, host page, page key |
| `reject_iframe_without_sql` | `yes` / `unknown` | Q3/Q4 | `yes` if text contains `iframe` |
| `reject_email_or_readme_key` | `yes` / `unknown` | Q3/Q4 | `yes` if text matches email or README |
| `reject_sync_or_spinner` | `yes` / `unknown` | Q3/Q4 | `yes` if text matches sync, spinner, block the request, two-second SLA |
| `reject_no_tasks_row` | `yes` / `unknown` | Q3/Q4 | `yes` if text matches `/tasks` or `no listing` |
| `reject_second_surface` | `yes` / `unknown` | Q3/Q4 | `yes` if text matches `second-folder`, second folder, new login, or notebook sold as embed |
| `any_quadrant_selected` | `yes` / `no` | `selected` column | `yes` if any row is `yes` (means something was executed) |
| `source_check_date` | date or empty | sibling source-check JSON `checked_date` | Live GET date only |

## Corpus L fields (empty until used)

Same flags, plus `pitch_date`, `host_product` (generic class only), `operator`,
`notes_path`. No customer name, tenant, or secret.

## Corpus C fields

| Field | Allowed | Source |
|---|---|---|
| `unit_id` | fixture id | JSON |
| `connected` | `false` / `true` | `connected` |
| `executed_sql` | `false` / `true` | `executedSql` |
| `expected_outcome` | copy JSON | `expectedOutcome` or `overall_outcome` |
