forked from genewildish/Mainline
Refactor app.py and adapter.py for better maintainability #37
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The
app.pyandadapter.pyfiles are growing large and may benefit from refactoring or chunking into smaller, more maintainable modules.Proposed Changes
app/main.py,app/cli.py,app/pipeline_runner.py)Benefits
Acceptance Criteria
Current State Analysis (2026-03-18)
What Actually Exists
After analyzing the codebase:
engine/app.py(14 lines) - Already a thin wrapper!engine.apppackageengine/pipeline/adapters.py(50 lines) - Already deprecated wrapper!engine.pipeline.adapterspackageActual Package Structure
engine/app/main.py- Main entry point (420 lines)engine/app/pipeline_runner.py- Pipeline execution (701 lines)engine/pipeline/adapters/- Package with actual adaptersProposed Reorganization
Instead of "splitting" these files (they're already split!), the real task is:
Audit all imports in the codebase:
engine.appwrapperengine.pipeline.adapterswrapperRemove wrapper files:
engine/app.pyengine/pipeline/adapters.pyUpdate entry points:
__main__.pyif neededFiles to Audit
Search for imports like:
Risk Assessment
Should we proceed with this plan?
Completed
The refactoring has been completed in commit
c57617b:engine/app.pyis now a thin wrapper re-exporting fromengine.apppackageengine/app/__init__.py,engine/app/main.py,engine/app/pipeline_runner.pyengine/pipeline/adapters.pyis now a deprecated wrapperengine/pipeline/adapters/package with modular adapters:camera.py,data_source.py,display.py,effect_plugin.py,factory.py,transform.pyThis issue is now resolved.
Completed in commit
c57617b:engine/app/package withmain.pyandpipeline_runner.pyengine/pipeline/adapters/package with modular adaptersengine/app.pyto be a thin wrapperengine/pipeline/adapters.pyto be a deprecated wrapperThe working directory changes further improve the app package with pipeline hot-rebuild functionality.