Skip to content

feat(batch): Batch facade + load/from_journal (#702) - #732

Merged
jepegit merged 1 commit into
masterfrom
702-batch-v3-facade
Jul 26, 2026
Merged

feat(batch): Batch facade + load/from_journal (#702)#732
jepegit merged 1 commit into
masterfrom
702-batch-v3-facade

Conversation

@jepegit

@jepegit jepegit commented Jul 26, 2026

Copy link
Copy Markdown
Owner

A6 — batch v3: the Batch facade

Sixth arc of Epic A (batch v3, #696). The thin, notebook-friendly Batch class that ties the package together behind the surface the characterization net (#697) pinned.

cellpy/batch/facade.py

  • Batchpages, cell_names, cells (lazy store), summaries/combine_summaries/make_summaries (cached, via aggregate), update/load/recalc (via runner.run), report (via qc), save/export_journal, paginate (via layout.ensure_dirs), create_journal, mark_as_bad, drop, link.
  • load() / from_journal() — module-level constructors (file / frame / model / name).
  • plot() delegates to the plotting layer via a small legacy adapter; the full tidy-frame plot path lands with the collectors redesign (Epic B) per batch plan §4.7.

Tests — tests/test_batch_v3_facade.py (7, all green)

Surface completeness; from_journal; updatesummaries value parity with aggregate; report pass; mark_as_bad/drop; save round-trip; load(frame=). Full batch-v3 suite: 41 green.

Cross-impl golden parity (old Batch vs new) runs at A7 (#703) when utils.batch delegates to cellpy.batch and A1's test_batch.py golden exercises the new path.

Closes #702. Part of #696.

🤖 Generated with Claude Code

Sixth arc of Epic A (batch v3, #696). The thin notebook-friendly Batch class
tying journal (#698) + policy (#699) + runner/store (#700) + aggregate/qc
(#701) together behind the surface the characterization net pinned (#697):
pages, cells, summaries, update/load, combine_summaries, make_summaries,
report, save, export_journal, paginate, create_journal, mark_as_bad, drop,
link, recalc, plot. Module-level load()/from_journal() constructors.

plot() delegates to the plotting layer via a small legacy adapter; the full
tidy-frame plot path lands with the collectors redesign (Epic B).

7 tests: surface completeness, from_journal, update->summaries value parity
with aggregate, report pass, mark_as_bad/drop, save round-trip, load(frame=).
Full batch-v3 suite: 41 green.

Closes #702.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@jepegit jepegit added this to the v.2.1 milestone Jul 26, 2026
@jepegit jepegit added the cellpy2-stage4 cellpy 2.1 (Stage 4): batch/collectors redesign, utils waves 3-4, F6, shim removals label Jul 26, 2026
@cursor

cursor Bot commented Jul 26, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@jepegit
jepegit enabled auto-merge (squash) July 26, 2026 20:30
@jepegit
jepegit merged commit c081172 into master Jul 26, 2026
6 checks passed
@jepegit
jepegit deleted the 702-batch-v3-facade branch July 26, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cellpy2-stage4 cellpy 2.1 (Stage 4): batch/collectors redesign, utils waves 3-4, F6, shim removals

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A6: batch v3 — facade + golden parity

1 participant