Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 17 additions & 4 deletions results/notes/cluster_pointsolver_campaign.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:**

Expand Down Expand Up @@ -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 |
Expand Down Expand Up @@ -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

Expand Down
18 changes: 13 additions & 5 deletions wiki/campaigns/cluster_pointsolver.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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 | — | — |
Expand All @@ -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

Expand All @@ -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
Expand Down
Loading