Skip to content

refactor: [#168] integrate progress module into views layer#169

Merged
josecelano merged 1 commit intomainfrom
168-integrate-progress-into-views
Nov 12, 2025
Merged

refactor: [#168] integrate progress module into views layer#169
josecelano merged 1 commit intomainfrom
168-integrate-progress-into-views

Conversation

@josecelano
Copy link
Copy Markdown
Member

Overview

This PR implements issue #168 by moving the orphaned src/presentation/progress.rs module into the views layer as src/presentation/views/progress/ to establish clear ownership and complete the four-layer presentation architecture.

Changes Made

✅ Module Structure

  • Moved src/presentation/progress.rs to src/presentation/views/progress/mod.rs
  • Updated src/presentation/views/mod.rs to include and re-export progress module
  • Updated src/presentation/mod.rs to remove progress module from root
  • Added progress module documentation to views layer

✅ Import Path Updates

Updated import statements in 7 files:

  • 6 controller files: create/destroy subcommand handlers and error types
  • 1 test file: reentrancy test

✅ Documentation Updates

  • Updated all 10 documentation examples in progress module to use new import paths
  • All doctests compile and pass with new import paths
  • Added progress module reference in views layer documentation

Architecture Benefits

  • Clear Ownership: Progress indicators are now clearly owned by the Views layer
  • No Orphaned Modules: Eliminated the orphaned module at presentation root
  • MVC Alignment: Progress indicators are properly categorized as view components
  • Views Layer Completion: Views layer now comprehensively handles all output/formatting concerns

Verification

✅ All Tests Pass

  • 1,178 unit tests
  • 306 doctests ✅ (including 10 progress-specific)
  • E2E provision tests
  • E2E configuration tests

✅ Quality Checks

  • All linters pass ✅ (markdown, yaml, toml, cspell, clippy, rustfmt, shellcheck)
  • No unused dependencies ✅ (cargo machete clean)
  • Documentation builds
  • Pre-commit checks

✅ API Preservation

  • No breaking changes - all existing functionality preserved
  • Import path migration - simple find/replace for consumers
  • Documentation updated - all examples work with new paths

Related Issues

Reviewer Notes

This is a straightforward module move with no functional changes. The progress module API remains exactly the same, only the import path has changed from presentation::progress to presentation::views::progress.

All acceptance criteria from the issue specification have been met. The implementation follows the project's module organization conventions and maintains all quality standards.

Move src/presentation/progress.rs to src/presentation/views/progress/mod.rs
to consolidate all user-facing output components under the views layer.

Updated import paths across 7 files:
- 6 controller files (create, destroy subcommands)
- 1 test file (reentrancy test)

All documentation examples updated to reflect new module structure.
Tests and linting pass. No breaking changes to public API.
@josecelano josecelano self-assigned this Nov 12, 2025
@josecelano
Copy link
Copy Markdown
Member Author

ACK b9a3573

@josecelano josecelano merged commit 2590735 into main Nov 12, 2025
34 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

Development

Successfully merging this pull request may close these issues.

Proposal 5: Integrate Progress into Views Layer

1 participant