docs(ai): queue data-testid hardening + reflect PR #152 + 3-runner setup
TODO.md: Promote pytest-xdist to ✅ (PR #151 carries it). Adds three new backlog items: - data-testid hardening for e2e-critical interactive elements (sparked by PR #152's selector drift work) - per-test transactional rollback (next big speedup if needed) - pytest-testmon for PR-time test selection HANDOFF.md: Three open PRs now (#150, #151, #152), all independent. Three Gitea runner agents now registered, so jobs run in parallel. Combined with #151's xdist, the prior 1h 14m wall-clock should drop to ~6-10 min. Updated merge order: #152 first (smallest), #150 next, #151 last. After all three land, enable CI / backend then CI / e2e as required status checks. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -4,11 +4,16 @@
|
||||
|
||||
**Last updated:** 2026-04-25 (America/New_York)
|
||||
|
||||
**Active task:** Land two stacked CI PRs (#150 + #151), then enable backend gate on `main`. See [CURRENT_TASK.md](CURRENT_TASK.md).
|
||||
**Active task:** Land three open CI PRs (#150 + #151 + #152), then enable backend + e2e gates on `main`. See [CURRENT_TASK.md](CURRENT_TASK.md).
|
||||
|
||||
**Branch:** Currently on `fix/ci-workflow-config` (PR #150). The xdist work lives on `fix/ci-pytest-xdist` (PR #151), branched from #150.
|
||||
**Branches:** Three open PRs, all independent of each other for correctness:
|
||||
- `fix/ci-workflow-config` → PR #150
|
||||
- `fix/ci-pytest-xdist` → PR #151 (stacked on #150 for context but mergeable on its own)
|
||||
- `fix/e2e-test-selectors` → PR #152
|
||||
|
||||
## Two open PRs to land in order
|
||||
**Runner setup:** Three Gitea Actions agents are now registered on the homelab box, so `backend` / `frontend` / `e2e` jobs run truly in parallel instead of serializing on a single agent. Combined with PR #151's xdist parallelization, the previous 1h 14m wall-clock should drop to ~6–10 min.
|
||||
|
||||
## Three open PRs
|
||||
|
||||
### PR #150 — `fix/ci-workflow-config` → main
|
||||
|
||||
@@ -32,18 +37,31 @@ Carries (on top of #150):
|
||||
|
||||
**Measured locally:** backend suite goes from `22m 27s` (serial, 1076 passed) → `4m 28s` (8 workers, 1076 passed). Same exit code, same test count.
|
||||
|
||||
### PR #152 — `fix/e2e-test-selectors` → main
|
||||
|
||||
Carries: five Playwright e2e selector updates against the current UI. The drift was inherited from the FlowPilot/PSA migration:
|
||||
|
||||
- `Sessions` → `Session History` (page heading)
|
||||
- `Account Settings` → `Account Management` (page heading)
|
||||
- `/assistant` → `/pilot` (Phase 1 route rename; redirect still works)
|
||||
- Flow-session filtering and the Resume button moved behind the "Flow Sessions" tab on `/sessions` (default tab is "AI Sessions")
|
||||
- `resume.spec.ts` no longer starts at `/trees` — Resume button rendering moved to the session card on `/sessions`
|
||||
|
||||
No product-code changes. Pure test updates.
|
||||
|
||||
## Immediate next steps
|
||||
|
||||
1. **Watch PR #150 CI** on its latest sha (`e976fb4`). Both `CI / backend (pull_request)` and `CI / frontend (pull_request)` should be green. Merge if so.
|
||||
2. **Watch PR #151 CI** after #150 merges. Once #151 is rebased / merged automatically, backend job time on subsequent runs should drop to the 4–6 min range.
|
||||
3. **Enable backend gate** on `main` branch protection — append `"CI / backend (pull_request)"` to `status_check_contexts`:
|
||||
1. **Merge PR #152 first.** Smallest, lowest risk, no shared file with the other two PRs.
|
||||
2. **Merge PR #150 next.** Backend test suite should be fully green (1076 passed, 0 failed, 0 errors).
|
||||
3. **Merge PR #151 last.** Backend job time drops to ~4–6 min on the runner.
|
||||
4. **Enable backend gate** on `main` branch protection — append `"CI / backend (pull_request)"` to `status_check_contexts`:
|
||||
```bash
|
||||
curl -X PATCH -H "Authorization: token $GITEA_TOKEN" \
|
||||
"https://gitea.resolutionflow.com/api/v1/repos/chihlasm/resolutionflow/branch_protections/main" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"status_check_contexts": ["CI / frontend (pull_request)", "CI / backend (pull_request)"]}'
|
||||
```
|
||||
4. **Optional: also gate `CI / e2e (pull_request)`** once that job has run cleanly a few times. The artifact-v3 fix means it can finally run; we haven't verified its actual outcome yet.
|
||||
5. **Then enable `CI / e2e (pull_request)`** — same PATCH, append to the list. Verify e2e is reliably green for at least one PR run before locking it in.
|
||||
|
||||
## Uncommitted state
|
||||
|
||||
|
||||
Reference in New Issue
Block a user