|
| 1 | +## Goal |
| 2 | + |
| 3 | +Consolidate the user-requested local branches into one new branch, keep the merged runtime and UI fixes, restore a green validation baseline, open one replacement PR, and leave only `main` plus the new consolidated branch in the local repo. |
| 4 | + |
| 5 | +## Scope |
| 6 | + |
| 7 | +In scope: |
| 8 | +- Merge the requested branch content into `codex/consolidated-13-15-76` |
| 9 | +- Fix any integration regressions introduced by the consolidation |
| 10 | +- Re-run full repo validation, including `DotPilot.UITests` |
| 11 | +- Push the consolidated branch and open a single PR |
| 12 | +- Remove extra local branches and extra local worktrees so only `main` and the consolidated branch remain |
| 13 | + |
| 14 | +Out of scope: |
| 15 | +- New backlog feature work outside the merged branches |
| 16 | +- Any dependency additions |
| 17 | +- Human merge/approval actions on GitHub |
| 18 | + |
| 19 | +## Constraints And Risks |
| 20 | + |
| 21 | +- The repo requires `-warnaserror` builds. |
| 22 | +- UI tests must run through the real `DotPilot.UITests` harness; no manual app launch outside the harness. |
| 23 | +- The consolidated branch must preserve the startup responsiveness fixes from the PR 76 review follow-up. |
| 24 | +- The local branch cleanup must not delete `main` or the new consolidated branch. |
| 25 | + |
| 26 | +## Testing Methodology |
| 27 | + |
| 28 | +- Validate the compile baseline with the repo `build` command. |
| 29 | +- Validate end-to-end UI behavior only through `dotnet test DotPilot.UITests/DotPilot.UITests.csproj`. |
| 30 | +- Validate the full repo through the solution test command after focused fixes are green. |
| 31 | +- Validate coverage with the repo collector command and confirm no regression versus the pre-consolidation baseline. |
| 32 | + |
| 33 | +## Ordered Plan |
| 34 | + |
| 35 | +- [x] Confirm the active branch/worktree state and identify the consolidated branch target. |
| 36 | +- [x] Reproduce the consolidated-branch regression through the real `DotPilot.UITests` harness. |
| 37 | +- [x] Capture the root cause of the harness failure instead of treating it as a generic host timeout. |
| 38 | +- [x] Restore the missing shared build input and any other merge fallout required to make the browser host buildable again. |
| 39 | +- [x] Run focused UI verification to prove the browser host starts and the failing settings/workbench flow passes again. |
| 40 | +- [x] Run the full required validation sequence: |
| 41 | + - `dotnet format DotPilot.slnx --verify-no-changes` |
| 42 | + - `dotnet build DotPilot.slnx -warnaserror -m:1 -p:BuildInParallel=false` |
| 43 | + - `dotnet test DotPilot.slnx` |
| 44 | + - `dotnet test DotPilot.Tests/DotPilot.Tests.csproj --settings DotPilot.Tests/coverlet.runsettings --collect:"XPlat Code Coverage"` |
| 45 | +- [ ] Commit the consolidation fixes on `codex/consolidated-13-15-76`. |
| 46 | +- [ ] Push the consolidated branch and open one replacement PR to `main`. |
| 47 | +- [ ] Delete extra local branches and extra local worktrees so only `main` and `codex/consolidated-13-15-76` remain locally. |
| 48 | + |
| 49 | +## Full-Test Baseline |
| 50 | + |
| 51 | +- `dotnet test DotPilot.UITests/DotPilot.UITests.csproj --filter FullyQualifiedName~WhenNavigatingToSettingsThenCategoriesAndEntriesAreVisible -v minimal` |
| 52 | + - Failed before test execution with `CSC` errors because `/Users/ksemenenko/Developer/dotPilot/CodeMetricsConfig.txt` was missing during the `net10.0-browserwasm` host build. |
| 53 | + |
| 54 | +## Tracked Failing Tests |
| 55 | + |
| 56 | +- [x] `WhenNavigatingToSettingsThenCategoriesAndEntriesAreVisible` |
| 57 | + - Symptom: browser host exits before reachable |
| 58 | + - Root cause: `CodeMetricsConfig.txt` missing from repo root, so the browserwasm compile inside the harness fails |
| 59 | + - Intended fix: restore `CodeMetricsConfig.txt` with the shared analyzer config content and rerun the harness |
| 60 | + |
| 61 | +## Verification Results |
| 62 | + |
| 63 | +- `dotnet test DotPilot.UITests/DotPilot.UITests.csproj --filter FullyQualifiedName~WhenNavigatingToSettingsThenCategoriesAndEntriesAreVisible -v minimal` |
| 64 | + - Passed: `1` |
| 65 | +- `dotnet build DotPilot.slnx -warnaserror -m:1 -p:BuildInParallel=false` |
| 66 | + - Passed with `0` warnings and `0` errors |
| 67 | +- `dotnet test DotPilot.slnx` |
| 68 | + - Passed: `60` unit tests and `22` UI tests |
| 69 | +- `dotnet format DotPilot.slnx --verify-no-changes` |
| 70 | + - Passed |
| 71 | +- `dotnet test DotPilot.Tests/DotPilot.Tests.csproj --settings DotPilot.Tests/coverlet.runsettings --collect:"XPlat Code Coverage"` |
| 72 | + - Passed: `60` tests |
| 73 | + - Coverage artifact: `DotPilot.Tests/TestResults/9a4b4ba7-ae2c-4a23-9eab-0af4d4e30730/coverage.cobertura.xml` |
| 74 | + |
| 75 | +## Done Criteria |
| 76 | + |
| 77 | +- The consolidated branch contains the requested merged work plus the follow-up fixes. |
| 78 | +- Full repo validation is green. |
| 79 | +- One PR exists for the consolidated branch. |
| 80 | +- Only `main` and `codex/consolidated-13-15-76` remain as local branches. |
0 commit comments