You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🤖 This epic plans the final standalone EEGPrep parity push after PR #152. It is stacked on feature/eeglab-core-parity-completion until #152 merges.
Summary
Complete the remaining non-stale EEGLAB parity work so EEGPrep is a standalone Python application that EEGLAB users can use naturally from GUI, Python API, and eegprep-console. This epic does not reopen the core parity categories already closed by PR #152; instead it targets the still-relevant product surfaces left in .notes/eeglab-migration-gap-audit.md:
Documentation: current Sphinx docs exist, but need EEGLAB-like tutorial organization, Concepts Guide depth, command equivalence notes, GUI screenshots, and complete user journeys.
Explicit Non-Goals
Do not port stale MATLAB demo/test/internal helpers just because names differ.
Do not make package runtime code depend on src/eegprep/eeglab.
Do not fake external-toolbox workflows with plausible shapes and no real computation.
Do not vendor broad external plugin ecosystems into core EEGPrep unless a phase explicitly promotes one to a maintained bundled plugin surface.
Do not replicate MATLAB GUI shim files one-for-one when a native Qt/Python implementation is the better standalone design.
Phase 1 must merge first. It defines the expanded matrix, documentation architecture, optional-dependency rules, and what counts as non-stale for this final epic.
After Phase 1, Phases 2, 3, 5, and 6 can run in parallel because they touch different plugin/runtime domains.
Phase 4 can start after Phase 1 and may run in parallel with 2/3/5/6, but must coordinate with Phase 3 for DIPFIT/STUDY source-localization assumptions and with Phase 5 for large STUDY data storage.
Phase 7 should start after Phase 1 for docs architecture but merge after Phases 2-6 so the user docs describe completed behavior, not intentions.
Phase 8 runs last after all feature/docs phases merge.
Recommended merge order:
1 -> 2 + 3 + 4 + 5 + 6 -> 7 -> 8 -> final epic PR
Epic-Level Acceptance Criteria
EEGPrep remains standalone; no installed package runtime path depends on the vendored EEGLAB checkout.
Every remaining non-stale EEGLAB workflow identified for this epic is implemented, intentionally classified, or documented as an explicit optional-dependency limitation.
GUI, Python API, and eegprep-console remain synchronized for every new user-facing workflow.
GUI features include side-by-side EEGLAB/EEGPrep visual parity images attached to phase PRs.
Numerical workflows have MATLAB parity tests where deterministic and feasible.
Sphinx docs are organized like a real user manual: installation, concepts, GUI workflows, command/console workflows, tutorials, API reference, plugin docs, developer docs, and migration notes for EEGLAB users.
Final branch passes lint, type check, non-slow tests, MATLAB-enabled parity where available, docs build, visual parity suite, and GUI Agent mixed workflow QA.
🤖 This epic plans the final standalone EEGPrep parity push after PR #152. It is stacked on
feature/eeglab-core-parity-completionuntil #152 merges.Summary
Complete the remaining non-stale EEGLAB parity work so EEGPrep is a standalone Python application that EEGLAB users can use naturally from GUI, Python API, and
eegprep-console. This epic does not reopen the core parity categories already closed by PR #152; instead it targets the still-relevant product surfaces left in.notes/eeglab-migration-gap-audit.md:storedisk/memory semanticsBranching
feature/eeglab-full-standalone-completionfeature/eeglab-core-parity-completionfeature/eeglab-full-standalone-completionorigin/developReferences
AGENTS.md.notes/eeglab-migration-gap-audit.mddocs/parity/eeglab_core_parity_matrix.json.agents/skills/eegprep-feature-development/SKILL.md.agents/skills/eeglab-gui-visual-parity/SKILL.md.agents/skills/gui-agent-flow-qa/SKILL.md.agents/skills/eegprep-project-management/SKILL.mdAudit Result Before Planning
The previous core parity matrix is green:
port,partial, or unclassified rows for the PR [Parity] Complete remaining EEGLAB core gaps #152 categories.Useful remaining surfaces found during this planning pass:
clean_rawdata: Riemannian ASR processing depth,vis_artifacts, user-visible progress/diagnostic parity, Manopt-backed behavior decisions.firfilt: order calculators, filter reports, split/boundary helpers, minimum-phase/window helpers, and frequency-response plotting.DIPFIT: source-localization internals, manual/batch workflows, atlas/head-coordinate helpers, private transform helpers, FieldTrip conversion boundaries.STUDY/advanced statistics: LIMO-compatible design/results paths, PAC compute/cache/plot workflows, neighbour/interpolation behavior, optional external dependencies.storediskand memory-mapped expectations need a Python-native large-dataset design rather than MATLAB class ports.Explicit Non-Goals
src/eegprep/eeglab.Phase List
Phase issues:
storedisksemanticsParallelization
Recommended merge order:
1 -> 2 + 3 + 4 + 5 + 6 -> 7 -> 8 -> final epic PREpic-Level Acceptance Criteria
eegprep-consoleremain synchronized for every new user-facing workflow.