Co-authored-by: Michael Chihlas <michael@resolutionflow.com> Co-committed-by: Michael Chihlas <michael@resolutionflow.com>
3.1 KiB
3.1 KiB
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/venvfrom pyenv Python 3.12.13 and verified nativepytest --version/alembic --versionwith explicit local env. - Updated Gitea CI backend/e2e Python setup to 3.12.
Fixed Gitea runner assumptions next:
- Added
actions/setup-node@v4with 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-componentsfor exported pure helpers used by tests/shared invite OAuth code.react-hooks/set-state-in-effectwarnings where local state intentionally mirrors route/config/cache state.react-hooks/puritywarnings fromDate.now()during render.- Redundant loading-state write in pricing page.
Validation after those frontend changes:
docker exec -w /app resolutionflow_frontend npm run lintpassed.docker exec -w /app resolutionflow_frontend npm run test:coveragepassed (198tests).docker exec -w /app -e NODE_OPTIONS=--max-old-space-size=4096 resolutionflow_frontend npm run buildpassed.
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
- Commit the frontend lint fixes and
.ai/handoff updates with the required Codex trailer. - Push
feat/self-serve-signup-phase-2. - 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 - 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.