Co-authored-by: Michael Chihlas <michael@resolutionflow.com> Co-committed-by: Michael Chihlas <michael@resolutionflow.com>
58 lines
3.1 KiB
Markdown
58 lines
3.1 KiB
Markdown
<!-- Keep under ~2K tokens. Old handoffs live in SESSION_LOG.md. Do not let this file accumulate history. -->
|
|
|
|
# HANDOFF.md
|
|
|
|
**Last updated:** 2026-05-07 (PR #162 CI investigation/fixes)
|
|
|
|
**Active task:** PR #162 (`feat/self-serve-signup-phase-2`) is open in Gitea. Current session is resolving its failing checks.
|
|
|
|
## Where this session ended
|
|
|
|
PR #162 originally failed quickly in Gitea CI. Public Gitea status metadata was available, but job logs redirected to login and no `GITEA_TOKEN` was present. The branch was pushed over SSH.
|
|
|
|
Fixed environment drift first:
|
|
|
|
- Standardized backend native/dev/CI Python on 3.12.13 to match Docker.
|
|
- Added `.python-version`.
|
|
- Rebuilt `backend/venv` from pyenv Python 3.12.13 and verified native `pytest --version` / `alembic --version` with explicit local env.
|
|
- Updated Gitea CI backend/e2e Python setup to 3.12.
|
|
|
|
Fixed Gitea runner assumptions next:
|
|
|
|
- Added `actions/setup-node@v4` with Node 20 to Gitea frontend and e2e jobs.
|
|
- Pushed `fix(ci): set up node in gitea workflow`.
|
|
|
|
Local frontend validation then exposed real lint failures in Phase 2 React code under the current lint stack. The current WIP fixes:
|
|
|
|
- `react-refresh/only-export-components` for exported pure helpers used by tests/shared invite OAuth code.
|
|
- `react-hooks/set-state-in-effect` warnings where local state intentionally mirrors route/config/cache state.
|
|
- `react-hooks/purity` warnings from `Date.now()` during render.
|
|
- Redundant loading-state write in pricing page.
|
|
|
|
Validation after those frontend changes:
|
|
|
|
- `docker exec -w /app resolutionflow_frontend npm run lint` passed.
|
|
- `docker exec -w /app resolutionflow_frontend npm run test:coverage` passed (`198` tests).
|
|
- `docker exec -w /app -e NODE_OPTIONS=--max-old-space-size=4096 resolutionflow_frontend npm run build` passed.
|
|
|
|
Known local noise:
|
|
|
|
- React `act(...)` warnings appeared in existing tests during coverage but did not fail the suite.
|
|
- Vite emitted large chunk warnings during build.
|
|
- Unrelated dirty/untracked files remain and should not be staged unless explicitly requested: `docker-compose.dev.yml`, `.env.example`, `abc-feat-self-serve-signup-phase-2-design-20260507-112020.md`, `core.*`, `docs/architecture/`, `docs/tutorials/`.
|
|
|
|
## Resume point
|
|
|
|
1. Commit the frontend lint fixes and `.ai/` handoff updates with the required Codex trailer.
|
|
2. Push `feat/self-serve-signup-phase-2`.
|
|
3. Poll Gitea PR #162 statuses for the new head SHA:
|
|
`curl -fsSL https://gitea.resolutionflow.com/api/v1/repos/chihlasm/resolutionflow/statuses/<sha> | python -m json.tool`
|
|
4. If statuses are still pending, report that local frontend CI is green and Gitea runner work is queued/running. If a check fails, public statuses may show only the context/description; logs require authenticated Gitea access.
|
|
|
|
## Carry-forward
|
|
|
|
- Phase O manual ops remain pending after PR review/merge: Stripe live setup, internal validation, feature-flag flip.
|
|
- Backend env: `SALES_LEAD_RECIPIENT_EMAIL`.
|
|
- Frontend env: `VITE_SELF_SERVE_ENABLED`, `VITE_GOOGLE_CLIENT_ID`, `VITE_MS_CLIENT_ID`, `VITE_OAUTH_REDIRECT_BASE`, `VITE_CALENDLY_URL`.
|
|
- Single alembic head remains `c6cbfc534fad`; Phase 2 added no migrations.
|