Ceremony 2.0's first consumer: a venture batch. One milestone, k ventures at once.
How it runs
A batch card (label venture-batch) scouts once; the seats pitch in rounds until there's a field of 2k; the board ranks the whole field.
The top k (each wanted by two seats) become venture cards in the batch's own milestone, starting at picked, so they reuse the existing loop untouched from there.
Launch together: a child that passes its checks waits at ready until every sibling is settled (ready, launched, measured or dead) or the hold runs out (TIME_VENTURE_BATCH_HOLD_HOURS, default 6). Stragglers then launch alone when they pass.
No child left behind: a held child gets one batch retry (fresh fix rounds). Held again, it's counted dead with its reason and left open for a human /time retry.
Retro: once every child is measured or dead, the batch posts a cohort table (signups vs each plan's lines, outcome) and closes the card and milestone.
Fairness fix (found by the test): with one worker run per tick and "furthest along first", a child stuck in fix rounds grabbed the slot every tick and starved its siblings at planned. Fix rounds and retries now yield to cards still due their first build.
Turning it on:TIME_VENTURE_BATCH=3 makes a batch the daily default (replacing the single card), or Actions → venture → Run workflow → "batch". Unset, nothing changes.
Tests:#39 covers the field, top-3 spawn into a milestone, idempotent spawn, hold and release together, the 0h hold with stragglers, batch retry then death, measurement, retro, and milestone close. All 39 pass.
Ceremony 2.0's first consumer: a **venture batch**. One milestone, k ventures at once.
**How it runs**
- A batch card (label `venture-batch`) scouts once; the seats pitch in rounds until there's a field of 2k; the board ranks the whole field.
- The top k (each wanted by two seats) become venture cards in the batch's own milestone, starting at `picked`, so they reuse the existing loop untouched from there.
- **Launch together:** a child that passes its checks waits at `ready` until every sibling is settled (ready, launched, measured or dead) or the hold runs out (`TIME_VENTURE_BATCH_HOLD_HOURS`, default 6). Stragglers then launch alone when they pass.
- **No child left behind:** a held child gets one batch retry (fresh fix rounds). Held again, it's counted dead with its reason and left open for a human `/time retry`.
- **Retro:** once every child is measured or dead, the batch posts a cohort table (signups vs each plan's lines, outcome) and closes the card and milestone.
**Fairness fix (found by the test):** with one worker run per tick and "furthest along first", a child stuck in fix rounds grabbed the slot every tick and starved its siblings at `planned`. Fix rounds and retries now yield to cards still due their first build.
**Turning it on:** `TIME_VENTURE_BATCH=3` makes a batch the daily default (replacing the single card), or Actions → venture → Run workflow → "batch". Unset, nothing changes.
**Tests:** #39 covers the field, top-3 spawn into a milestone, idempotent spawn, hold and release together, the 0h hold with stragglers, batch retry then death, measurement, retro, and milestone close. All 39 pass.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01VDkN7ukK1kXkqov8FaZxva
---
_Generated by [Claude Code](https://claude.ai/code/session_01VDkN7ukK1kXkqov8FaZxva)_
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ceremony 2.0's first consumer: a venture batch. One milestone, k ventures at once.
How it runs
venture-batch) scouts once; the seats pitch in rounds until there's a field of 2k; the board ranks the whole field.picked, so they reuse the existing loop untouched from there.readyuntil every sibling is settled (ready, launched, measured or dead) or the hold runs out (TIME_VENTURE_BATCH_HOLD_HOURS, default 6). Stragglers then launch alone when they pass./time retry.Fairness fix (found by the test): with one worker run per tick and "furthest along first", a child stuck in fix rounds grabbed the slot every tick and starved its siblings at
planned. Fix rounds and retries now yield to cards still due their first build.Turning it on:
TIME_VENTURE_BATCH=3makes a batch the daily default (replacing the single card), or Actions → venture → Run workflow → "batch". Unset, nothing changes.Tests: #39 covers the field, top-3 spawn into a milestone, idempotent spawn, hold and release together, the 0h hold with stragglers, batch retry then death, measurement, retro, and milestone close. All 39 pass.
🤖 Generated with Claude Code
https://claude.ai/code/session_01VDkN7ukK1kXkqov8FaZxva
Generated by Claude Code