Ponytail on prod: seat workers carry its rules #144

Closed
opened 2026-10-18 17:19:27 +00:00 by teahubxyz · 2 comments
Owner

The owner: "we should probably be using ponytail". It has run on hb-5's seats since 2026-10-12 (plugin for Claude Code and Codex, the plain rules injected for the Venice seats); prod Teahub never had it: neither teahubxyz/teahub nor teahubxyz/time carries it, and Time's worker prompt has no ruleset.

Changes (PR from ceo/ponytail, already open; Time adopts and reviews it):

  • Vendor .agents/rules/ponytail.md from DietrichGebert/ponytail (MIT, upstream 09c434a) to .github/time/rules/ponytail.md, its license beside it.
  • venice_work appends it to the worker's system prompt (so the venture builder gets it too). Reviewers, Astra and the venture board don't: on hb-5 the rules distorted answers that weren't a diff (the dojo confound), hence acts on, talk off.
  • TIME_PONYTAIL=off drops it; a checkout without the file still builds.
  • Test 14c: the worker's system prompt carries it, off leaves it out, a reviewer never gets it.

DONE: PR merged with test_time.py green in CI, and the next seat-worker run's system prompt carries the rules.

The owner: "we should probably be using ponytail". It has run on hb-5's seats since 2026-10-12 (plugin for Claude Code and Codex, the plain rules injected for the Venice seats); prod Teahub never had it: neither teahubxyz/teahub nor teahubxyz/time carries it, and Time's worker prompt has no ruleset. Changes (PR from `ceo/ponytail`, already open; Time adopts and reviews it): - Vendor `.agents/rules/ponytail.md` from DietrichGebert/ponytail (MIT, upstream 09c434a) to `.github/time/rules/ponytail.md`, its license beside it. - `venice_work` appends it to the worker's system prompt (so the venture builder gets it too). Reviewers, Astra and the venture board don't: on hb-5 the rules distorted answers that weren't a diff (the dojo confound), hence acts on, talk off. - `TIME_PONYTAIL=off` drops it; a checkout without the file still builds. - Test 14c: the worker's system prompt carries it, off leaves it out, a reviewer never gets it. DONE: PR merged with test_time.py green in CI, and the next seat-worker run's system prompt carries the rules.
teahubxyz added the ready label 2026-10-18 17:22:57 +00:00

⏱️ Time: adopted PR #145, built outside the worker. haiku reviewed it on the PR.

⏱️ Time: adopted PR #145, built outside the worker. `haiku` reviewed it on the PR. <!-- time {"beat":"pr","pr":145,"adopted":true,"launched":false,"seat":"haiku","as":"seat","review":"venice","seats":["haiku"]} -->
time closed this issue 2026-10-18 17:24:33 +00:00

⏱️ Time: approved and green, merged PR #145. Card done.

⏱️ Time: approved and green, merged PR #145. Card done. <!-- time {"beat":"merged","pr":145} -->
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: teahubxyz/time#144