fix(omo-codex): avoid context-heavy agent polling
This commit is contained in:
@@ -40,7 +40,7 @@ Size each worker to the task — never spend `xhigh` on a one-liner, never send
|
||||
| External library / docs research | `librarian` | role default | role default |
|
||||
| Final verification audit | `codex-ultrawork-reviewer` | role default | role default |
|
||||
|
||||
Every worker message MUST carry: goal + exact files in scope; the baseline characterization test pinning current behavior when the task touches existing code, then the failing test / reproduction required before production code; constraints + project rules; the verification commands to run; the ONE Manual-QA channel and the exact evidence artifact to capture. Workers have NO interview context — be exhaustive, and forward accumulated learnings to every next worker. Track running workers; `wait_agent` for results, `close_agent` when done.
|
||||
Every worker message MUST carry: goal + exact files in scope; the baseline characterization test pinning current behavior when the task touches existing code, then the failing test / reproduction required before production code; constraints + project rules; the verification commands to run; the ONE Manual-QA channel and the exact evidence artifact to capture. Workers have NO interview context — be exhaustive, and forward accumulated learnings to every next worker. Do not use `list_agents` as a polling or status tool in long or high-context runs; it can replay large agent status and latest-message payloads. Track spawned agent names locally, use `wait_agent` for completion, send targeted followups only when needed, and `close_agent` after integrating each result.
|
||||
|
||||
## Artifacts
|
||||
- `.omo/ulw-loop/brief.md`: original brief and durable constraints.
|
||||
|
||||
@@ -128,6 +128,20 @@ describe("skills/ulw-loop/SKILL.md", () => {
|
||||
const text = await readText("skills/ulw-loop/SKILL.md");
|
||||
expect(text).toContain(".omo/ulw-loop");
|
||||
});
|
||||
|
||||
it("#given long Codex runs #when worker guidance is inspected #then avoids context-expensive agent polling", async () => {
|
||||
const text = await readText("skills/ulw-loop/SKILL.md");
|
||||
|
||||
expect(text).toMatch(/list_agents/);
|
||||
expect(text).toMatch(/polling or status tool/);
|
||||
expect(text).toMatch(/replay large agent status and latest-message payloads/);
|
||||
expect(text).toMatch(/Track spawned agent names locally/);
|
||||
expect(text).toMatch(/wait_agent.*completion/);
|
||||
expect(text).toMatch(/targeted followups only when needed/);
|
||||
expect(text).toMatch(/close_agent.*after integrating each result/);
|
||||
expect(text).toContain("Every worker message MUST carry");
|
||||
expect(text).toContain("Each worker does strict TDD");
|
||||
});
|
||||
});
|
||||
|
||||
describe("source LOC budget", () => {
|
||||
|
||||
Reference in New Issue
Block a user