Files
resolutionflow/.ai
Michael Chihlas c203b70ef9
Some checks failed
CI / backend (pull_request) Failing after 2s
Mirror to GitHub / mirror (push) Successful in 15s
CI / e2e (pull_request) Has been cancelled
CI / frontend (pull_request) Has been cancelled
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>
2026-04-25 15:26:21 -04:00
..

.ai/ — dual-agent handoff system

ResolutionFlow uses two coding agents: Claude Code (primary) and OpenAI Codex (resume when Claude hits session or weekly limits). This directory holds the shared state that lets either agent start a session with full context.

Files

File Holds Written when Read when
PROJECT_CONTEXT.md Stable repo truth: stack, structure, SaaS shape, ConnectWise, coding standards, frontend patterns, critical lessons Only when the repo's shape changes Every session start
CURRENT_TASK.md The single active task: goal, DoD, assumptions, out-of-scope On task start; status updates during work Every session start
HANDOFF.md Exact resume point: branch, where you left off, next steps, blockers On session end / context-window limit Every session start (most important)
TODO.md Backlog of work NOT currently active When deferring or queueing work Only when CURRENT_TASK.md is complete
DECISIONS.md Append-only architectural decision log When an architectural choice is made Skim top entries each session
SESSION_LOG.md Append-only chronological history On session end Only when broader context is needed

Agent-specific tooling lives at the repo root:

  • ../CLAUDE.md — Claude Code's tooling (GitNexus, gstack slash commands, Claude trailer)
  • ../AGENTS.md — OpenAI Codex's tooling (grep/rg fallbacks, Codex trailer)

Both root files contain an identical shared-protocol block. If you edit one, edit the other.

The handoff ritual

At session end (limit hit, task complete, or user stop): update HANDOFF.md to reflect the new resume point, update CURRENT_TASK.md status if it changed, append to DECISIONS.md if you made an architectural call, append a session entry to SESSION_LOG.md, and WIP-commit any dirty working tree with wip(handoff): <one-line> unless told otherwise. Don't push.

How to invoke a resume

Tell the agent:

Read CLAUDE.md (or AGENTS.md) and follow its instructions.

The agent will read its root file, which directs it to .ai/PROJECT_CONTEXT.md, .ai/CURRENT_TASK.md, and .ai/HANDOFF.md before doing anything else.

Recovery

The previous monolithic CLAUDE.md is recoverable via:

git show pre-ai-handoff:CLAUDE.md

(Tag pre-ai-handoff on commit e110fed — the snapshot taken before this migration.)