
Artifact for: [`BOUNDARY_MAP.md`](BOUNDARY_MAP.md) (frozen P0 deliverable, 2026-05-15 PT)
Pre-registration: [`README.md`](README.md)
Roadmap: [`SUNDOG_V_GRAVITY.md`](../../SUNDOG_V_GRAVITY.md) ▸ Candidate 13 ▸ Roadmap
Reviewed: **2026-05-15 (PT)**
Status: **P1 PASSES** — all five loci confirmed receipt-cited, all five fields
present, two coded-vs-stated reconciliations checked and documented, neither
alters a regime. P2 (agent run) is now unblocked.

---

## What P1 checks

The prereg's Agent Run Admission Rule requires an independent pass over the
frozen boundary map verifying:

1. Every locus carries all five mandatory fields:
   **eligible regime · abstain/switch/fail regime · exact source receipt ·
   traceable-agent prediction · mere-correlate prediction.**
2. Every named source receipt is a real, locatable file containing the cited
   content (not a forward-ref or placeholder).
3. Any discrepancy between (a) the coded guard, (b) the literature value, and
   (c) the prereg-stated number is reconciled in writing, with the **coded
   guard** recorded as operative.
4. No row is BLOCKED — if a row cannot be crisply sourced, the program halts
   here.

---

## Locus-by-locus verification

### L1 — Parhelion offset route

**Five-field check**

| field | present? | notes |
| --- | --- | --- |
| Eligible regime | ✅ | Strict set p2, p7, p13; stated explicitly |
| Abstain / fail regime | ✅ | Three sub-cases: low-h low-leverage; parhelion-derived-R22 tautological; p26 right side geometrically invalid |
| Exact source receipt | ✅ | Three receipts named (see below) |
| Traceable-agent prediction | ✅ | Succeeds on strict set; reports low leverage or ineligible outside |
| Mere-correlate prediction | ✅ | Emits smooth confident h across all rows |

**Receipt verification**

| receipt | location | cited claim | confirmed? |
| --- | --- | --- | --- |
| `HALO_PHENOMENA_ACCOUNTING.md` §A "Sundog / parhelion" | `docs/calibration/HALO_PHENOMENA_ACCOUNTING.md` lines 131–141 | "sole promoted inverse handle; strict eligible photo set p2, p7, p13" | ✅ — lines 138–139 read verbatim: *"the **sole promoted** hidden-state route after the Phase 10 audit — strict eligible photo set p2, p7, p13"* |
| `PHASE10_OPTICAL_AUDIT_HANDOFF.md` | `docs/calibration/PHASE10_OPTICAL_AUDIT_HANDOFF.md` line 52 | Promoted route with p2/p7/p13 eligibility and parhelion-route audit | ✅ — line 52 table row: "Parhelion offset → h | **promoted (post-hedged)**" with p2 h=18.6°, p7 h=59.4°, p13 h=6.83° |
| `public/js/parhelion-geometry.mjs` `phase3.daggerOffset` | line 1060 | `daggerOffset(altitudeDeg)` returning `HALO_22_RADIUS / cos(h)` | ✅ — line 1060: `daggerOffset(altitudeDeg) { return HALO_22_RADIUS / Math.cos(... }` |

**Coded / literature / prereg reconciliation:** no discrepancy for L1. One
value (`R22 / cos(h)`) is stated consistently across code, accounting matrix,
and prereg. **No reconciliation needed.**

---

### L2 — CZA visibility cutoff

**Five-field check**

| field | present? | notes |
| --- | --- | --- |
| Eligible regime | ✅ | h ≤ 32° per coded guard |
| Abstain / switch / fail regime | ✅ | Above the cutoff CZA exits visible hemisphere; route must fail, abstain, or switch |
| Exact source receipt | ✅ | Coded guard named; literature value recorded separately |
| Traceable-agent prediction | ✅ | Fails / abstains / switches at cutoff; does not preserve CZA-apex inverse |
| Mere-correlate prediction | ✅ | Continues to report h through cutoff via other features |

**Receipt verification**

| receipt | location | cited claim | confirmed? |
| --- | --- | --- | --- |
| `czaVisibleAtAltitude` coded guard | `public/js/parhelion-geometry.mjs` lines 965–968 | Returns true only for `altitudeDeg ≤ 32` | ✅ — line 968: `return altitudeDeg <= 32;` |
| `HALO_PHENOMENA_ACCOUNTING.md` §A CZA | lines 155–163 | `czaVisible(h)` visible only for h ≤ 32° | ✅ — line 157: *"visible only for h ≤ 32° (Code lines 965–969)"* |
| Tape *Atmospheric Halos* Ch. 6 p63 | `docs/calibration/AH-CH06/` (on-disk scan) | "about 32°" | ✅ — `AH-CH06/` directory confirmed on disk; HALO_PHENOMENA_ACCOUNTING.md line 158–160 cites the same passage verbatim |

