From 82497375b65a4eff0cc1f9785400b820a382da2d Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Fri, 23 Oct 2026 16:02:50 +0100 Subject: [PATCH] =?UTF-8?q?docs(cluster):=20record=20the=20human=20decisio?= =?UTF-8?q?n=20=E2=80=94=20keep=20the=201.0=E2=80=B3=20starting=20grid=20(?= =?UTF-8?q?#439)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ledger status/TL;DR/decision table/follow-ups and the campaign wiki verdict, phase-1 row and journal now record the 2026-10-23 human decision: keep 1.0″ as the production starting grid with the validation check as mitigation. Measurement text unchanged; no default changed. Co-Authored-By: Claude Fable 5.1 --- results/notes/cluster_pointsolver_campaign.md | 21 +++++++++++++++---- wiki/campaigns/cluster_pointsolver.md | 18 +++++++++++----- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/results/notes/cluster_pointsolver_campaign.md b/results/notes/cluster_pointsolver_campaign.md index 048bcfea4..632375366 100644 --- a/results/notes/cluster_pointsolver_campaign.md +++ b/results/notes/cluster_pointsolver_campaign.md @@ -6,12 +6,12 @@ Wiki page: [cluster_pointsolver.md](../../wiki/campaigns/cluster_pointsolver.md) **Phase 1:** cluster-scale robust `PointSolver` settings, [autolens_profiling#436](https://github.com/PyAutoLabs/autolens_profiling/issues/436). Mind prompt `active/cluster_pointsolver_robust_settings_p1.md`. -**Status:** DECIDED 2026-10-22: DEFERRED (default stays 1.0″; 0.5″ is the working answer if forced). The `simple` sweep is complete and quotable. +**Status:** DECIDED 2026-10-23 (human): keep 1.0″ as the production starting grid, with a validation check as mitigation (the 2026-10-22 deferral is closed). The `simple` sweep is complete and quotable. **Follow-up #439 (2026-10-23):** the A2744 pilot leg is pulled ([A2744](#a2744-pilot-leg-job-412573-pulled-2026-10-23)) and the starting-grid question is measured ([Starting grid](#starting-grid-vs-close-member-image-439)): no fixed starting scale finds every image, so the recommendation is a validation check, not a new default. No default was changed anywhere. ## TL;DR -**Decision (human, 2026-10-22): deferred** — default stays 1.0″ until the starting-grid draft and the A2744 pull; see [Decision table](#decision-table-human). +**Decision (human, 2026-10-23): keep 1.0″** as the production starting grid and add a validation check; this closes the 2026-10-22 deferral. See [Decision table](#decision-table-human). **#439 (2026-10-23), both pending inputs now measured:** @@ -74,6 +74,15 @@ re-opened once (i) the starting-grid draft has tested the same close-pair geometry on a real member galaxy and (ii) the A2744 pilot leg (job 412573) has been pulled. 0.5″ is the working answer if the choice must be made before then. +**Decision (human, 2026-10-23): KEEP 1.0″.** Both pending inputs are in hand (#439 → +[#440](https://github.com/PyAutoLabs/autolens_profiling/pull/440), merged `03d36c81`). + +| Date | Choice | Evidence | Mitigation | +|---|---|---|---| +| 2026-10-23 (human, chat) | Keep the 1.0″ starting grid as the production default; the 2026-10-22 deferral is closed | `simple` table above (0.5″/0.7″ miss 2, 1.0″ misses 5 of 300 stress roots); [A2744 pilot](#a2744-pilot-leg-job-412573-pulled-2026-10-23) (1.0″ misses fewest, 2/69); [Starting grid](#starting-grid-vs-close-member-image-439) (no fixed scale finds every image, no separation rule) via [#440](https://github.com/PyAutoLabs/autolens_profiling/pull/440); Mind record [cluster-pointsolver-starting-grid.md](https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/cluster-pointsolver-starting-grid.md); Pulse decision record [cluster-pointsolver-starting-grid](https://github.com/PyAutoLabs/PyAutoPulse/blob/main/decisions/cluster-pointsolver-starting-grid.md) | Validation check: Mind draft `draft/feature/autolens_workspace/cluster_point_solver_validation_check.md` (unissued) | + +The decision changes no library or workspace default; the production default already is 1.0″. + ## Tested domain | Item | Value | @@ -403,10 +412,14 @@ so the table gives the smallest c that no miss rules out: 2. ~~**Starting-grid question.**~~ **Answered 2026-10-23 (#439):** see [Starting grid](#starting-grid-vs-close-member-image-439). The two Mind drafts above carry the follow-on work. The human's deferred decision can now be taken with both inputs in hand. -3. **The human's upcoming Pulse profiling programme** may revisit the cluster goal and this - decision table. Until then, the settings decision above stays open. +3. ~~**The human's settings decision.**~~ **Closed 2026-10-23:** keep 1.0″ + validation check + (see [Decision table](#decision-table-human)). The human's upcoming Pulse profiling programme + may still revisit the cluster goal. 4. Phase 2 (workspace_test CI witnesses) distils only accepted claims, so nothing from this phase qualifies yet. +5. **Next:** the spurious-core candidates library task + (`draft/feature/autolens/point_solver_spurious_core_candidates.md`, start_dev in progress), then + the workspace validation check (`draft/feature/autolens_workspace/cluster_point_solver_validation_check.md`). ## Reproduce diff --git a/wiki/campaigns/cluster_pointsolver.md b/wiki/campaigns/cluster_pointsolver.md index 64858d826..f0bb038b8 100644 --- a/wiki/campaigns/cluster_pointsolver.md +++ b/wiki/campaigns/cluster_pointsolver.md @@ -3,13 +3,13 @@ **Status:** open **Question:** What does a representative cluster-scale `PointSolver` likelihood cost on released code, where is the time, and which levers (deflection cost, grid extent, per-source batching) pay at cluster scale? **Pre-registered rule:** phase 1: a setting is admissible only when every oracle root (independent lens-equation oracle, not the triangle solver) of every judged prior AND stress draw is covered by exactly one candidate within the row's last-step triangle side, multiplicity agrees, no spurious candidate and no uncapped containing count above the cap. Otherwise the contract inherits the point-source campaign measurement contract (exact revisions, interleaved A/B on identical hardware, fused production control, correctness gate before any speed claim, negative results recorded, one bounded phase per issue and PR). -**Verdict:** phase 1 DEFERRED (human, 2026-10-22; default stays 1.0″): no `PointSolver` setting is admissible on `simple` (101 draws). Production rows cover 306/306 prior roots and miss 2–6 of 300 stress roots, all close high-|μ| pairs. #439 (2026-10-23) supplies both pending inputs: no fixed starting scale finds every image (viz cluster model: 0.2″ still misses 3/108; finer is not monotone; A2744 pilot 1.0″ best), no single-separation rule holds; recommendation = keep 1.0″ + a validation check. No default changed. +**Verdict:** phase 1 DECIDED keep 1.0″ (human, 2026-10-23; validation check as mitigation; closes the 2026-10-22 deferral): no `PointSolver` setting is admissible on `simple` (101 draws). Production rows cover 306/306 prior roots and miss 2–6 of 300 stress roots, all close high-|μ| pairs. #439 (2026-10-23) supplies both pending inputs: no fixed starting scale finds every image (viz cluster model: 0.2″ still misses 3/108; finer is not monotone; A2744 pilot 1.0″ best), no single-separation rule holds; recommendation = keep 1.0″ + a validation check. No default changed. **Headline:** initial scale 0.5″/0.7″ misses 2 stress roots at 0.78×/0.75× the production control's speed; the control (1.0″) misses 5 at 5.29 ms; RAL Xeon 8490H job 412572. Carried evidence: two-source cluster solved likelihood 47.36 → 9.085 ms (5.21x) from the static step-0 lattice, RAL Xeon 8490H job 350636. **Library PRs:** none yet. -**Profiling PRs:** phase 1 #438 (autolens_profiling#436), merged; #439 starting-grid follow-up PR, open. +**Profiling PRs:** phase 1 #438 (autolens_profiling#436), merged; #439 starting-grid follow-up #440, merged (`03d36c81`). **Ledger:** [cluster_pointsolver_campaign.md](../../results/notes/cluster_pointsolver_campaign.md); carried cluster rows live in [point_source_cpu_campaign.md](../../results/notes/point_source_cpu_campaign.md) (phases 1–3). **Mind contract:** epic `cluster-pointsolver-speed`; PyAutoPulse task `tasks/cluster_pointsolver_speed.md` (migrated from `draft/research/autolens_profiling/cluster_pointsolver_speed.md`); phase 1 `active/cluster_pointsolver_robust_settings_p1.md`. -**Next:** the human's decision on the phase-1 table with the #439 inputs; the Mind drafts `draft/feature/autolens_workspace/cluster_point_solver_validation_check.md` and `draft/feature/autolens/point_solver_spurious_core_candidates.md`; any A2744 full sweep needs a reference tracer, `--release-executables` and explicit human authorization. +**Next:** the spurious-core candidates library task (`draft/feature/autolens/point_solver_spurious_core_candidates.md`, start_dev in progress), then the validation check (`draft/feature/autolens_workspace/cluster_point_solver_validation_check.md`); any A2744 full sweep needs a reference tracer, `--release-executables` and explicit human authorization. ## Why this campaign @@ -22,7 +22,7 @@ from phase 4a on, that campaign is single-source only and everything cluster-sca | Phase | Dates | Question | Pre-registered rule | Result | Jobs | PRs | |---|---|---|---|---|---|---| -| 1 robust settings | 2026-10-17/22 | Which `PointSolver` settings find every image at cluster scale, judged against an independent oracle? | per-root coverage + multiplicity + overflow on prior AND stress draws (above) | DEFERRED (human 2026-10-22, default stays 1.0″): no row admissible on `simple`; 0.5″/0.7″ miss 2, 1.0″ (production) 5, 2.0″ 6 of 300 stress roots; precision/capacity/backend change nothing; eager unusable. A2744 pilot (pulled #439): FAILED after 16 diagnostic rows (LLVM memory, retained executables), 1.0″ misses fewest (2/69). #439 starting grid (laptop, viz cluster model): workspace 1.0″ loses `point_0`'s central image 0.39″ from a core, so does every scale to 0.3″, only 0.2″ finds it; no fixed scale or single-separation rule is safe → validation check recommended | 412567 (pilot), 412572 (sweep), 412573 (A2744 pilot leg, FAILED, pulled 2026-10-23) | #438 (#436); #439 PR | +| 1 robust settings | 2026-10-17/22 | Which `PointSolver` settings find every image at cluster scale, judged against an independent oracle? | per-root coverage + multiplicity + overflow on prior AND stress draws (above) | DECIDED keep 1.0″ (human 2026-10-23; deferred 2026-10-22): no row admissible on `simple`; 0.5″/0.7″ miss 2, 1.0″ (production) 5, 2.0″ 6 of 300 stress roots; precision/capacity/backend change nothing; eager unusable. A2744 pilot (pulled #439): FAILED after 16 diagnostic rows (LLVM memory, retained executables), 1.0″ misses fewest (2/69). #439 starting grid (laptop, viz cluster model): workspace 1.0″ loses `point_0`'s central image 0.39″ from a core, so does every scale to 0.3″, only 0.2″ finds it; no fixed scale or single-separation rule is safe → validation check recommended | 412567 (pilot), 412572 (sweep), 412573 (A2744 pilot leg, FAILED, pulled 2026-10-23) | #438 (#436); #440 (#439) | | 2 deflection cost | — | dPIE/NFW deflection cost (JAX deflection cell first) | — | sketch only | — | — | | 3 grid extent | — | Cluster grid-extent guidance with completeness evidence | — | sketch only | — | — | | 4 | — | Whatever the phase-1 split exposes | — | sketch only | — | — | @@ -45,7 +45,7 @@ PyAutoLens#749, released 2026.9.26.1) are recorded on the - The campaign contract is the PyAutoPulse task `tasks/cluster_pointsolver_speed.md`. - A2744 full sweep: parked (no reference tracer; needs `--release-executables` and explicit human authorization). -- Mind drafts from #439 (not filed): workspace cluster validation check; PyAutoLens spurious candidates at `r_core = 0` member cores. +- Mind drafts from #439: PyAutoLens spurious candidates at `r_core = 0` member cores (start_dev in progress); workspace cluster validation check (unissued, the adopted mitigation). ## Caveats @@ -55,6 +55,14 @@ PyAutoLens#749, released 2026.9.26.1) are recorded on the ## Journal +### 2026-10-23 — human decision: keep the 1.0″ starting grid + +The human (chat, 2026-10-23) kept 1.0″ as the production starting grid, closing the 2026-10-22 +deferral. Inputs: the phase-1 `simple` table, the A2744 pilot (1.0″ misses fewest, 2/69) and the +#439 starting-grid result (#440, merged `03d36c81`). The validation check is the adopted +mitigation. No default changed. Records: Mind [cluster-pointsolver-starting-grid.md](https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/cluster-pointsolver-starting-grid.md); Pulse +[decision record](https://github.com/PyAutoLabs/PyAutoPulse/blob/main/decisions/cluster-pointsolver-starting-grid.md). + ### 2026-10-23 — #439: starting grid vs close member image; A2744 pilot pulled The A2744 pilot (RAL job 412573) is pulled: FAILED after 16 diagnostic rows, LLVM `Cannot