# Paper A Round 29 Review — codex GPT-5.5 v4 round 9 (final cross-check)

Reviewer: gpt-5.5
Date: 2026-05-14
Target: paper/v4/paper_a_prose_v4_phase4.md + paper/v4/paper_a_methodology_v4_section_iii.md + paper/v4/paper_a_results_v4_section_iv.md (post round-4)
Prior reviewer artifacts: paper/codex_review_gpt55_v4_round{7,8}.md; paper/gemini_review_v4_round{1,2}.md; paper/opus_review_v4_round{1,2}.md
Round-4 commit reviewed: d3ddf746f4555a68072ec2dacf5a455d6334033d

## Verdict

Minor Revision.

Round-4 closes the intended structural shape of Opus N1-N4, but two provenance-sensitive wordings must be corrected before manuscript-splice assembly:

1. The §IV-M.4 denominator reconciliation is arithmetically right but describes the 379 mixed-firm PDFs as Firm C "majority firm" cases. Direct verification against the database and Script 45 shows they are 1:1 Firm C/Firm D ties assigned to Firm C by the mode/tie-break implementation.
2. The new §III-M Table XXVII composition-decomposition row is structurally right but its untested-assumption column over-attributes the within-firm corroboration to Script 39c. Script 39c's emitted raw dHash per-firm tests reject unimodality; the jittered non-Big-4 per-firm support is not emitted in the current Script 39c/39d reports.

Phase 5 convergence by panel vote is still achieved: Gemini round-2 = Accept, Opus round-2 = Minor Revision, codex round-9 = Minor Revision. That is 3/3 reviewers in the Accept/Minor band. I would not splice the current text verbatim, but the remaining changes are small text/provenance patches, not new empirical work.

## N1–N4 closure verification

**N1. Firm C denominator reconciliation — partially closed, but not clean.**

The reconciliation landed at paper/v4/paper_a_results_v4_section_iv.md:325. The arithmetic is correct: §IV-J Table XIX reports single-firm document rows with Firm C $n = 19{,}122$ and excludes 379 mixed-firm PDFs at paper/v4/paper_a_results_v4_section_iv.md:192-213; §IV-M.4 reports mode-assigned per-firm D2 denominators summing to $75{,}233$, with Firm C $n = 19{,}501$ at paper/v4/paper_a_results_v4_section_iv.md:317-325. Script 45's implementation maps each document to a firm mode via `np.unique(..., return_counts=True)` and `np.argmax(counts)` at signature_analysis/45_doc_level_far_full_5way.py:249-256, and the Script 45 report gives Firm C $n = 19{,}501$ in the per-firm doc-level table.

The problem is the explanatory phrase "majority firm." A direct SQLite check of the Script 45 substrate returns exactly one mixed-document pattern: `Firm C:1+Firm D:1 | 379`; majority docs = 0 and tie docs = 379. Thus all 379 mixed-firm PDFs resolve to Firm C because of the sorted mode tie-break, not because Firm C is the empirical majority within those PDFs. Replace the current sentence with tie-break language, e.g. "The 379 mixed-firm PDFs are all 1:1 Firm C/Firm D mixed-firm documents; Script 45's mode-of-firms implementation assigns tied modes to the first sorted firm, so they are assigned to Firm C."

**N2. Composition-decomposition added to §III-M ten-tool table — structurally closed, provenance wording needs correction.**

The table now has ten rows, with composition decomposition inserted first at paper/v4/paper_a_methodology_v4_section_iii.md:318-331. §I contribution 8 now says "ten partial-evidence diagnostics (§III-M Table XXVII)" at paper/v4/paper_a_prose_v4_phase4.md:57, and §VI item 8 now says "ten-tool unsupervised-validation collection (§III-M Table XXVII)" at paper/v4/paper_a_prose_v4_phase4.md:147. This closes the count/cross-reference part of N2.

The new composition row's assumption cell at paper/v4/paper_a_methodology_v4_section_iii.md:322 is not accurate as written. It says within-firm dip tests on every firm with $n \geq 500$ in Script 39c corroborate absence of within-population bimodality. Script 39c does run the eligible non-Big-4 per-firm tests at signature_analysis/39c_v4_midsmall_signature_diptest.py:147-158, but its emitted report shows raw dHash rejects in all ten eligible mid/small firms, while cosine fails to reject. The accurate decomposition is what §III-I.4 states more carefully: raw dHash rejects in all 14 firms, Big-4 per-firm dHash rejection disappears after jitter in Script 39d, and Big-4 pooled dHash needs both firm-mean centring and jitter in Script 39e (paper/v4/paper_a_methodology_v4_section_iii.md:57-68; paper/v4/paper_a_results_v4_section_iv.md:270-276).

The non-Big-4 jittered per-firm claim is also not cleanly provenance-emitted: paper/v4/paper_a_methodology_v4_section_iii.md:382 cites Script 39d / 39c for a non-Big-4 jittered-dHash range, but the current Script 39d report emits Big-4 per-firm plus pooled non-Big-4, not the ten individual mid/small-firm jittered rows. My read-only rerun of the same jitter procedure did confirm 0/10 non-Big-4 firms reject after jitter, but it produced a median-$p$ range of $0.3755$-$1.0$, not the manuscript's $[0.71, 1.00]$. Either add the emitted table to Script 39c/39d, or narrow the Table XXVII assumption cell to the scripted evidence already visible in §IV-M.1.

**N3. §III-M table numbering — closed.**

The §III-M table is now explicitly introduced as Table XXVII at paper/v4/paper_a_methodology_v4_section_iii.md:316-318. The caption, "Ten-tool unsupervised-validation collection with disclosed untested assumptions," matches the table content: ten diagnostic rows, each with a measure and an untested-assumption column. The numbering also follows §IV-M.6 Table XXVI at paper/v4/paper_a_results_v4_section_iv.md:353.