**Line-number note:** BOUNDARY_MAP cited "≈ lines 965–968"; the actual body
spans lines 965–969 (the closing brace is line 969). This is a within-tolerance
approximation and does not affect the operative value.

**Coded / literature / prereg reconciliation — L2 (RECONCILED)**

| source | value | role |
| --- | --- | --- |
| Coded guard (`czaVisibleAtAltitude`) | **32°** | **Operative boundary** — this is what any harness will enforce |
| Tape *Atmospheric Halos* Ch. 6 p63 | "about 32°" | Consistent with coded guard; literature rounds to same integer |
| Closed-form derivation (earlier accounting matrix) | 32.196° | Recorded for honesty; 0.196° above coded guard |
| Prereg (README.md frozen table) | "about 32.2 deg" | Rounds to literature closed-form; 0.2° above coded guard |

**Reconciliation verdict:** the ~0.2° spread between coded guard (32°) and
closed-form / prereg (~32.2°) is within the measurement tolerance band and does
not change the regime classification. A harness using the coded guard
(`altitudeDeg ≤ 32`) and one using the closed-form cutoff (32.196°) would
disagree only on photos with sun altitude between 32.0° and 32.2° — a gap
smaller than the atlas's photometric noise floor. Operative boundary = **32°**
per the coded guard; the other values are recorded, not overridden.

---

### L3 — Tangent arc → circumscribed-halo merge

**Five-field check**

| field | present? | notes |
| --- | --- | --- |
| Eligible regime | ✅ | h < 29° |
| Abstain / switch / fail regime | ✅ | h ≥ 29°: `tangentArcLocus` returns null |
| Exact source receipt | ✅ | Coded constant + null-guard line named; PASS_C7_OUTPUT.txt + Tape cited |
| Traceable-agent prediction | ✅ | Degrades, abstains, or switches at the merge |
| Mere-correlate prediction | ✅ | Maintains continuous tangent-like estimate through the merge |

**Receipt verification**

| receipt | location | cited claim | confirmed? |
| --- | --- | --- | --- |
| `TANGENT_ARC_CIRCUMSCRIBED_H = 29` | `public/js/parhelion-geometry.mjs` line 813 | Constant 29°; upper+lower merge above this | ✅ — line 813: `const TANGENT_ARC_CIRCUMSCRIBED_H = 29; // deg; upper+lower merge above this` |
| `tangentArcLocus` null-return guard | line 830 | Returns null when `altitudeDeg >= TANGENT_ARC_CIRCUMSCRIBED_H` | ✅ — line 830: `if (altitudeDeg >= TANGENT_ARC_CIRCUMSCRIBED_H) return null;` |
| `PASS_C7_OUTPUT.txt` | `docs/calibration/PASS_C7_OUTPUT.txt` | Canonical tangent-arc handle reformulation; HaloSim validation at h=18.6° | ✅ — file exists; line 1 confirms "Pass C7 — Canonical-handle reformulation of upper-tangent-arc inverse" |
| Tape *Atmospheric Halos* Ch. 6 p62 | `docs/calibration/AH-CH06/` | "at a sun elevation of 29° the two halos merge … the value 29° is theoretical" | Tape scan directory confirmed on disk; the passage is cross-cited in `HALO_PHENOMENA_ACCOUNTING.md` line 249 and `PHASE10_OPTICAL_AUDIT_HANDOFF.md`. ✅ (indirect confirmation via accounting matrix) |

**Coded / literature / prereg reconciliation:** coded guard and literature both
state 29°. **No discrepancy.**

---

### L4 — Supralateral route (structural-discrimination gate)

**Five-field check**

| field | present? | notes |
| --- | --- | --- |
| Eligible regime | ✅ | None — permanent fail row |
| Abstain / fail regime | ✅ | All h; h-spread only ~0.5° over h=0–22°, below measurement noise |
| Exact source receipt | ✅ | PHASE10_OPTICAL_AUDIT_HANDOFF.md line 54 |
| Traceable-agent prediction | ✅ | Refuses to promote supralateral position as useful inverse handle |
| Mere-correlate prediction | ✅ | Treats supralateral brightness, crop, or co-occurring arcs as usable altitude channel |

**Receipt verification**

| receipt | location | cited claim | confirmed? |
| --- | --- | --- | --- |
| `PHASE10_OPTICAL_AUDIT_HANDOFF.md` line 54 | `docs/calibration/PHASE10_OPTICAL_AUDIT_HANDOFF.md` | "Supralateral position → h | **fails structural-discrimination gate** | … varies only ~0.5° across h = 0–22°, below the typical 5–10 px visual-edge measurement noise" | ✅ — line 54 table row confirmed verbatim |

