Skip to content

Phase 1: Remaining-work audit expansion, runtime contract, and docs architecture #158

Description

@suraj-ranganath

🤖 Phase 1 establishes the source of truth for the final standalone parity epic.

Summary

Expand the parity audit beyond the PR #152 core matrix into a final product-completion matrix covering bundled plugins, memory/storage behavior, optional external-toolbox workflows, and documentation. This phase does not port large features; it decides precisely what is still non-stale and how later phases prove completion.

Scope

  • Add or extend committed matrix/tooling for remaining areas not fully covered by docs/parity/eeglab_core_parity_matrix.json:
    • plugins/clean_rawdata
    • plugins/firfilt
    • plugins/ICLabel and plugins/ICLabel/viewprops
    • plugins/dipfit
    • functions/@eegobj, functions/@memmapdata, functions/@mmo
    • docs/tutorial coverage compared to EEGLAB concepts/tutorial structure
    • optional dependency workflows such as LIMO/PAC/FieldTrip-backed behavior
  • Define status values for this final epic: implemented, port, consolidated, stale_skip, matlab_runtime_skip, optional_dependency, external_plugin, and docs_gap or similar.
  • Define optional-dependency rules: when EEGPrep should implement a standalone path, when to use an optional dependency, and when to show clear user-facing limitations.
  • Define docs architecture modeled after EEGLAB user docs: concepts, GUI tutorials, command-line/console history, preprocessing, data structures, rejection/ICA, STUDY, extensions/plugins, API reference, and migration guides.
  • Update .notes/eeglab-migration-gap-audit.md or add a new final-epic audit note with concrete phase ownership.

Acceptance Criteria

  • A machine-readable final parity/docs matrix exists and validates in CI or tests.
  • Every remaining non-stale workflow is assigned to Phase 2-8 or explicitly classified as out of scope with rationale.
  • Stale MATLAB demos/tests/shims remain skipped and are not planned as bloat.
  • Runtime rule is restated and tested: installed package code does not depend on src/eegprep/eeglab.
  • Documentation architecture is defined before docs writers start.
  • Phase agents can select work from the matrix without asking product-scope questions.

Required References

  • AGENTS.md
  • .notes/eeglab-migration-gap-audit.md
  • docs/parity/eeglab_core_parity_matrix.json
  • src/eegprep/eeglab/plugins/
  • docs/source/
  • .agents/skills/eegprep-project-management/SKILL.md

/goal

/goal Build the final EEGPrep standalone parity audit foundation for the epic. Compare EEGPrep against the vendored EEGLAB plugin, object/storage, optional-toolbox, and documentation surfaces; classify every still-relevant non-stale workflow into an implement/optional-dependency/skip/docs status with phase ownership; define docs architecture modeled after EEGLAB user docs; add validation tests/tooling so unclassified rows fail; keep runtime code independent of src/eegprep/eeglab; and verify with focused tests, ruff/format/ty, and pre-commit. Do not port feature code in this phase except tiny validators/docs scaffolding needed for the contract.

Metadata

Metadata

Assignees

No one assigned

    Labels

    phaseEpic implementation phase

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions