Skip to content

Commit 77036bd

Browse files
committed
docs: presentation layer reorganization - complete 5-step engineering process
Complete systematic engineering process for refactoring src/presentation/: **Step 1 - Research** (docs/research/): - presentation-layer-organization-in-cli-apps.md - Survey of CLI patterns: Cargo, Rustup, ripgrep, clap examples - Four-layer architecture analysis (Input → Dispatch → Controllers → Views) **Step 2 - Analysis** (docs/analysis/presentation-layer/): - current-structure.md - Identified 8 structural issues - Mixed responsibilities, unclear terminology, orphaned modules **Step 3 - Design** (docs/analysis/presentation-layer/): - design-proposal.md - Four-layer architecture specification - Clear separation: parsing → routing → handling → formatting **Step 4 - Refactor Plan** (docs/refactors/plans/): - presentation-layer-reorganization.md (central hub) - 6 progressive, independently mergeable proposals - Process tracking and decision documentation - Updated docs/refactors/active-refactorings.md **Step 5 - GitHub Issues** (docs/issues/): - 154-epic-presentation-layer-reorganization.md (EPIC) - 155-proposal-1-create-input-layer.md (2-3h, 5 phases) - 156-proposal-2-create-dispatch-layer.md (2-3h, 6 phases) Issues created on GitHub: - #154: #154 - #155: #155 - #156: #156 This systematic approach was used due to the refactoring's large scope (50+ files), architectural significance, and multiple implementation phases.
1 parent 4934e60 commit 77036bd

9 files changed

+3736
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Presentation Layer Analysis
2+
3+
This directory contains analysis documents for reorganizing the `src/presentation/` layer.
4+
5+
## Documents
6+
7+
### 1. Current Structure Analysis
8+
9+
**File**: [`current-structure.md`](./current-structure.md)
10+
11+
**Purpose**: Objective analysis of the current presentation layer organization.
12+
13+
**Contents**:
14+
15+
- **Part A**: Current Structure Description
16+
- Directory layout and organization
17+
- Data flow diagrams
18+
- Sequence diagrams
19+
- Dependency graphs
20+
- **Part B**: Problems Analysis
21+
- Critical issues (3)
22+
- Moderate issues (3)
23+
- Minor issues (2)
24+
25+
**Date**: November 6, 2025
26+
27+
---
28+
29+
### 2. Design Proposal
30+
31+
**File**: [`design-proposal.md`](./design-proposal.md)
32+
33+
**Purpose**: Proposes a new four-layer architecture for the presentation layer.
34+
35+
**Contents**:
36+
37+
- Design overview and visual architecture
38+
- Complete directory structure
39+
- Layer specifications (Input, Dispatch, Controllers, Views)
40+
- Data flow diagrams
41+
- Benefits and trade-offs
42+
- Comparison to alternatives
43+
- Container integration (lazy-loading pattern)
44+
45+
**Key Features**:
46+
47+
- Four explicit layers: Input → Dispatch → Controllers → Views
48+
- Reuses existing `Container` from `bootstrap/` with lazy-loading
49+
- Standard web framework terminology (MVC/MVT alignment)
50+
- Integrates orphaned `progress.rs` into `views/progress/`
51+
52+
**Date**: November 6, 2025
53+
54+
---
55+
56+
## Related Documentation
57+
58+
- [Research: CLI Organization Patterns](../../research/presentation-layer-organization-in-cli-apps.md)
59+
- [Refactor Plan](../../refactors/plans/presentation-layer-reorganization.md) - Complete engineering process tracking
60+
- [DDD Layer Placement Guide](../../contributing/ddd-layer-placement.md)
61+
- [Module Organization Conventions](../../contributing/module-organization.md)

0 commit comments

Comments
 (0)