fix: resolve 11 council-audited violations across athena subsystem
- Add switch_agent to athena-junior deny list (P1 defense-in-depth) - Add terminal status check to waitForSessionIds polling loop - Add athena-junior to OverridableAgentNameSchema and AgentOverridesSchema - Add explicit retry workflow instructions to non-interactive prompt Step 9 - Fix JSON schema generation to exclude defaulted fields from required arrays - Fix docs example for non_interactive_member_list (remove Council: prefix) - Use segment-aware regex in path-policy.ts to block fake.sisyphus/ paths - Add defensive path resolution and contract validation for prompt_file - Add explicit .optional() to AthenaOverrideConfigSchema fields for clarity - Fix traversal check precision for .. prefixed directory names
This commit is contained in:
@@ -25,7 +25,7 @@ export const ATHENA_JUNIOR_PROMPT_METADATA: AgentPromptMetadata = {
|
||||
}
|
||||
|
||||
export function createAthenaJuniorAgent(model: string): AgentConfig {
|
||||
const restrictions = createAgentToolRestrictions(["call_omo_agent", "question"])
|
||||
const restrictions = createAgentToolRestrictions(["call_omo_agent", "question", "switch_agent"])
|
||||
return {
|
||||
description:
|
||||
"Non-interactive council orchestrator for programmatic multi-model synthesis. Returns structured <athena_council_result> JSON without user interaction. (Athena-Junior - OhMyOpenCode)",
|
||||
|
||||
@@ -90,6 +90,14 @@ Track every task_id from the response for use in Step 5.
|
||||
- cancel_retrying_on_quorum = {CANCEL_RETRYING_ON_QUORUM}
|
||||
- Quorum enforcement: minimum 2 successful members required before synthesis.
|
||||
|
||||
If retry_on_fail > 0 and failed members exist:
|
||||
1. Re-launch failed members via athena_council with the same prompt_file and members parameter set to the failed member names.
|
||||
2. Return to Step 5 to wait for their completion via background_wait.
|
||||
3. Call council_finalize again to collect retried results.
|
||||
4. Continue retrying until retry count exhausted or quorum met.
|
||||
- If retry_failed_if_others_finished is true, only retry after all non-failed members have completed.
|
||||
- If cancel_retrying_on_quorum is true, stop retrying once quorum (2+ successful) is met.
|
||||
|
||||
### Step 10: Synthesize using council_finalize runtime guidance.
|
||||
- Read every member's archive_file with Read tool.
|
||||
- Apply the injected <athena_runtime_guidance> from council_finalize.
|
||||
|
||||
Reference in New Issue
Block a user