Skip to content

Work in a session

You make decisions only in an agent session, in Claude Code or Codex. Agents create issues, open PRs, review, merge and close on your instruction, and record each of your decisions on the issue it concerns.

  1. You

    let’s plan this study: does LoRA match full fine-tuning?

  2. Agent

    Discusses the spec with you, then drafts study #10 with code #11 and run #12.

  3. You

    publish

    Gate 01
  4. Agent

    Done:published #10 with #11 and #12; Decision on #10

    Waiting for you:nothing

    Next:#11 is ready

  5. You

    do #11

  6. Agent

    Done:PR #13 is merge-ready, Verdict: pass @ 3f9c2a1

    Waiting for you:merge PR #13

    Next:run #12

  7. You

    merge

    Gate 02
  8. Agent

    Done:merged PR #13 with merge.py --human; #11 closed; Decision on #11

    Waiting for you:nothing

    Next:run #12

  9. You

    take #10 to analysis

  10. Agent

    Done:#12 closed with its results and spec check; study table on #10

    Waiting for you:conclude #10 (gate 04)

    Next:nothing until you decide

Every stop ends with three linesDone:Waiting for you:Next:

Each instruction names where the work should end. The agent keeps going until it reaches that target, a gate or a blocker, and only then stops.

You say The agent
“let’s plan this study”, “I want to study X” Discusses it with you through the plan skill. It drafts the study, its spec and its sub-issues, and creates nothing until you say “publish”.
“publish” Creates the parent and its sub-issues, wave by wave, and records the Decision.
“do #11” Takes the code task to merge-ready: checks green and a Verdict: pass on the current head. If the task says Merge: agent, it goes on to merged.
“merge”, or “merge #13” Squash-merges the current head with python .github/scripts/merge.py <PR> --human.
“take #10 to analysis” Works until every sub-issue of study #10 is closed.
“continue” Goes on to the next gate.
“what’s waiting for me?” Reads GitHub and lists needs-decision issues and merge-ready PRs.

An explicit instruction approves what it names, so the agent won’t ask again. “merge #13” is the approval to merge #13; “conclude #10: …” is the approval to close the study with that conclusion.

The agent writes each of your decisions to the issue as a comment:

Decision: <choice> — <one-line reason>

Publishing a study, merging a PR and continuing past a budget each leave a Decision: line. Discussion itself is not kept; only decisions and conclusions go to GitHub.

When the agent stops, for any reason, it reports exactly three lines, with links:

Done: <what was completed>
Waiting for you: <what the human must do, or nothing>
Next: <what comes next>

If an agent hits a blocker while you are away, it adds the needs-decision label to the issue, posts a four-line blocker comment, and moves on to other ready work. You answer in a session later, and the agent removes the label once you have. See Gates and blockers.

You can run several sessions in parallel, each on its own task. Claiming a task creates a linked branch with gh issue develop. Other sessions leave a claimed task alone unless an instruction names it, so two sessions never work on the same task.

Sessions keep nothing. Every state change is written to GitHub or git as it happens, so a session can end at any moment, and a new one picks up with “continue #11”.