|
1 | 1 | # TODO β RAGIX Roadmap |
2 | 2 |
|
3 | | -**Updated:** 2025-12-11 (v0.51.0 - Project Discovery & Partitioner Core) |
| 3 | +**Updated:** 2025-12-11 (v0.55.0 - Codebase Partitioner) |
4 | 4 | **Reference:** See `PLAN_v0.30_REASONING.md` for full implementation plan |
5 | 5 | **Review:** See `REVIEW_current_reasoning_towardsv0.30.md` for colleague feedback |
6 | | -**Current:** v0.51.0 - Stabilization & v0.55 Preparation (see `PLAN_v0.55.md` for Partitioner feature) |
| 6 | +**Current:** v0.55.0 - Codebase Partitioner with Force-Directed Visualization |
7 | 7 |
|
8 | 8 | --- |
9 | 9 |
|
10 | | -## Session Completed (2025-12-11 - v0.51.0) |
| 10 | +## Session Completed (2025-12-11 - v0.55.0 Sprint 2: SIAS/GRDF Audit) |
11 | 11 |
|
12 | | -### Project Discovery & Partitioner Preparation |
| 12 | +### SIAS Service Detection & Audit Improvements |
13 | 13 |
|
14 | 14 | | Task | Status | |
15 | 15 | |------|--------| |
16 | | -| **Python Project Discovery** - Robust multi-module Java project discovery | β
Done | |
17 | | -| **Common Ancestor Detection** - Find common parent for >3 src directories | β
Done | |
18 | | -| **Correct File Counting** - Sum Java files across all modules | β
Done | |
19 | | -| **Type Annotation Fixes** - Forward references for javalang types | β
Done | |
20 | | -| **Code Tracker Test Suite** - Professional API test suite | β
Done | |
21 | | -| **Test Assertion Fixes** - Match server response format (entropy.structural, inequality.gini) | β
Done | |
22 | | -| **Partitioner Core Engine** - `ragix_audit/partitioner.py` with evidence chains | β
Done | |
23 | | -| **v0.55 Plan Document** - Detailed specification for Partitioner feature | β
Done | |
24 | | -| **Version Update** - Bumped to v0.51.0 | β
Done | |
| 16 | +| **SIAS Service Patterns** - `spre##`, `sprebpm`, `spremail`, `s[ActionName]` detection | β
Done | |
| 17 | +| **Multi-Module Maven Support** - Auto-detect `app-pre-main/.../src/` structures | β
Done | |
| 18 | +| **Service Pattern Presets** - IOWIZME, SIAS/GRDF, Combined in Audit Settings | β
Done | |
| 19 | +| **Audit Settings UI** - Service Detection Patterns section with textarea inputs | β
Done | |
| 20 | +| **ID Normalization** - Uppercase IDs for consistency (service_detector β timeline) | β
Done | |
| 21 | +| **MDS Graph Layout** - Eigendecomposition-based positioning for small graphs | β
Done | |
| 22 | +| **Partition-Based Layout** - O(n) circular layout for large graphs (>500 nodes) | β
Done | |
| 23 | +| **Auto-Stop Simulation** - D3.js stabilization with precomputed positions | β
Done | |
| 24 | +| **Label Visibility Fix** - All labels visible at max zoom with text-shadow | β
Done | |
| 25 | +| **Line Slider Fix** - `scrollIntoView()` for smooth code navigation | β
Done | |
| 26 | +| **Risk Analysis Fix** - Services now match timeline IDs for risk scoring | β
Done | |
| 27 | + |
| 28 | +**Key Files Created/Modified:** |
| 29 | +- `ragix_audit/component_mapper.py` - SIAS patterns (spre##, JMS, TASK types) |
| 30 | +- `ragix_audit/service_detector.py` - SIAS annotations, multi-module path handling |
| 31 | +- `ragix_audit/partitioner.py` - `compute_layout()`, MDS, partition-based layout |
| 32 | +- `ragix_web/routers/audit.py` - `_get_source_path()` helper for multi-module projects |
| 33 | +- `ragix_web/static/index.html` - Service patterns UI, presets, label fixes, line slider |
| 34 | +- `ragix_web/static/style.css` - Textarea styling, label text-shadow |
| 35 | + |
| 36 | +**Results:** |
| 37 | +- SIAS: 46 services detected (was 0), 26 with risk scores |
| 38 | +- IOWIZME: 27 services (unchanged, still working) |
| 39 | +- Partition analysis: 0.28s for 17K nodes (was timing out) |
| 40 | + |
| 41 | +--- |
| 42 | + |
| 43 | +## Session Completed (2025-12-11 - v0.55.0 Sprint 1: Partitioner) |
| 44 | + |
| 45 | +### Codebase Partitioner Feature |
| 46 | + |
| 47 | +| Task | Status | |
| 48 | +|------|--------| |
| 49 | +| **Partitioner API Endpoints** - POST /api/ast/partition, GET /presets, GET /export | β
Done | |
| 50 | +| **Partitioner Section UI** - Config panel with application cards, patterns, shared patterns | β
Done | |
| 51 | +| **Preset Configurations** - SIAS/TICC, Generic Two Apps, Generic Three Apps | β
Done | |
| 52 | +| **Force-Directed Visualization** - D3.js physics simulation with partition clustering | β
Done | |
| 53 | +| **Accordion Class Lists** - Expandable groups by partition with class details | β
Done | |
| 54 | +| **Export System** - JSON, CSV, XLSX formats with file paths, confidence, evidence | β
Done | |
| 55 | +| **Cross-Partition Detection** - Red-highlighted edges between different partitions | β
Done | |
| 56 | +| **Interactive Graph** - Drag nodes, pause/resume simulation, tooltips, legend | β
Done | |
| 57 | +| **Summary Statistics** - Total classes, coverage, cross-partition edges, coupling density | β
Done | |
| 58 | +| **Version Update** - Bumped to v0.55.0 | β
Done | |
25 | 59 |
|
26 | 60 | **Key Files Created/Modified:** |
27 | | -- `tests/audit/discover_projects.py` - NEW: Python project discovery with JSON output |
28 | | -- `tests/audit/run_audit_tests.sh` - Updated to use Python discovery |
29 | | -- `tests/audit/test_tracker_api.py` - Fixed test assertions for server response format |
30 | | -- `ragix_core/ast_java.py` - Fixed all javalang type annotations using forward references |
31 | | -- `ragix_audit/partitioner.py` - NEW: Core partitioning engine with evidence chains |
32 | | -- `PLAN_v0.55.md` - NEW: Detailed specification for Partitioner feature |
33 | | -- `ragix_core/version.py` - Updated to 0.51.0 |
34 | | - |
35 | | -**Type Annotations Fixed:** |
36 | | -- `_convert_compilation_unit()` - `tree: "CompilationUnit"` |
37 | | -- `_convert_import()` - `imp: "Import"` |
38 | | -- `_convert_member()` - `node: "JavaNode"` |
39 | | -- `_convert_method()` - `node: "MethodDeclaration"` |
40 | | -- `_convert_constructor()` - `node: "ConstructorDeclaration"` |
41 | | -- `_convert_field()` - `node: "FieldDeclaration"` |
42 | | -- `_convert_parameter()` - `param: "FormalParameter"` |
43 | | -- `_extract_calls()` - `node: "MethodDeclaration"` |
44 | | - |
45 | | -**Test Results (IOWIZME):** |
46 | | -- 8/9 tests passing (89%) |
47 | | -- Outliers: 10 files |
48 | | -- Complex methods: 14 |
49 | | -- Dead code candidates: 4094 |
50 | | -- Coupling packages: 225 |
| 61 | +- `ragix_web/server.py` - Added Partitioner API (partition, presets, export endpoints) |
| 62 | +- `ragix_web/static/index.html` - Added Partitioner section with config, graph, accordion |
| 63 | +- `ragix_web/static/style.css` - Added 600+ lines of Partitioner CSS styles |
| 64 | +- `ragix_audit/partitioner.py` - Core engine with fingerprint matching, graph propagation |
| 65 | +- `ragix_core/version.py` - Updated to 0.55.0 |
| 66 | +- `README.md` - Updated with v0.55.0 features |
| 67 | +- `PLAN_v0.55.md` - Detailed specification document |
| 68 | + |
| 69 | +**API Endpoints:** |
| 70 | +- `POST /api/ast/partition` - Run partition analysis with configuration |
| 71 | +- `GET /api/ast/partition/status` - Check partitioner availability |
| 72 | +- `GET /api/ast/partition/presets` - Get preset configurations |
| 73 | +- `GET /api/ast/partition/export` - Export results in JSON/CSV/XLSX |
| 74 | + |
| 75 | +**UI Components:** |
| 76 | +- Partitioner card in AST visualizations section |
| 77 | +- Configuration panel with dynamic application cards |
| 78 | +- Textarea inputs for patterns (package, class, keyword) |
| 79 | +- Shared patterns configuration |
| 80 | +- Advanced options (propagation iterations, confidence threshold) |
| 81 | +- Summary statistics bar with badges |
| 82 | +- Force-directed D3.js graph with zoom/pan |
| 83 | +- Accordion class lists sorted by partition size |
| 84 | +- Export buttons (JSON, CSV, XLSX) |
51 | 85 |
|
52 | 86 | --- |
53 | 87 |
|
54 | | -## Roadmap: v0.55 - Codebase Partitioner |
| 88 | +## Missing Steps for v0.55 Completion |
| 89 | + |
| 90 | +### Service Pattern Configuration Backend |
| 91 | + |
| 92 | +| Task | Priority | Status | |
| 93 | +|------|----------|--------| |
| 94 | +| **Backend API for Service Patterns** - POST /api/audit/config with `service_patterns` | High | Pending | |
| 95 | +| **Runtime Pattern Reload** - Apply custom patterns without restart | High | Pending | |
| 96 | +| **Pattern Validation** - Validate regex patterns before saving | Medium | Pending | |
| 97 | +| **Pattern Export/Import** - Save/load pattern configurations as JSON | Low | Pending | |
| 98 | + |
| 99 | +### Audit Tab Polish |
55 | 100 |
|
56 | | -**Reference:** See `PLAN_v0.55.md` for detailed specification |
| 101 | +| Task | Priority | Status | |
| 102 | +|------|----------|--------| |
| 103 | +| **Services Table Sorting** - Sort by ID, Type, Files, Risk, Age | Medium | Pending | |
| 104 | +| **Services Filter** - Filter by type (service/screen/general), risk level | Medium | Pending | |
| 105 | +| **Risk Badge Colors** - Color-coded risk badges (green/yellow/orange/red) | Medium | Pending | |
| 106 | +| **Age Display** - Show age in years/months for services | Low | Pending | |
| 107 | +| **Category Display** - Show lifecycle category (NEW/ACTIVE/MATURE/LEGACY) | Low | Pending | |
| 108 | + |
| 109 | +### Testing & Validation |
| 110 | + |
| 111 | +| Task | Priority | Status | |
| 112 | +|------|----------|--------| |
| 113 | +| **SIAS Full Audit Test** - End-to-end test with all 46 services | High | Pending | |
| 114 | +| **IOWIZME Regression Test** - Verify SK/SC/SG detection unchanged | High | Pending | |
| 115 | +| **Pattern Preset Validation** - Test all presets generate expected results | Medium | Pending | |
| 116 | + |
| 117 | +--- |
57 | 118 |
|
58 | | -### Partitioner Feature |
| 119 | +## Roadmap: v0.60 - RAG Partition Integration |
| 120 | + |
| 121 | +### Planned Features |
59 | 122 |
|
60 | 123 | | Task | Priority | Status | |
61 | 124 | |------|----------|--------| |
62 | | -| **Partitioner Tab UI** - New tab in AST section for partitioning | High | Pending | |
63 | | -| **Force-Directed Visualization** - D3.js molecular physics simulation | High | Pending | |
64 | | -| **Partition Labels** - APP_A, APP_B, SHARED, DEAD_CODE, UNKNOWN | High | Pending | |
65 | | -| **Evidence Chains** - Classification traceability (fingerprint, neighbor, shared) | High | Pending | |
66 | | -| **Export Formats** - JSON, CSV, XLSX with line numbers and methods | High | Pending | |
67 | | -| **RAG Integration** - Partition tags in global vector store metadata | High | Pending | |
68 | | -| **Cross-Partition Coupling** - Analyze dependencies between partitions | Medium | Pending | |
69 | | -| **Batch Analysis** - Process large codebases efficiently | Medium | Pending | |
70 | | - |
71 | | -### v0.55 Implementation Phases |
72 | | - |
73 | | -| Phase | Description | Effort | Status | |
74 | | -|-------|-------------|--------|--------| |
75 | | -| **Phase 1** - Core Backend | Integrate partitioner.py with server API | 2 days | Pending | |
76 | | -| **Phase 2** - Basic UI | Partitioner tab with config and results tables | 2 days | Pending | |
77 | | -| **Phase 3** - Force-Directed Viz | D3.js molecular visualization | 3 days | Pending | |
78 | | -| **Phase 4** - Export System | JSON/CSV/XLSX generators | 1 day | Pending | |
79 | | -| **Phase 5** - RAG Integration | Partition metadata in vector store | 2 days | Pending | |
80 | | -| **Phase 6** - Polish & Testing | Documentation and test suite | 2 days | Pending | |
| 125 | +| **RAG Partition Metadata** - Add partition tags to vector store chunks | High | Pending | |
| 126 | +| **Partition Filter in Search** - Filter RAG results by partition | High | Pending | |
| 127 | +| **Chat Partition Context** - Include partition info in AI context | Medium | Pending | |
| 128 | +| **Automated Pattern Discovery** - ML-based fingerprint suggestion | Low | Planned | |
| 129 | +| **Migration Planning** - Generate refactoring roadmap from partitions | Low | Planned | |
| 130 | + |
| 131 | +--- |
| 132 | + |
| 133 | +## Session Completed (2025-12-11 - v0.51.0) |
| 134 | + |
| 135 | +### Project Discovery & Type Safety |
| 136 | + |
| 137 | +| Task | Status | |
| 138 | +|------|--------| |
| 139 | +| **Python Project Discovery** - Robust multi-module Java project discovery | β
Done | |
| 140 | +| **Common Ancestor Detection** - Find common parent for >3 src directories | β
Done | |
| 141 | +| **Type Annotation Fixes** - Forward references for javalang types | β
Done | |
| 142 | +| **Code Tracker Test Suite** - Professional API test suite (89% pass rate) | β
Done | |
81 | 143 |
|
82 | 144 | --- |
83 | 145 |
|
|
0 commit comments