Skip to content

fix: five failing scripts + promote to smoke (cti-upkeep 3) - #46

Merged
Jammy2211 merged 3 commits into
mainfrom
feature/cti-five-failing-scripts
Nov 6, 2026
Merged

Jammy2211 merged 3 commits into
mainfrom
feature/cti-five-failing-scripts

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

Fixes the five autocti_workspace scripts that the cti-upkeep 3a smoke triage found failing, and adds them to smoke_tests.txt (36 → 44 entries) so CI covers them. Workspace only: none of the failures needed a library change. Closes #45.

Re-run from a fresh clone in dependency order, the five failures turned out to be:

script cause fix
dataset_1d/advanced/temporal/database.py each fit is a FactorGraphModel, so max_log_likelihood() returns one entry per dataset plus factor, with no .time take the per-dataset entry [0], as fit.py does with result_list[0].instance
dataset_1d/advanced/temporal/plot.py same as above, for median_pdf / errors_at_*_sigma same [0]
plot/diagnostics/imaging_ci/well_filling.py float() on the 1-element binned EPER array (NumPy 2 refuses it) take [0]
imaging_ci/advanced/chaining/noise_scaling.py (1) read poisson/simple/norm_*, but poisson_traps.py writes poisson/norm_*; (2) called set_noise_scaling_map_dict(), which PyAutoCTI removed when the maps became a dict; (3) never passed the imaging_ci_full_list it builds, so Result.noise_scaling_map_dict hit dataset_full=None; (4) under profile_release the visualization of the full dataset needs the maps too path fixed; assign noise_scaling_map_dict directly on both the masked and full datasets; pass dataset_full to all three searches' analyses
plot/fpa/imaging_ci/database.py did not reproduce: passes once its simulator and fit run first. The 11-05 PIXSCAY error was a triage ordering / stale-output artefact no change; promoted with its simulator and fit

The "SQLAlchemy error" the triage saw on temporal/plot.py only happens on a second local run: under test mode the script deletes output/<name>.sqlite, but the database lives in output/test_mode/<name>.sqlite. CI always runs fresh, so it's filed separately as PyAutoMind/draft/bug/autocti_workspace/database_scripts_stale_sqlite_under_test_mode.md (6 scripts share the pattern).

Scripts Changed

  • scripts/dataset_1d/advanced/temporal/database.py: per-dataset instance [0], with an explanation in the prose
  • scripts/dataset_1d/advanced/temporal/plot.py: per-dataset instance [0] (median PDF and both error bounds)
  • scripts/plot/diagnostics/imaging_ci/well_filling.py: scalar EPER via [0]
  • scripts/imaging_ci/advanced/chaining/noise_scaling.py: dataset path, dataset_full, noise scaling maps on both datasets
  • smoke_tests.txt: +8 entries, each after its producers (temporal/database.py and temporal/plot.py; poisson_traps.py and noise_scaling.py; the plot/fpa/imaging_ci simulator, fit and database; well_filling.py)
  • AGENTS.md: smoke count 36 → 44
  • notebooks/: the four matching notebooks regenerated with generate.py autocti

Upstream PR

None (workspace only).

Test Plan

  • Each fixed script run from a fresh clone, after its producers
  • Full smoke_tests.txt from a fresh clone, profile_smoke: 44/44 passed, 573 s
  • Full smoke_tests.txt from a fresh clone, profile_release: 43/44 on the first run; the failure (noise_scaling.py, full-dataset noise scaling under visualization) was fixed in f00ade8 and re-run green under both profiles
  • PR CI smoke (3.12, 3.13)

Timing note: the plot/fpa/imaging_ci chain is the costliest addition: about 230 s under profile_smoke (fit 108 s) and about 430 s under profile_release (fit 296 s). It's kept because the prompt's Witness requires all five scripts in smoke; it's a candidate for /ci_speedup if the release gate's wall time matters.

Heart: STALE at ship time, with one reason, acknowledged by the human: "release validation stale: source moved since rehearsal (PyAutoNerves)".

Tier: glance. Merge mode: auto-merge on green if the Witness passes.

🤖 Generated with Claude Code

Jammy2211 and others added 3 commits November 6, 2026 10:04
…ling scalar, noise_scaling path + dataset_full; promote to smoke

- dataset_1d/advanced/temporal/{database,plot}.py: take the per-dataset entry [0] of each
  FactorGraphModel instance (carries time + cti), as fit.py does
- plot/diagnostics/imaging_ci/well_filling.py: take [0] of the 1-element binned EPER
  array (NumPy 2 refuses float() on it)
- imaging_ci/advanced/chaining/noise_scaling.py: read the poisson_traps.py output path,
  set dataset.noise_scaling_map_dict directly (set_noise_scaling_map_dict was removed),
  pass the already-built imaging_ci_full_list as dataset_full (Result.noise_scaling_map_dict
  fits the full dataset)
- smoke_tests.txt: +8 entries (36 -> 44), each after its producers

Closes #45

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Under profile_release, visualization fits each dataset_full; search 2's hyper noise
scaling then needs noise_scaling_map_dict there as well, or hyper_noise_map_from
indexes None.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Jammy2211
Jammy2211 merged commit a1107bd into main Nov 6, 2026
7 checks passed
@Jammy2211
Jammy2211 deleted the feature/cti-five-failing-scripts branch November 6, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: five autocti_workspace scripts fail on main (cti-upkeep 3)

1 participant