diff --git a/RELEASE-READINESS.html b/RELEASE-READINESS.html new file mode 100644 index 000000000..0a2d5a7e3 --- /dev/null +++ b/RELEASE-READINESS.html @@ -0,0 +1,921 @@ + + +
+ + +| # | Exit criterion | Status | Day | Est. hrs left |
|---|---|---|---|---|
| 1 | All 22 families kanata-syntax valid | closed | Wed | — |
| 2 | High-complexity families per-option coverage | closed | Wed | — |
| 3 | Release-blocker findings fixed + live-verified | closed | Wed | — |
| 4 | 6 family smoke scripts pass on installed app — #881 fixed (#884), lib manifest-hardened (#880), 6/6 re-verified on the fixed app | closed | Thu AM | — |
| 5 | Design review pass across catalog — #888 post-1.0 backlog, #889 probed → downgraded post-1.0 | closed | Thu | — |
| 6 | Findings triage → must-fix list closed EMPTY — #889 downgraded after wiring probe; hints verified accurate; rest fixed or noted | closed early | Thu PM | — |
| 7 | RC built, signed, notarized, smoke-verified | open | Sat | ~3 |
| 8 | Release notes incl. known limitations — 4 bullets drafted, final wording Fri | drafted | Fri AM | ~0.5 |
| 9 | Docs complete — detail pages ✅ (#893) · 12 illustrations ✅ (#894) · screenshot check + gh-pages publish remain | nearly closed | Fri / Sat | ~1 |
| 10 | Marketing basics — website video + landing copy (Option B: may trail binary to Sun) | scheduled | Sat/Sun | ~5 |
category: "productivity". The "experimental" label was synthesized, not real.| # | +Family | +Category | +Coverage | +Complexity | +Action this week | +
|---|---|---|---|---|---|
| 1 | Home Row Mods | productivity | full | Walkthrough only — covered | |
| 2 | Caps Lock Remap | productivity | full | Walkthrough only — covered | |
| 3 | Chord Groups | productivity | good | Top-up matrix · walkthrough | |
| 4 | Sequences | productivity | good | Top-up matrix · walkthrough | |
| 5 | Vim Navigation | navigation | good | Per-option matrix | |
| 6 | Home Row Arrows | navigation | partial | Golden + matrix | |
| 7 | Quick Launcher | layers | partial | Golden + matrix + walkthrough | |
| 8 | Fast Navigation | system | partial | Golden + matrix | |
| 9 | macOS Function Keys | system | partial | Golden + walkthrough | |
| 10 | Home Row Layer Toggles | productivity | partial | Matrix · candidate for demote | |
| 11 | Auto Shift Symbols | experimental | partial | Already experimental — golden only | |
| 12 | Window Snapping | productivity | partial | Golden (mode variants) | |
| 13 | Leader Key | system | partial | Per-preset golden | |
| 14 | Escape | productivity | partial | Per-preset golden | |
| 15 | Delete Enhancement | productivity | partial | Per-preset golden | |
| 16 | Backup Caps Lock | productivity | partial | Per-preset golden | |
| 17 | Neovim Terminal | navigation | partial | Cheap golden | |
| 18 | Mission Control | navigation | partial | Cheap golden | |
| 19 | Ben Vallack Nav | navigation | partial | Cheap golden | |
| 20 | Numpad | layers | partial | Cheap golden | |
| 21 | Symbol Layer | layers | partial | Per-preset golden | |
| 22 | Function Keys (right hand) | layers | partial | Cheap golden |
@State, but the actual configured actions live on MapperViewModel.advancedBehavior and are restored on each onAppear via loadBehaviorFromExistingRule(). configuredBehaviorSlots set gives visual indicator. No data loss.
+ toggle*Recording() in MapperViewModel.swift:651-758 explicitly stops other recorders before activating itself. MainActor serializes the toggles. Hold and double-tap also have explicit conflict dialogs. Close.
+ saveLauncherConfig() spawns unbounded Task per toggle. Store is actor-isolated and final UI state drives final save. Worst case: momentary persisted state lags by one toggle. Not a release blocker. Post-1.0 cleanup.
+ + The inventory agent reading SwiftUI source statically over-reported the Mapper's risk. Two of three "HIGH" claims don't hold up. +
+experimental → productivity.layer-toggle orphan references. Kanata accepts; orphan keys silently no-op.layer-toggle to the existing orphan-layer scanner. 1 regex. 3 new tests.quick-deploy.sh + qa-hrl-toggles-smoke.sh — all 3 cases passed against the installed app. Bug → fix → ship → verify in one day.