fix(omo-codex): avoid context-heavy agent polling
This commit is contained in:
@@ -185,6 +185,8 @@ Until every success-criteria scenario PASSES with BOTH evidence pieces:
|
||||
|
||||
Parallel-batch independent reads / searches / subagents within a step,
|
||||
but NEVER parallelise RED and GREEN of the same criterion.
|
||||
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.
|
||||
|
||||
# Verification gate (TRIGGERED, NOT OPTIONAL)
|
||||
|
||||
|
||||
@@ -145,6 +145,28 @@ describe("codex ultrawork hook", () => {
|
||||
expect(parsed.hookSpecificOutput.additionalContext).toMatch(/4\. Computer use/);
|
||||
expect(parsed.hookSpecificOutput.additionalContext).toMatch(/CLEANUP \(PAIRED/);
|
||||
});
|
||||
|
||||
it("#given directive #when inspected #then avoids context-expensive agent polling", () => {
|
||||
// given
|
||||
const payload = {
|
||||
hook_event_name: "UserPromptSubmit",
|
||||
prompt: "please ultrawork",
|
||||
};
|
||||
|
||||
// when
|
||||
const output = runUserPromptSubmitHook(payload);
|
||||
const parsed = parseHookOutput(output);
|
||||
|
||||
// then
|
||||
const directive = parsed.hookSpecificOutput.additionalContext;
|
||||
expect(directive).toMatch(/list_agents/);
|
||||
expect(directive).toMatch(/polling or status tool/);
|
||||
expect(directive).toMatch(/replay large agent status and latest-message payloads/);
|
||||
expect(directive).toMatch(/Track spawned agent names locally/);
|
||||
expect(directive).toMatch(/wait_agent.*completion/);
|
||||
expect(directive).toMatch(/targeted followups only when needed/);
|
||||
expect(directive).toMatch(/close_agent.*after integrating each result/);
|
||||
});
|
||||
});
|
||||
|
||||
interface UserPromptSubmitHookOutput {
|
||||
|
||||
Reference in New Issue
Block a user