|
| 1 | +# RegiLattice — Roadmap |
| 2 | + |
| 3 | +> Living document — updated after every sprint. |
| 4 | +> Last updated: 2026-03-08 · v1.0.0 · 1 292 tweaks · 69 categories · 17 511 tests |
| 5 | +
|
| 6 | +--- |
| 7 | + |
| 8 | +## Current State (as of 2026-03-08) |
| 9 | + |
| 10 | +| Metric | Value | |
| 11 | +|--------|-------| |
| 12 | +| Tweaks | 1 292 across 69 categories | |
| 13 | +| Tests | 17 511 (all passing) | |
| 14 | +| Python | 3.10 – 3.14 | |
| 15 | +| Lint | ruff (E, F, W, I, UP, B, SIM, RUF) | |
| 16 | +| Type check | mypy --strict | |
| 17 | +| Coverage | ~high (target ≥ 90 %) | |
| 18 | +| GUI | tkinter + 4 themes | |
| 19 | +| Profiles | 5 (business, gaming, privacy, minimal, server) | |
| 20 | +| Platforms | Windows (primary); Linux/WSL (partial) | |
| 21 | + |
| 22 | +--- |
| 23 | + |
| 24 | +## Long-Term Vision |
| 25 | + |
| 26 | +Make RegiLattice the **reference Windows registry tweak toolkit**: |
| 27 | + |
| 28 | +- Zero-dependency runtime (stdlib-only at runtime) |
| 29 | +- Production-grade packaging distributed via pip, winget, and scoop |
| 30 | +- GUI that rivals dedicated Windows tools |
| 31 | +- Full corporate-environment safety |
| 32 | +- Extensible plugin marketplace |
| 33 | +- CI/CD on every commit, cross-platform where possible |
| 34 | + |
| 35 | +--- |
| 36 | + |
| 37 | +## Sprints |
| 38 | + |
| 39 | +### Sprint 1 — Foundation & Hygiene ✅ (2026-03-08) |
| 40 | + |
| 41 | +| Theme | Goal | |
| 42 | +|-------|------| |
| 43 | +| Git hygiene | Fix lint, commit Sprint 8 pending changes | |
| 44 | +| Config cleanup | `.gitattributes`, formatter (ruff not black), remove `.flake8` | |
| 45 | +| CI | Consolidate duplicate workflows | |
| 46 | +| Docs | ROADMAP.md, move PROJECT_SPEC_PROMPT, update stale architecture stats | |
| 47 | + |
| 48 | +### Sprint 2 — Documentation Deep-Dive (planned) |
| 49 | + |
| 50 | +| # | Task | |
| 51 | +|---|------| |
| 52 | +| 1 | Refresh stale stats in `architecture.md` (now 1 292/69) | |
| 53 | +| 2 | Update `README.md` badge for 17 511 tests | |
| 54 | +| 3 | Move Sprint 8 in `CHANGELOG.md` from `[Unreleased]` to `[1.0.1]` | |
| 55 | +| 4 | Add `docs/DEVELOPMENT.md` — local setup, Windows + WSL guide | |
| 56 | +| 5 | Review and update all issue templates in `.github/issue_template/` | |
| 57 | +| 6 | Add PR template checklist (tests, lint, docs) | |
| 58 | +| 7 | Refresh `CONTRIBUTING.md` with current workflow | |
| 59 | + |
| 60 | +### Sprint 3 — Test Quality & Coverage (planned) |
| 61 | + |
| 62 | +| # | Task | |
| 63 | +|---|------| |
| 64 | +| 1 | Measure current coverage per-module; identify gaps | |
| 65 | +| 2 | Add tests for `gui.py` (widget lifecycle, search, filter) | |
| 66 | +| 3 | Add tests for `menu.py` edge cases | |
| 67 | +| 4 | Add cross-platform stubs (Linux path handling) | |
| 68 | +| 5 | Add property-based tests for registry path splitting | |
| 69 | +| 6 | Add mutation-style tests for tweak apply/remove idempotency | |
| 70 | +| 7 | Push overall coverage ≥ 90 % on critical paths | |
| 71 | + |
| 72 | +### Sprint 4 — Refactoring & Performance (planned) |
| 73 | + |
| 74 | +| # | Task | |
| 75 | +|---|------| |
| 76 | +| 1 | Dead-code audit — remove unused functions/imports | |
| 77 | +| 2 | Refactor `tweaks/__init__.py` — split by concern (loader, profiles, engine) | |
| 78 | +| 3 | Profile startup time; identify and defer heavy imports | |
| 79 | +| 4 | Move to `src/` layout for better packaging isolation | |
| 80 | +| 5 | Add `__all__` to all public modules | |
| 81 | +| 6 | Harden `marketplace.py` — plugin signature check | |
| 82 | +| 7 | Audit all `subprocess` calls for command-injection safety | |
| 83 | + |
| 84 | +### Sprint 5 — Production Readiness & Release (planned) |
| 85 | + |
| 86 | +| # | Task | |
| 87 | +|---|------| |
| 88 | +| 1 | Validate PyPI packaging (`hatch build`, `twine check`) | |
| 89 | +| 2 | WSL-compatibility pass (ensure all cross-platform tests pass) | |
| 90 | +| 3 | Verify pre-commit hooks work end-to-end | |
| 91 | +| 4 | Add GitHub Actions for coverage upload to Codecov/Coveralls | |
| 92 | +| 5 | Add `SECURITY.md` with responsible disclosure policy | |
| 93 | +| 6 | Tag and release v1.0.1 with all Sprint 1–4 improvements | |
| 94 | +| 7 | winget manifest update for v1.0.1 | |
| 95 | + |
| 96 | +--- |
| 97 | + |
| 98 | +## Prioritized Backlog |
| 99 | + |
| 100 | +_~50 concrete tasks derived from the roadmap above, ordered by priority._ |
| 101 | + |
| 102 | +### P0 — Critical / Immediate |
| 103 | + |
| 104 | +- [x] Auto-fix ruff I001 import-sort issues |
| 105 | +- [x] Commit Sprint 8 pending changes |
| 106 | +- [x] Fix `.gitattributes` header + add `*.py text eol=lf` |
| 107 | +- [x] Fix `.vscode/settings.json` — use ruff-format not black-formatter |
| 108 | +- [x] Remove redundant `.flake8` |
| 109 | +- [x] Add `[project.urls]` to `pyproject.toml` |
| 110 | +- [x] Move `PROJECT_SPEC_PROMPT.md` → `.github/docs/project-spec.md` |
| 111 | +- [ ] Consolidate `ci.yml` + `python.yml` into one canonical workflow |
| 112 | +- [ ] Update stale stats in `architecture.md` (1 228→1 292, 64→69) |
| 113 | +- [ ] Run mypy and fix any strict errors |
| 114 | + |
| 115 | +### P1 — High Value |
| 116 | + |
| 117 | +- [ ] Update `README.md` test-count badge (17 511) |
| 118 | +- [ ] Move `CHANGELOG.md [Unreleased]` → `[1.0.1]` |
| 119 | +- [ ] Add `docs/DEVELOPMENT.md` (setup, run, test, contribute) |
| 120 | +- [ ] Add `__all__` to `registry.py`, `tweaks/__init__.py`, `config.py` |
| 121 | +- [ ] Review `pyrightconfig.json` — ensure it matches `pyproject.toml [tool.pyright]` |
| 122 | +- [ ] Add `coverage.xml` to `.gitattributes` (binary check — it's xml/text) |
| 123 | +- [ ] Measure per-module coverage; document gaps |
| 124 | +- [ ] Add `hypothesis` + `pytest-mock` to `[dev]` dependencies |
| 125 | + |
| 126 | +### P2 — Medium Value |
| 127 | + |
| 128 | +- [ ] Add `docs/DEVELOPMENT.md` (Windows + WSL setup guide) |
| 129 | +- [ ] Refresh `CONTRIBUTING.md` — current PR/issue workflow |
| 130 | +- [ ] Review all `.github/issue_template/` files for accuracy |
| 131 | +- [ ] Add `Makefile` or `just` runner for common dev commands |
| 132 | +- [ ] Add `CODEOWNERS` rationale comment |
| 133 | +- [ ] Audit `gui.py` for thread-safety (tkinter + Background threads) |
| 134 | +- [ ] Add `typing.TYPE_CHECKING` guards for expensive imports |
| 135 | +- [ ] Profile `all_tweaks()` load time; add benchmark |
| 136 | +- [ ] Add `TweakDef.risk_level` field to complement `tweak_risk_level()` |
| 137 | +- [ ] Consolidate duplicate `_SCOPE_CACHE` logic into helper |
| 138 | + |
| 139 | +### P3 — Nice to Have |
| 140 | + |
| 141 | +- [ ] `src/` layout migration |
| 142 | +- [ ] Pre-commit CI stage (lint + smoke tests on PR) |
| 143 | +- [ ] Add Codecov/Coveralls integration |
| 144 | +- [ ] Dark mode auto-detection for GUI (follows Windows system theme) |
| 145 | +- [ ] CLI completions (bash/zsh/PowerShell via argcomplete) |
| 146 | +- [ ] `regilattice export --format json/ps1/reg` unified export |
| 147 | +- [ ] Plugin sandbox — limit filesystem/network access for third-party plugins |
| 148 | +- [ ] Scoop bucket publish for RegiLattice |
| 149 | +- [ ] winget manifest automated update via GitHub Actions |
| 150 | +- [ ] Add `logging` module integration (replace ad-hoc SESSION.log) |
| 151 | +- [ ] Localization: add 2nd locale (German or Spanish as proof-of-concept) |
| 152 | +- [ ] REST API layer (FastAPI) for remote management |
| 153 | +- [ ] Web dashboard (read-only) for tweak status visualization |
| 154 | +- [ ] Benchmark suite in CI (track performance regressions) |
| 155 | +- [ ] Add tweak `changelog` field (last modified date) |
| 156 | +- [ ] Add tweak `source_url` field (docs/KB article reference) |
| 157 | +- [ ] Auto-generate per-category Markdown docs from `TweakDef` fields |
| 158 | +- [ ] Package for Chocolatey |
| 159 | +- [ ] `regilattice diff` — compare two snapshots in human-readable format |
| 160 | +- [ ] `regilattice doctor` — sanity-check for common misconfigurations |
| 161 | +- [ ] Support for custom user-defined registry tweaks (TOML-based) |
| 162 | + |
| 163 | +--- |
| 164 | + |
| 165 | +## Sprint Velocity Tracking |
| 166 | + |
| 167 | +| Sprint | Dates | Tasks Planned | Tasks Done | Notes | |
| 168 | +|--------|-------|--------------|-----------|-------| |
| 169 | +| Sprint 1 | 2026-03-08 | 10 | 8 | Foundation & hygiene | |
| 170 | +| Sprint 2 | TBD | 7 | — | Documentation | |
| 171 | +| Sprint 3 | TBD | 7 | — | Test coverage | |
| 172 | +| Sprint 4 | TBD | 7 | — | Refactoring | |
| 173 | +| Sprint 5 | TBD | 7 | — | Production readiness | |
0 commit comments