**N4. Cross-firm hit matrix assumption disclosure — closed, contingent on the N1 footnote fix.**

The old "None — direct descriptive observation" assumption is gone. The current Table XXVII row at paper/v4/paper_a_methodology_v4_section_iii.md:327 discloses both deployed-rule dependence and same-pair vs any-pair semantics: same-pair joint event $97.0$-$99.96\%$ within-firm versus any-pair $76.7$-$98.8\%$. Those values match §IV-M.5 Table XXV and the following same-pair sentence at paper/v4/paper_a_results_v4_section_iv.md:340-349, and Script 44 computes the matrices at signature_analysis/44_firm_matched_pool_regression.py:274-327.

The row's reference to Script 45 mode-of-firms assignment is appropriate, but it points to the §IV-M.4 footnote. Once N1's "majority firm" wording is corrected to "tie-break assignment," N4 reads cleanly.

## Round-4 induced issues

1. **N1 footnote overcorrects from "undisclosed denominator" to a false "majority firm" explanation.** The current prose at paper/v4/paper_a_results_v4_section_iv.md:325 should not say the 379 mixed-firm PDFs resolve to Firm C as majority firm. They are all Firm C/Firm D 1:1 ties.

2. **The new Table XXVII composition row makes an existing provenance weakness load-bearing.** The row at paper/v4/paper_a_methodology_v4_section_iii.md:322 should not cite Script 39c as though Script 39c alone corroborates absence of within-population bimodality. Script 39c raw dHash rejects in all ten eligible mid/small firms; the no-rejection claim requires integer jitter. The current committed reports do not emit the ten non-Big-4 jittered per-firm values.

3. **Ten-tool propagation is otherwise clean in public prose.** The public §I and §VI claims now say ten-tool / ten partial-evidence diagnostics at paper/v4/paper_a_prose_v4_phase4.md:57 and :147. I found no public leftover "nine-tool" validation claim except internal working material marked for removal: the Phase 4 draft note at paper/v4/paper_a_prose_v4_phase4.md:3 and the §III cross-reference checklist at paper/v4/paper_a_methodology_v4_section_iii.md:434-442. The separate "first nine limitations" statement at paper/v4/paper_a_prose_v4_phase4.md:111 is a limitations count, not a validation-tool count.

4. **No new FAR/ICCR regression found.** The manuscript continues to avoid treating inter-CPA ICCR as true FAR in the public prose checked here. The remaining issues are denominator/tie-break wording and composition-diagnostic provenance.

## Phase 5 round-3 convergence audit

| Reviewer artifact | Verdict | Post-round-4 interpretation |
|---|---|---|
| Gemini round-2 | Accept | Accept remains within the convergence band; Gemini did not have round-4 in view. |
| Opus round-2 | Minor Revision | N1-N4 were the requested round-4 targets. N3/N4 are closed; N1/N2 need wording/provenance cleanup. |
| codex GPT-5.5 round-9 | Minor Revision | Current text is close, but not splice-ready verbatim because two new/retained provenance wordings are inaccurate. |

Panel convergence on Accept/Minor consensus is **yes: 3 of 3 reviewers** are in the Accept/Minor band. The Phase 5 gate is therefore met by vote-count logic, but I recommend closing it only after the two "must do now" text patches below are applied and committed. No new empirical analysis or new full review round is required.

## Splice readiness checklist

**Must do now before splice assembly**

1. Patch paper/v4/paper_a_results_v4_section_iv.md:325: replace "mode-of-firms (majority firm)" / "resolve to Firm C as the majority firm" with the actual 1:1 Firm C/Firm D tie-break explanation.

2. Patch paper/v4/paper_a_methodology_v4_section_iii.md:322: revise the composition-decomposition row's untested-assumption cell so it does not imply Script 39c raw within-firm tests support the dHash no-bimodality claim. Either cite only the emitted Big-4 jittered evidence (Script 39d) plus Big-4 centred+jittered evidence (Script 39e), or emit/cite a proper ten-firm non-Big-4 jittered table.

3. If retaining the non-Big-4 jittered per-firm claim, reconcile paper/v4/paper_a_methodology_v4_section_iii.md:59 and :382 plus paper/v4/paper_a_prose_v4_phase4.md:31 and :81 with a committed script/report. If not retaining it, narrow those sentences to the evidence already emitted in §IV-M.1.

4. Re-run a targeted grep after patching: `rg -n "majority firm|9 tools|nine-tool|Script 39c|jittered-dHash" paper/v4`.

**Splice-time mechanical strip**

1. Remove the Phase 4 draft note at paper/v4/paper_a_prose_v4_phase4.md:3, which still contains the internal stale "nine-tool" wording.

2. Remove the Phase 4 close-out notes at paper/v4/paper_a_prose_v4_phase4.md:153 onward before moving prose into the master manuscript.

3. Remove the §III author cross-reference checklist at paper/v4/paper_a_methodology_v4_section_iii.md:434-450; it still says "9 tools" at line 442 and is explicitly marked "remove before submission."

4. During master-file assembly, recheck table numbering after the actual splice, because Table XXVII currently lives in §III while Tables XX-XXVI are in §IV-M.

## Recommended next-step actions

1. Apply the N1 tie-break wording patch in §IV-M.4.

2. Apply the N2 Table XXVII composition-row provenance patch; decide whether to emit the missing non-Big-4 jittered per-firm table or narrow the claim.

3. Run the targeted grep in the checklist and commit the patch as the final Phase 5 text cleanup.

4. Proceed to manuscript-master splice with the internal-note/checklist strip. Partner Jimmy review can then treat the manuscript as Phase 5-converged rather than re-litigating the empirical core.