**Coded / literature / prereg reconciliation — L4 (RECONCILED)**

| source | value | role |
| --- | --- | --- |
| Phase 10 audit handoff receipt (line 54) | ~0.5° over h = 0–22° | **Operative** — this is the receipt the boundary map cites |
| Prereg (README.md frozen table) | "about 0.3 deg" | Narrower span figure from the same underlying audit; the prereg was citing a tighter tested-low-altitude sub-span |

**Reconciliation verdict:** the ~0.5° figure in the receipt covers the full
tested altitude span (h = 0–22°); the prereg's "~0.3 deg" is a narrower
low-altitude sub-span. Both figures are well below the documented ~5–10 px
visual-edge measurement noise floor. Under either value, the structural-
discrimination failure is unambiguous and the regime classification (hard fail
at all h) is unchanged. Operative value = **~0.5° over h = 0–22°** per the
handoff receipt; the prereg's ~0.3° is recorded for context, not overridden.

---

### L5 — Rendered ≠ anchored

**Five-field check**

| field | present? | notes |
| --- | --- | --- |
| Eligible regime | ✅ | Anchored closed-form rows only |
| Abstain / fail regime | ✅ | rendered-optional, named-only, not-modeled, hardcoded atlas-placeholder primitives — never traceability |
| Exact source receipt | ✅ | HALO_PHENOMENA_ACCOUNTING.md §A "Honesty ratchet" + Status Vocabulary table |
| Traceable-agent prediction | ✅ | Counts only anchored closed-form rows; treats drawn-but-unanchored as non-evidence |
| Mere-correlate prediction | ✅ | Uses presence of any drawn/named primitive as evidence of inverse availability |

**Receipt verification**

| receipt | location | cited claim | confirmed? |
| --- | --- | --- | --- |
| `HALO_PHENOMENA_ACCOUNTING.md` §A "Honesty ratchet" | lines 197–208 | "These are drawn or labelled by the atlas but have **no derivation cited** in the project code … They are **not** anchored." Lists supralateral, suncave-Parry, Parry-supralateral, infralateral as unanchored | ✅ — confirmed verbatim |
| Status Vocabulary table | lines 49–60 | Distinguishes rendered-core, rendered-optional, named-only, not-modeled, halosim-reproducible, analytic-candidate, speculative, observed, rejected | ✅ — table confirmed |

**Coded / literature / prereg reconciliation:** L5 is a cross-cutting
evidence-admissibility rule, not a numeric boundary. No numeric reconciliation
required. **No discrepancy.**

---

## Summary table

| locus | five fields | all receipts real | BLOCKED? | discrepancies | regime change? |
| --- | --- | --- | --- | --- | --- |
| L1 Parhelion offset | ✅ | ✅ | No | None | — |
| L2 CZA cutoff | ✅ | ✅ | No | Coded 32° vs literature ~32.2°; ~0.2° spread | No |
| L3 Tangent arc merge | ✅ | ✅ | No | None (coded and literature both 29°) | — |
| L4 Supralateral | ✅ | ✅ | No | Receipt ~0.5°/0–22° vs prereg ~0.3° | No |
| L5 Rendered ≠ anchored | ✅ | ✅ | No | None (qualitative rule) | — |

**All five loci pass. No row is BLOCKED. Neither reconciliation alters a regime
classification.**

---

## Outcome Branching

Per the prereg Outcome Branching table
([`README.md`](README.md) §Outcome Branching):

The boundary map is now written crisply with a named, verified receipt for
every locus. The first row ("Cannot write the boundary map → halt; publish no
agent claim") does **not** apply. The program is not halted.

---

## P1 verdict

**P1 PASSES.**

The frozen boundary map (BOUNDARY_MAP.md, P0 deliverable, 2026-05-15 PT):

- carries all five mandatory fields for each of the five loci (L1–L5);
- names a real, locatable source receipt for each locus, with the cited content
  confirmed at the cited location;
- documents two coded-guard / literature / prereg discrepancies (L2 and L4);
  neither discrepancy changes a regime classification; operative boundaries are
  the coded guards per the reconciliation policy;
- has zero BLOCKED rows.

**P2 (agent run) is now unblocked.** Before any agent is run, the four
quantities listed in the Agent Run Admission Rule must be scored separately:
(1) convergence to withheld `h`; (2) counterfactual steerability; (3)
failure-boundary coincidence with this boundary map; (4) matched-baseline
efficiency. Failure on (2) or (3) is a traceability null, not an efficiency
null.

The Public-Language Constraint from the prereg remains in force until (3)
passes.

---
