From 470abf192e08c32feba7338713c6592658279e31 Mon Sep 17 00:00:00 2001 From: Tarik Moussa Date: Sun, 31 May 2026 18:40:43 +0200 Subject: [PATCH] docs(reviewer): mark S2 (I1/H1/N7) done in the plan + audit banners MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update finding-orchestration.md (master table I1/H1/N7 → ✅, S2 session marked done with the original plan folded into a
), README headline cells + next-batch pointer (now S3), and the test-coverage / numerical-stability audit banners. S2 was implemented directly by Opus in the warm post-refactor session (commit 90e966a); 301/301 tests green. Co-Authored-By: Claude Opus 4.8 --- doc/reviewer/README.md | 12 ++++++++---- doc/reviewer/finding-orchestration.md | 19 +++++++++++++++---- .../numerical-stability-audit-2026-05-31.md | 9 +++++---- ...overage-error-handling-audit-2026-05-31.md | 5 +++-- 4 files changed, 31 insertions(+), 14 deletions(-) diff --git a/doc/reviewer/README.md b/doc/reviewer/README.md index 3614ff2..d867ca5 100644 --- a/doc/reviewer/README.md +++ b/doc/reviewer/README.md @@ -60,7 +60,7 @@ S2–S6. | [`external-audit-2026-05-30.md`](external-audit-2026-05-30.md) | Correctness bugs | 3 findings (face_energy, Gauss–Bonnet, cotangent doc) — **all resolved** | | [`java-port-audit.md`](java-port-audit.md) | Java→C++ math fidelity | line-by-line port anomalies — mostly resolved | | [`java-ignore-crossvalidation.md`](java-ignore-crossvalidation.md) | `@Ignore` cross-validation | which Java tests were intentionally skipped and why | -| [`numerical-stability-audit-2026-05-31.md`](numerical-stability-audit-2026-05-31.md) | FP robustness | **N3/N4/N5/N6 ✅** (clamp mode, named constants, Kahan area); **N1 ✅\*** subsumed by B1 block-FD; **N2/N7 open** | +| [`numerical-stability-audit-2026-05-31.md`](numerical-stability-audit-2026-05-31.md) | FP robustness | **N3/N4/N5/N6 ✅** (clamp mode, named constants, Kahan area), **N7 ✅** (conditioning diag, S2); **N1 ✅\*** subsumed by B1; **N2 open** | | [`math-derivation-citation-audit-2026-05-31.md`](math-derivation-citation-audit-2026-05-31.md) | Derivations & citations | **M1/M2/M4 ✅** (refs + year + citation format); **M3 open**, **M5 needs expert** | ## API, performance & packaging @@ -76,7 +76,7 @@ S2–S6. | Document | Focus | Headline | |---|---|---| -| [`test-coverage-error-handling-audit-2026-05-31.md`](test-coverage-error-handling-audit-2026-05-31.md) | Coverage + error handling | **C1/C2/C3 ✅**, **I2/I3/I4 ✅**, **H2 ✅** (newton_core); **I1/I5/H1/H3/H4/H5 open**; gate in ramp-up until I5 | +| [`test-coverage-error-handling-audit-2026-05-31.md`](test-coverage-error-handling-audit-2026-05-31.md) | Coverage + error handling | **C1/C2/C3 ✅**, **I2/I3/I4 ✅**, **H2 ✅** (newton_core), **I1/H1 ✅** (status enum, S2); **I5/H3/H4/H5 open**; gate in ramp-up until I5 | | [`input-validation-audit-2026-05-31.md`](input-validation-audit-2026-05-31.md) | Malformed input | **V1/V2/V3/V4 ✅** (NaN/Inf guard + JSON/XML error handling); **V5/V6 open** (polish) | | [`thread-safety-audit-2026-05-31.md`](thread-safety-audit-2026-05-31.md) | Concurrency | no mutable static state (good); same-mesh concurrency contract **still undocumented (open, S4)** | @@ -92,6 +92,10 @@ See [`finding-orchestration.md`](finding-orchestration.md) for the full plan. - **🔍 Opus review:** all Sonnet/Haiku commits validated (value-identity, error handling, coverage-gate logic, alias forwarding) — all correct. +**Session 2 (Opus, same day):** I1 (NewtonStatus enum) + H1 (iteration count) + +N7 (`sparse_qr_fallback_used` / `min_ldlt_pivot` diagnostics) — done directly in +the warm post-refactor session, commit `90e966a`, 301/301 tests green. + ### Decisions standing - **Coverage gate:** 80 % line / 70 % branch / 90 % function. Script now measures honestly (C2 ✅); gate is in **ramp-up** (`SKIP_COVERAGE_GATE=1`) until **I5** @@ -107,8 +111,8 @@ See [`finding-orchestration.md`](finding-orchestration.md) for the full plan. Open the relevant audit, pick a finding, follow its "Fix" + "Acceptance criteria". Build/verify with the commands in that document's header. **The Session-1 quick-win batch (B1, B3, C1, C2, V3, …) is done** — for what to pick up next, follow the -session plan in [`finding-orchestration.md`](finding-orchestration.md): the next -pending batch is **S2** (I1 + H1 + N7, Sonnet→Opus review). +session plan in [`finding-orchestration.md`](finding-orchestration.md): **S1+S2 +done**; the next pending batch is **S3** (H3/H4/H5 + V5/V6, Sonnet→Opus review). ## When to send to the reviewer diff --git a/doc/reviewer/finding-orchestration.md b/doc/reviewer/finding-orchestration.md index 3f9d968..ad39cec 100644 --- a/doc/reviewer/finding-orchestration.md +++ b/doc/reviewer/finding-orchestration.md @@ -63,9 +63,9 @@ Status: ✅ done · ⬜ open (actionable) · ⏸ deferred (intentional) · ⛔ b | N5 | numerics | 🟡 | ✅ | Opus | S1 | | N3 | numerics | 🟡 | ✅ | Opus | S1 | | H2, B2, B3, B4, B5 | test-cov/api-perf | 🔵/🟡 | ✅ | Opus | S1 | -| **I1** | test-cov | 🟡 | ⬜ | Sonnet→🔍Opus | **S2** | -| **H1** | test-cov | 🔵 | ⬜ | Sonnet→🔍Opus | **S2** | -| **N7** | numerics | 🔵 | ⬜ | Opus | **S2** | +| I1 | test-cov | 🟡 | ✅ | Opus | S2 | +| H1 | test-cov | 🔵 | ✅ | Opus | S2 | +| N7 | numerics | 🔵 | ✅ | Opus | S2 | | **H3** | test-cov | 🔵 | ⬜ | Sonnet→🔍Opus | **S3** | | **H4** | test-cov | 🔵 | ⬜ | Sonnet→🔍Opus | **S3** | | **H5** | test-cov | 🔵 | ⬜ | Sonnet→🔍Opus | **S3** | @@ -96,7 +96,16 @@ Branch `fix/b1-v3-c1-quick-wins`, 9 commits, 298/298 CGAL tests green. - **🔍 Opus review:** validated all Sonnet/Haiku commits (value-identity, error handling, coverage gate, alias forwarding) — all correct. -### ⬜ S2 — Solver result diagnostics (Sonnet → 🔍 Opus) +### ✅ S2 — Solver result diagnostics (DONE, 2026-05-31, Opus impl + self-review) +Done directly in the warm post-refactor Opus session (all three findings live in +the just-written `newton_core`/`NewtonResult`/`NewtonLinearSolver`). Commit +`90e966a`; 301/301 CGAL tests green. **I1** status enum + **H1** iteration fix + +**N7** `sparse_qr_fallback_used` / `min_ldlt_pivot` diagnostics. Follow-up idea +(optional): propagate `NewtonStatus` up into the CGAL `Conformal_map_result`. + +
original S2 plan + +#### S2 — Solver result diagnostics (Sonnet → 🔍 Opus) - **I1** — give `NewtonResult` a status enum (`Converged`/`MaxIterations`/`LinearSolverFailed`/`LineSearchStalled`). The `newton_core` refactor centralised every exit point, so this lands in one @@ -109,6 +118,8 @@ Branch `fix/b1-v3-c1-quick-wins`, 9 commits, 298/298 CGAL tests green. - **🔍 Opus review:** confirm the enum doesn't break the CGAL-layer result mapping and that `converged` semantics are unchanged for existing callers. +
+ ### ⬜ S3 — Robustness & test-gap closure (Sonnet → 🔍 Opus) - **H3** — `enforce_gauss_bonnet` reports the magnitude of the applied correction. - **H4** — test `reduce_to_fundamental_domain` boundary `Im(τ)==0.0`. diff --git a/doc/reviewer/numerical-stability-audit-2026-05-31.md b/doc/reviewer/numerical-stability-audit-2026-05-31.md index 9706026..f885bdf 100644 --- a/doc/reviewer/numerical-stability-audit-2026-05-31.md +++ b/doc/reviewer/numerical-stability-audit-2026-05-31.md @@ -12,10 +12,11 @@ Status legend: 🔴 Critical · 🟡 Important · 🔵 Polish > **✅ Resolution status (2026-05-31, Session 1):** **N3 ✅** (selectable clamp mode > `HardJava`|`SmoothBarrier`), **N4/N6 ✅** (named `constexpr` constants), **N5 ✅** -> (Kahan stable triangle area). **N1 ✅\*** largely subsumed by the B1 block-FD -> Hessian; the remaining FD-step/tol coupling note folds into **N2**. **N2** (tolerances.md) -> and **N7** (conditioning diagnostic) **open** — scheduled S2/S4 in -> [`finding-orchestration.md`](finding-orchestration.md). 298/298 tests green. +> (Kahan stable triangle area), **N7 ✅** (S2 — `min_ldlt_pivot` / +> `sparse_qr_fallback_used` in `NewtonResult`). **N1 ✅\*** largely subsumed by the +> B1 block-FD Hessian; the remaining FD-step/tol coupling note folds into **N2**. +> **N2** (tolerances.md) **open** — scheduled S4 in +> [`finding-orchestration.md`](finding-orchestration.md). 301/301 tests green. > **Relationship to existing audits:** `java-port-audit.md` already verified several > per-formula numerical edge cases (degenerate triangles #1, overflow centring #10). diff --git a/doc/reviewer/test-coverage-error-handling-audit-2026-05-31.md b/doc/reviewer/test-coverage-error-handling-audit-2026-05-31.md index 1ed9a86..eb6ab7e 100644 --- a/doc/reviewer/test-coverage-error-handling-audit-2026-05-31.md +++ b/doc/reviewer/test-coverage-error-handling-audit-2026-05-31.md @@ -18,8 +18,9 @@ Status legend: 🔴 Critical · 🟡 Important · 🔵 Hint / nice-to-have > exposed), **C2/C3 ✅** (coverage script honest + CI gate in ramp-up), > **I2/I3/I4 ✅** (serialization / mesh / spherical-hessian negative tests), > **H2 ✅** (five Newton loops unified into `newton_core`, folding in B2/B3/B4/B5). -> **Open:** **I1** (status enum) + **H1** (stale iterations) → S2; **H3/H4/H5** → S3; -> **I5** (coverage on full suite, un-gates the 80/70/90 threshold) → S5. +> **I1 ✅** (`NewtonStatus` enum) + **H1 ✅** (iteration count) done in S2. +> **Open:** **H3/H4/H5** → S3; **I5** (coverage on full suite, un-gates the +> 80/70/90 threshold) → S5. > See [`finding-orchestration.md`](finding-orchestration.md). 298/298 tests green. > **Note:** This audit is complementary to `external-audit-2026-05-30.md` (which