docs(reviewer): mark S2 (I1/H1/N7) done in the plan + audit banners
Update finding-orchestration.md (master table I1/H1/N7 → ✅, S2 session marked
done with the original plan folded into a <details>), 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 <noreply@anthropic.com>
This commit is contained in:
@@ -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** |
|
| [`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-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 |
|
| [`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** |
|
| [`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
|
## API, performance & packaging
|
||||||
@@ -76,7 +76,7 @@ S2–S6.
|
|||||||
|
|
||||||
| Document | Focus | Headline |
|
| 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) |
|
| [`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)** |
|
| [`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
|
- **🔍 Opus review:** all Sonnet/Haiku commits validated (value-identity, error
|
||||||
handling, coverage-gate logic, alias forwarding) — all correct.
|
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
|
### Decisions standing
|
||||||
- **Coverage gate:** 80 % line / 70 % branch / 90 % function. Script now measures
|
- **Coverage gate:** 80 % line / 70 % branch / 90 % function. Script now measures
|
||||||
honestly (C2 ✅); gate is in **ramp-up** (`SKIP_COVERAGE_GATE=1`) until **I5**
|
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".
|
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
|
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
|
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
|
session plan in [`finding-orchestration.md`](finding-orchestration.md): **S1+S2
|
||||||
pending batch is **S2** (I1 + H1 + N7, Sonnet→Opus review).
|
done**; the next pending batch is **S3** (H3/H4/H5 + V5/V6, Sonnet→Opus review).
|
||||||
|
|
||||||
## When to send to the reviewer
|
## When to send to the reviewer
|
||||||
|
|
||||||
|
|||||||
@@ -63,9 +63,9 @@ Status: ✅ done · ⬜ open (actionable) · ⏸ deferred (intentional) · ⛔ b
|
|||||||
| N5 | numerics | 🟡 | ✅ | Opus | S1 |
|
| N5 | numerics | 🟡 | ✅ | Opus | S1 |
|
||||||
| N3 | numerics | 🟡 | ✅ | Opus | S1 |
|
| N3 | numerics | 🟡 | ✅ | Opus | S1 |
|
||||||
| H2, B2, B3, B4, B5 | test-cov/api-perf | 🔵/🟡 | ✅ | Opus | S1 |
|
| H2, B2, B3, B4, B5 | test-cov/api-perf | 🔵/🟡 | ✅ | Opus | S1 |
|
||||||
| **I1** | test-cov | 🟡 | ⬜ | Sonnet→🔍Opus | **S2** |
|
| I1 | test-cov | 🟡 | ✅ | Opus | S2 |
|
||||||
| **H1** | test-cov | 🔵 | ⬜ | Sonnet→🔍Opus | **S2** |
|
| H1 | test-cov | 🔵 | ✅ | Opus | S2 |
|
||||||
| **N7** | numerics | 🔵 | ⬜ | Opus | **S2** |
|
| N7 | numerics | 🔵 | ✅ | Opus | S2 |
|
||||||
| **H3** | test-cov | 🔵 | ⬜ | Sonnet→🔍Opus | **S3** |
|
| **H3** | test-cov | 🔵 | ⬜ | Sonnet→🔍Opus | **S3** |
|
||||||
| **H4** | test-cov | 🔵 | ⬜ | Sonnet→🔍Opus | **S3** |
|
| **H4** | test-cov | 🔵 | ⬜ | Sonnet→🔍Opus | **S3** |
|
||||||
| **H5** | 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
|
- **🔍 Opus review:** validated all Sonnet/Haiku commits (value-identity, error
|
||||||
handling, coverage gate, alias forwarding) — all correct.
|
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`.
|
||||||
|
|
||||||
|
<details><summary>original S2 plan</summary>
|
||||||
|
|
||||||
|
#### S2 — Solver result diagnostics (Sonnet → 🔍 Opus)
|
||||||
- **I1** — give `NewtonResult` a status enum
|
- **I1** — give `NewtonResult` a status enum
|
||||||
(`Converged`/`MaxIterations`/`LinearSolverFailed`/`LineSearchStalled`). The
|
(`Converged`/`MaxIterations`/`LinearSolverFailed`/`LineSearchStalled`). The
|
||||||
`newton_core` refactor centralised every exit point, so this lands in one
|
`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
|
- **🔍 Opus review:** confirm the enum doesn't break the CGAL-layer result
|
||||||
mapping and that `converged` semantics are unchanged for existing callers.
|
mapping and that `converged` semantics are unchanged for existing callers.
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
### ⬜ S3 — Robustness & test-gap closure (Sonnet → 🔍 Opus)
|
### ⬜ S3 — Robustness & test-gap closure (Sonnet → 🔍 Opus)
|
||||||
- **H3** — `enforce_gauss_bonnet` reports the magnitude of the applied correction.
|
- **H3** — `enforce_gauss_bonnet` reports the magnitude of the applied correction.
|
||||||
- **H4** — test `reduce_to_fundamental_domain` boundary `Im(τ)==0.0`.
|
- **H4** — test `reduce_to_fundamental_domain` boundary `Im(τ)==0.0`.
|
||||||
|
|||||||
@@ -12,10 +12,11 @@ Status legend: 🔴 Critical · 🟡 Important · 🔵 Polish
|
|||||||
|
|
||||||
> **✅ Resolution status (2026-05-31, Session 1):** **N3 ✅** (selectable clamp mode
|
> **✅ Resolution status (2026-05-31, Session 1):** **N3 ✅** (selectable clamp mode
|
||||||
> `HardJava`|`SmoothBarrier`), **N4/N6 ✅** (named `constexpr` constants), **N5 ✅**
|
> `HardJava`|`SmoothBarrier`), **N4/N6 ✅** (named `constexpr` constants), **N5 ✅**
|
||||||
> (Kahan stable triangle area). **N1 ✅\*** largely subsumed by the B1 block-FD
|
> (Kahan stable triangle area), **N7 ✅** (S2 — `min_ldlt_pivot` /
|
||||||
> Hessian; the remaining FD-step/tol coupling note folds into **N2**. **N2** (tolerances.md)
|
> `sparse_qr_fallback_used` in `NewtonResult`). **N1 ✅\*** largely subsumed by the
|
||||||
> and **N7** (conditioning diagnostic) **open** — scheduled S2/S4 in
|
> B1 block-FD Hessian; the remaining FD-step/tol coupling note folds into **N2**.
|
||||||
> [`finding-orchestration.md`](finding-orchestration.md). 298/298 tests green.
|
> **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
|
> **Relationship to existing audits:** `java-port-audit.md` already verified several
|
||||||
> per-formula numerical edge cases (degenerate triangles #1, overflow centring #10).
|
> per-formula numerical edge cases (degenerate triangles #1, overflow centring #10).
|
||||||
|
|||||||
@@ -18,8 +18,9 @@ Status legend: 🔴 Critical · 🟡 Important · 🔵 Hint / nice-to-have
|
|||||||
> exposed), **C2/C3 ✅** (coverage script honest + CI gate in ramp-up),
|
> exposed), **C2/C3 ✅** (coverage script honest + CI gate in ramp-up),
|
||||||
> **I2/I3/I4 ✅** (serialization / mesh / spherical-hessian negative tests),
|
> **I2/I3/I4 ✅** (serialization / mesh / spherical-hessian negative tests),
|
||||||
> **H2 ✅** (five Newton loops unified into `newton_core`, folding in B2/B3/B4/B5).
|
> **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;
|
> **I1 ✅** (`NewtonStatus` enum) + **H1 ✅** (iteration count) done in S2.
|
||||||
> **I5** (coverage on full suite, un-gates the 80/70/90 threshold) → S5.
|
> **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.
|
> See [`finding-orchestration.md`](finding-orchestration.md). 298/298 tests green.
|
||||||
|
|
||||||
> **Note:** This audit is complementary to `external-audit-2026-05-30.md` (which
|
> **Note:** This audit is complementary to `external-audit-2026-05-30.md` (which
|
||||||
|
|||||||
Reference in New Issue
Block a user