Skip to content

[Epic] Close out Fable 5 architecture findings#220

Merged
arnodelorme merged 15 commits into
developfrom
feature/fable5-architecture-closeout
Jun 12, 2026
Merged

[Epic] Close out Fable 5 architecture findings#220
arnodelorme merged 15 commits into
developfrom
feature/fable5-architecture-closeout

Conversation

@suraj-ranganath

@suraj-ranganath suraj-ranganath commented Jun 12, 2026

Copy link
Copy Markdown
Member

Summary

Completes the Fable 5 architecture closeout epic (#207), which supersedes the deferred architecture findings from #197 and #205 after the earlier Fable 5 umbrella work. This PR removes duplicated behavior contracts, decomposes large ownerless modules, and tightens architecture around rejection, ICA, clean_rawdata, STUDY/time-frequency/statistics, CLI/extensions, BIDS, Qt, FIR, statistics, and ICLabel/viewprops while preserving EEGPrep's standalone runtime and EEGLAB-familiar user behavior.

Phase Issues And PRs

What This Enables

  • Architecture now follows EEGPrep ownership boundaries: pop wrappers coordinate user workflows, low-level helpers own signal/statistical behavior, GUI rendering is separated from processing logic, and extension/CLI surfaces reuse package contracts instead of carrying parallel implementations.
  • Rejection, ICA, clean_rawdata, time-frequency, STUDY, CLI, BIDS, FIR, statistics, and ICLabel/viewprops code paths are easier to maintain because duplicated kernels and divergent semantics have been consolidated or explicitly documented as non-goals.
  • EEGPrep remains standalone. Runtime code does not depend on the vendored EEGLAB checkout; EEGLAB stays a parity reference only.
  • GUI and eegprep-console behavior remain synchronized through session/history helpers, and user-facing command/history strings are preserved where the phases touched those paths.

GUI Evidence

This epic is primarily architecture and behavior consolidation. It did not introduce new GUI screens. PR #219 preserves the existing pop_prop_extended dialog/dashboard behavior, and the visual parity suite remains the evidence surface for the affected GUI flows. No new side-by-side image attachment was required for this final closeout PR.

Verification

  • uv run --no-sync ruff check .
  • uv run --no-sync ruff format --check .
  • uv run --no-sync ty check
  • ./pre-commit.py --changed-from origin/develop
  • EEGPREP_SKIP_MATLAB=1 uv run --no-sync pytest tests/test_clean_rawdata_channel_removal.py tests/test_cli_pipeline_qc_report.py tests/test_cli_transforms.py tests/test_plugin_menu.py tests/test_extension_runtime.py tests/test_phase4_timefreq_statistics.py tests/test_study_long_tail_helpers.py tests/test_study_clustering.py tests/test_rejection_workflows.py tests/test_bids_load_frombids_helpers.py tests/test_firfilt_helpers.py tests/test_statistics_package.py tests/test_pop_prop_extended.py tests/test_gui_pop_prop_extended.py -q
  • EEGPREP_SKIP_MATLAB=1 uv run --no-sync pytest -m "not slow" -q

Closes #193
Closes #207

@claude

claude Bot commented Jun 12, 2026

Copy link
Copy Markdown

PR Review: Close out Fable 5 architecture findings

  • Gather PR context and diff vs origin/develop
  • Review correctness & regressions
  • Review EEGLAB parity & data structures
  • Review CLAUDE.md/AGENTS.md compliance & maintainability
  • Validate findings
  • Post review

View job run

@suraj-ranganath

Copy link
Copy Markdown
Member Author

🤖 claude review this PR again. The earlier Claude review check was cancelled; please review the current final Fable 5 architecture closeout PR against develop.

@suraj-ranganath

Copy link
Copy Markdown
Member Author

🤖 @claude review this

@claude

claude Bot commented Jun 12, 2026

Copy link
Copy Markdown

Claude finished @suraj-ranganath's task in 13s —— View job


PR Review: Close out Fable 5 architecture findings

  • Gather PR context and diff vs origin/develop
  • Review correctness & regressions
  • Review EEGLAB parity & data structures
  • Review CLAUDE.md/AGENTS.md compliance & maintainability
  • Validate findings
  • Post review

@suraj-ranganath suraj-ranganath force-pushed the feature/fable5-architecture-closeout branch from 2102357 to 56294ae Compare June 12, 2026 09:17
@arnodelorme arnodelorme merged commit 95f94f2 into develop Jun 12, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants