Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,11 @@ state table.
| `plan [--budget N]` | which `ready` phases fit a laptop slot, cheapest first; it hands over a command, never a decision |
| `collect [--slot S] [--pull] [--refreshed ISO] [--apply]` | score a pulled run's legs into a packet member; `--pull` is opt-in and runs the *project's own* sync CLI |

The batch conductor is the **slot door** over the same two verbs:
`pyauto-brain batch plan --kind cortex` and `batch collect --kind cortex` drive
this `plan` and `collect` for one review slot and write `batches/` — the record,
its `refreshed:` lines and the packet (`batches/AGENTS.md`).

**`--apply` here, `--write` there.** The conductor's verbs spell the writing
flag `--apply` (the Brain's house spelling, as intake does); `scripts/cortex.py`
spells it `--write`. `cortex gates --grade --apply` is a thin wrapper over
Expand Down
21 changes: 20 additions & 1 deletion batches/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,20 @@ about them; the board is the live view of run progress. Each pull appends a

## Schema

The record is **opened by the batch conductor** — `pyauto-brain batch plan
--kind cortex --apply --review-at <ISO> [--slot <YYYY-MM-DD-label>] [--shift
<label>]` (`PyAutoBrain/agents/conductors/batch/AGENTS.md`, "Two kinds, two
records"). The schema below is unchanged by that: the conductor writes what a
hand-written record always wrote.

```markdown
# Batch 2026-09-01 pm
- dispatched: 2026-09-01T09:00Z # when the board was opened
- review-at: 2026-09-01T17:00Z # stated by the human AT DISPATCH — the shift is dispatch → review-at
- shift: day # free-text label the human gives it
- lane: local-dev # always — the review happens at the laptop
- review-minutes-planned: 20
- carried-from: batches/2026-08-31-pm.md # optional — the record the carried members came from
- members:
- <slug>: <phase path> — <runs> — <review-minutes> — <state>
- refreshed: 2026-09-01T11:40Z — <slug> pulled # one line per pull, appended in order
Expand All @@ -37,6 +44,7 @@ about them; the board is the live view of run progress. Each pull appends a
- packet: batches/packets/<YYYY-MM-DD>-<slot>.html
- review: batches/reviews/<YYYY-MM-DD>-<slot>.md
- review-minutes-actual: <n>
- carried: <slug> — still <state> at review # one per still-running member, written at close
- notes: |
What actually happened. Anything that stalled, and why.
```
Expand Down Expand Up @@ -71,7 +79,18 @@ and their own `review-at:`.

**`refreshed:` is the board's history.** A member joins on the pull that
fills its results in; the line says when and which. A packet refreshed without
the line is a board whose history cannot be audited.
the line is a board whose history cannot be audited. The lines are written by
`pyauto-brain batch collect --kind cortex --apply`, one per member it moves —
a member already `awaiting-ruling` is on the board and is not re-stamped.

**`carried:` is how a run outlives its slot. A Cortex member never blocks a
Cortex review.** At close, every member still `submitted` or `running` gets a
`- carried: <slug> — still <state> at review` line, and the next `batch plan
--kind cortex --apply` includes those members automatically — current state,
with `- carried-from:` naming the record they came from. The human
re-specifies nothing and nothing is re-dispatched: the run was already running.
The old record's member line stays as the ledger of what that state was at its
own review.

**`review-minutes-actual:` is the only calibration there is.** The planned
figure is a seed; this is what the slot really cost.
Expand Down
10 changes: 7 additions & 3 deletions batches/packets/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,13 @@ Rules:
fills — the `mirror:` of its `projects.yaml` row), because the review
happens at the laptop. A pointer may stay remote only when the pull cannot
fetch it by design, and must say so.
- **Not hand-written.** The renderer is the batch conductor's (phase 2 of the
birth epic). Until it exists a packet is whatever the session produced,
archived unchanged.
- **Not hand-written.** The renderer is `pyauto-brain batch collect --kind
cortex --apply` (phase 5 of the birth epic); it writes this page and appends
each member as it joins. A member still `submitted`/`running` renders with
**no review control** — no ruling chips, no ruled box — because there is
nothing to rule on yet; carry-forward, not a ruling, moves it to the next
board. The follow-ups block a review submits is a `###` heading: `cortex.py
check` requires every `##` in a review to name a member.

**Visibility.** Packets and reviews are public in this repository, as the
Mind's are (ruled 2026-08-31): science numbers, figures and run paths in a
Expand Down
Loading