Files
yellowjacket/.pi/prompts/loop-tick.md
T
logan e772f51982
CI / check (push) Skipped
CI / e2e (push) Skipped
CI / check (pull_request) Successful in 3m23s
CI / e2e (pull_request) Successful in 10m53s
feat(loop): add the autonomous backlog loop configuration
The scheduled backlog runs already claimed, fixed, verified and opened
PRs one issue at a time (~50 runs), but stopped at "PR open, CI green" —
every merge and every stale branch was human work, and the pipeline
shape existed only as one prompt file. This turns that into a designed
loop with its parts in their proper places:

- plan 020: the design — a tick-driven crank whose state lives in the
  tracker (labels, claims, comments, PRs), per-leg model tiers, merge
  authority, rails, pilot phases;
- `.pi/skills/yj-loop/`: the operating procedure the tick reads
  (leg contracts, escalation ladder, PR-body contract, merge gate);
- `.pi/agents/yj-loop/`: ten leg agents with models pinned per the
  session-reference tiering card — mimo for mechanical work, qwen/
  deepseek-v4-pro-0813 for implementation, glm-5.3 for selection,
  planning and consequences review, glm-5.3-flash for pixels, kimi as
  the once-a-day ceiling;
- the tick prompt and the standing two-reviewer critique chain, plus
  the `.pi/loop/` gitignore entry and the CLAUDE.md pointer.

The switch stays where the v0's was — `.pi/schedule-prompts.json`,
gitignored, live only while the loop's pi session is open. No code
changes. Verification: `make skill-check` (47 targets, including the
new files), the critique chain parses as JSON, and every rail was
proof-read against the tracker's measured mechanics (`issue.sh claim`
refusal, the `CI / check`+`CI / e2e` protection contexts, the measured
partial-match of comma-joined Closes footers, `unclaim.yml`).

Closes #236
2026-09-02 23:32:04 -04:00

1.1 KiB

description
description
One tick of the autonomous YellowJacket backlog loop

You are the orchestrator of the YellowJacket backlog loop, waking for one tick. Work in this directory. Read .pi/skills/yj-loop/SKILL.md first — it is the operating procedure and it binds you. The design questions are answered in .planning/plans/active/020-autonomous-backlog-loop.md; the skill is what you run.

One tick means:

  1. Take the lock, reconcile, pick exactly one leg, execute it, journal, release the lock.
  2. Delegate every deliberative leg to its yj-loop.* agent by name — the model is pinned in the agent file, never an argument. You hold only claim, shipping polls, merge, housekeep.
  3. Touch only what the loop created. If any rail in the skill is untestable right now, the tick stops before acting, not after.
  4. If the scheduler fires while you are mid-answer, finish this tick only. Two ticks never overlap; the lock is yours.

Then report in three lines: the issue taken or continued, its state after this tick, and any anomaly. Stop. Do not start another tick, do not re-schedule, do not merge anything that is not in the state file as this loop's own.