From dbbe5b2257e1e12768c9e509a0e3575f34a85564 Mon Sep 17 00:00:00 2001
From: James Nightingale
Date: Sat, 3 Oct 2026 20:50:48 +0100
Subject: [PATCH 1/3] refactor: move profiling campaign queue into Pulse
---
AGENTS.md | 6 +
active.md | 15 +
active/campaign_control_room.md | 30 +
dashboard.html | 311 ++++-----
dashboard.md | 601 ++++++------------
docs/pulse-task-migration.md | 40 ++
.../point_solver_error_bisect_health.md | 2 +-
.../runtime_cell_single_jit_gpu_warmup.md | 59 --
.../autolens_profiling/timing_noise_audit.md | 45 --
...radient_pixelization_pin_residual_drift.md | 83 ---
...ihood_breakdown_steps_are_cumulative_an.md | 31 -
...rofile_lens_aggregator_needs_config_dir.md | 27 -
.../autolens/area_magnification_leggos.md | 2 +-
draft/feature/autolens/source_cluster_arc.md | 4 +-
.../autolens_profiling/gradient_cost_probe.md | 74 ---
.../numba_breakdown_harness_memo_blind.md | 44 --
...arch_settings_estimation_infrastructure.md | 60 --
...ax_compile_probe_needs_own_cell_builder.md | 35 -
.../mass_field_flat_adoption_science_repos.md | 113 ----
.../mge_nnls_fix_pyautoarray_571_slam_60.md | 50 --
.../autofit/autofit_profiling_bootstrap.md | 66 --
.../autolens/quick_update_plotting_cost.md | 91 ---
.../cluster_pointsolver_speed.md | 183 ------
.../imaging_production_over_sampling.md | 70 --
...nterferometer_decision_matrix_last_cell.md | 59 --
...erometer_fixed_mapper_curvature_preload.md | 70 --
...ometer_nnls_memo_scattered_stream_guard.md | 64 --
.../interferometer_streaming_scaling.md | 41 --
.../interferometer_w_tilde_fft_size_levers.md | 76 ---
.../point_solver_profiling_cells.md | 73 ---
.../point_source_image_plane_gpu_breakdown.md | 205 ------
...t_source_source_plane_chi_squared_speed.md | 284 ---------
...ointsolver_cpu_speed_campaign_remainder.md | 60 --
...t_certified_solver_likelihood_breakdown.md | 51 --
.../pair_jax_xla_env_vars_with_measured.md | 126 ----
epics.md | 8 +-
planned.md | 10 -
state.json | 16 +-
38 files changed, 424 insertions(+), 2761 deletions(-)
create mode 100644 active/campaign_control_room.md
create mode 100644 docs/pulse-task-migration.md
delete mode 100644 draft/bug/autolens_profiling/runtime_cell_single_jit_gpu_warmup.md
delete mode 100644 draft/bug/autolens_profiling/timing_noise_audit.md
delete mode 100644 draft/bug/workspaces/gradient_pixelization_pin_residual_drift.md
delete mode 100644 draft/bug/workspaces/mge_likelihood_breakdown_steps_are_cumulative_an.md
delete mode 100644 draft/bug/workspaces/profile_lens_aggregator_needs_config_dir.md
delete mode 100644 draft/feature/autolens_profiling/gradient_cost_probe.md
delete mode 100644 draft/feature/autolens_profiling/numba_breakdown_harness_memo_blind.md
delete mode 100644 draft/feature/autolens_profiling/search_settings_estimation_infrastructure.md
delete mode 100644 draft/maintenance/autolens_profiling/jax_compile_probe_needs_own_cell_builder.md
delete mode 100644 draft/maintenance/autolens_profiling/mass_field_flat_adoption_science_repos.md
delete mode 100644 draft/research/autoarray/mge_nnls_fix_pyautoarray_571_slam_60.md
delete mode 100644 draft/research/autofit/autofit_profiling_bootstrap.md
delete mode 100644 draft/research/autolens/quick_update_plotting_cost.md
delete mode 100644 draft/research/autolens_profiling/cluster_pointsolver_speed.md
delete mode 100644 draft/research/autolens_profiling/imaging_production_over_sampling.md
delete mode 100644 draft/research/autolens_profiling/interferometer_decision_matrix_last_cell.md
delete mode 100644 draft/research/autolens_profiling/interferometer_fixed_mapper_curvature_preload.md
delete mode 100644 draft/research/autolens_profiling/interferometer_nnls_memo_scattered_stream_guard.md
delete mode 100644 draft/research/autolens_profiling/interferometer_streaming_scaling.md
delete mode 100644 draft/research/autolens_profiling/interferometer_w_tilde_fft_size_levers.md
delete mode 100644 draft/research/autolens_profiling/point_solver_profiling_cells.md
delete mode 100644 draft/research/autolens_profiling/point_source_image_plane_gpu_breakdown.md
delete mode 100644 draft/research/autolens_profiling/point_source_source_plane_chi_squared_speed.md
delete mode 100644 draft/research/autolens_profiling/pointsolver_cpu_speed_campaign_remainder.md
delete mode 100644 draft/research/autolens_profiling/post_certified_solver_likelihood_breakdown.md
delete mode 100644 draft/research/autonerves/pair_jax_xla_env_vars_with_measured.md
diff --git a/AGENTS.md b/AGENTS.md
index efb3915a6..b318073a5 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -6,6 +6,12 @@ when the task needs them. Read [README.md](README.md) for the public overview.
## Where work lives
+- Profiling campaign intent and pending tasks live in **PyAutoPulse**
+ (`campaigns.yaml`, `tasks/`, `CHECKIN.md`). Use its single-chat check-in first.
+ Mind holds bounded implementation phases and repository claims, linking the
+ canonical Pulse task. See `docs/pulse-task-migration.md`.
+
+
- `draft///.md` holds unstarted prompts. Work types:
`feature`, `bug`, `refactor`, `docs`, `test`, `release`, `maintenance`,
`research`, and `triage` when genuinely unclear. `human_review` is reserved
diff --git a/active.md b/active.md
index 16d9d891a..356465e0f 100644
--- a/active.md
+++ b/active.md
@@ -1,5 +1,20 @@
# Active Tasks
+## pulse-campaign-control-room
+- issue: https://github.com/PyAutoLabs/PyAutoPulse/issues/6
+- issued: 2026-10-03
+- prompt: active/campaign_control_room.md
+- session: Codex Work
+- status: awaiting-merge
+- worktree: /workspace/scratch/df4e4aa94b97
+- repos:
+ - PyAutoPulse: feature/campaign-control-room
+ - PyAutoMind: feature/pulse-task-migration
+- summary: Single-chat campaign check-in and profiling task migration into Pulse.
+- workspace-pr: https://github.com/PyAutoLabs/PyAutoPulse/pull/7
+- resume: Pulse#7 has 86 passing tests and scoped Heart GREEN. Merge Pulse before this Mind migration; then close out issue Pulse#6 and release both claims. No compute submitted.
+- validation: Ruff, formatting, 86 tests, offline snapshot/feed check, 26 source hashes and copy-handler checks pass. Mind lifecycle check passes with one pre-existing batch calibration warning.
+
## vis-lp-inspection-bundle
- issue: https://github.com/PyAutoLabs/euclid_strong_lens_modeling_pipeline/issues/102
- issued: 2026-09-22
diff --git a/active/campaign_control_room.md b/active/campaign_control_room.md
new file mode 100644
index 000000000..8418b49ab
--- /dev/null
+++ b/active/campaign_control_room.md
@@ -0,0 +1,30 @@
+# Pulse campaign control room and task migration
+
+Type: feature
+Target: PyAutoPulse
+Repos:
+- PyAutoPulse
+- PyAutoMind
+Status: awaiting-merge
+Issue: https://github.com/PyAutoLabs/PyAutoPulse/issues/6
+Issued: 2026-10-03
+Filed: 2026-10-03
+
+## Original request
+
+I have not looked at the PyAutoPulse dashboard yet but basically I want it to mirror PyAutoCortex was a table of active campaigns (profilijg specifci) a single copyable prompt at the top to get all updates which will mean all profiling work is managed in a single chat from now on. I also want all profiling tasks in PyAutoMind to move to PyAutoPulse as active tasks listed under the table. Then all the profiling info itself further down. For that initial prompt, it should be I can add to it if I want to direct a specific campaign suggest a specific idea albeit like Cortex I could just tell a prompt at the start.
+
+## Plan
+
+- Add a single editable check-in prompt above a campaign table.
+- Give Pulse a validated campaign/task ledger and migrate profiling prompts with provenance.
+- Preserve existing task gates and retain the detailed measurement dashboard below.
+- Document one-chat check-ins, task updates and bounded development handoffs.
+- Validate renderer, task links, migration coverage and repository checks.
+
+Tier: undeclared β merge mode: human /prm.
+
+Implementation: `PyAutoPulse/pulse/campaigns.py`, `campaigns.yaml`, `tasks/`,
+`CHECKIN.md`, board/CLI integration and regression tests. Mind's migration record
+and routing link replace duplicate queued work; historical completion records remain.
+Project measurement producers and scientific acceptance criteria stay authoritative.
diff --git a/dashboard.html b/dashboard.html
index 32d0941aa..e97969d5a 100644
--- a/dashboard.html
+++ b/dashboard.html
@@ -231,7 +231,7 @@
PyAutoMindDashboard
Intent. Priority. Flow.
Every task the Mind is holding. Tap a task's π and its start-dev skill prompt is on your clipboard β paste it into an AI assistant chat to route the assistant straight to that task. Recent is the same work by date β what has been happening rather than what to do next.
-
2In flight
2Human review
6Parked
8Planned
258Backlog
+
3In flight
2Human review
6Parked
7Planned
232Backlog
Last updated 2026-10-03. This page is generated from active/, draft/ and the registry files, so it is only as current as they are. dashboard_refresh.yml re-renders it on every push to main β that heals a stale page, but not a stale prompt: a task that shipped without its prompt advancing to complete/ keeps rendering here as pickable backlog. Reconciling those is the refresh below.
+
+ci β 3 task(s) Β· 3 pts Β· auto β proposed β β οΈ theme(s) not in themes.md: ci, robustness
Showing 8 of 40 auto bundles β pin one in bundles.md to keep it on the page.
+
+euclid Β· hpc β bundle 2 β 2 task(s) Β· 3 pts Β· auto β proposed β β οΈ theme(s) not in themes.md: catalogue, euclid, hpc
+
π
Run this bundle β one session, one issue and one PR per member
The 50 newest things to happen to the work in hand, newest first β issued, parked, filed. Every other section on this page is laid out by state, which is exactly why none of them can answer βwhat has been happening?β. Shipped work is not here: it is read from complete/index.md, and a thousand records deep it would crowd out everything anyone can still act on. Showing the newest 10; β¦ opens the next 10.
-Cluster PointSolver β robustness and performance β 3 queued prompt(s), in order
-
π
Cluster PointSolver β robustness and performance β ledger: draft/research/autolens_profiling/cluster_pointsolver_speed.md β Expanded by human agreement 2026-10-01 to own robust analysis settings, numerical correctness and performance. Carries Source &β¦
+Cluster PointSolver β robustness and performance β 1 queued prompt(s), in order
+
π
Cluster PointSolver β robustness and performance β ledger: https://github.com/PyAutoLabs/PyAutoPulse/blob/main/tasks/cluster_pointsolver_speed.md β Expanded by human agreement 2026-10-01 to own robust analysis settings, numerical correctness and performance. Carries Source &β¦