* refactor: render chat rows from presentation state * Fix Meshtastic channel sync and add MeshCore CN preset * Add granular chat notification settings * Add SD settings backup and restore * Prepare 0.1.26-alpha release --------- Co-authored-by: vicliu624 <vicliu@outlook.com>
3.1 KiB
Post-Refactor Final Closeout Report
Conclusion
This architecture refactor is complete.
Next work is not architecture refactor.
The remaining work is not a continuation of the refactor. It is feature work, targeted fallback deletion, targeted deprecated alias deletion, or normal platform/build maintenance.
Completed
| Area | Result |
|---|---|
| Phase 5-7 runtime ownership | Runtime ownership boundaries and legacy burn-down register established. |
| Phase 8 directory/app shell/UX/menu/screen graph | apps/ semantics converged, final app shells established, UX menu/screen graph became portable. |
| Phase 9 runtime adoption and legacy burn-down | Runtime presenters and entry adoption paths established; ChatDelivery, KeyVerification, and MapOverlay legacy adapters burned down to deprecated aliases. |
| Phase 10 primary path migration | LinuxSim, GTK page registry, and LVGL compatibility descriptor paths became primary; hardcoded paths became fallback-only. |
| Phase 11 renderer descriptor consumption | LinuxSim renderer, GTK page registry renderer, and LVGL descriptor renderer probe consume primary descriptors. |
| Phase 12 closeout | fallback deletion readiness, deprecated alias cleanup plan, architecture freeze, and final guardrail checker established. |
| Batch 4 root legacy elimination | root legacy/ removed; historical source roots are recorded only in docs/archive/REMOVED_LEGACY_ROOTS.md. |
Remaining Contained Debt
| Debt | Status | Next action type |
|---|---|---|
| GTK real widget rewrite | contained; descriptor page registry exists | targeted renderer migration |
| LVGL real widget/menu rewrite | contained; descriptor menu model exists | targeted device renderer migration |
| fallback deletion | readiness ledger exists | targeted fallback deletion |
| removed legacy source roots | deleted; history recorded in docs/archive | no source archive retained |
| compatibility alias headers | deprecated aliases only | targeted alias deletion after downstream includes disappear |
| map tile/route/tracker remaining legacy surfaces | registered contained debt | targeted debt deletion |
Post-Refactor Rule
New features must enter through:
app shell / UX pack / presentation graph / descriptor path / renderer-safe consumption
New features must not introduce:
- new
Legacy*bridges - new hardcoded page registry as primary source
- renderer-level UX pack selection
- module dependencies on app shells
- root
legacy/ legacy/app_implementations/- active checker requiring legacy roots
- source archive under
docs/archive - new
legacy_source_descriptor - new transitional UI layer
Final Guardrail
tools/architecture/check_post_refactor_final_ready.py is the final post-refactor
gate. It runs or verifies the Phase 8-11 gates, checks Phase 12 closeout
documents, enforces final app shell directory semantics, runs the no-root
legacy checker, and blocks regression to burned-down legacy headers or
renderer-level UX selection.
Final Statement
This round of architecture refactor is closed. Future work should be planned as feature delivery or narrowly scoped debt deletion, not as another broad structure-building phase.