Commit Graph

6 Commits

Author SHA1 Message Date
ismeth 44b3efe7a3 feat(athena): structured synthesis header + audit cross-check flow
Add universal YAML front-matter header to all synthesis.md outputs (council,
question, date, members, session_ids, mode, intent, responded count).

AUDIT: structured finding format with required fields (severity, confidence,
members reported, evidence, impact, fix direction). New cross-check flow asks
user to verify minority/solo findings via a second council round before
proceeding to findings processing.

Also fix prompt-file cleanup: skip cleanupPromptFile when movePromptFile
already succeeded.
2026-04-15 16:48:50 +09:00
ismeth 974eb8e176 feat(athena): replace hard quorum gate with interactive failure handling
Interactive prompt: Athena now asks the user whether to retry failed members
or skip and synthesize with available results. Recommends based on success ratio.
Non-interactive prompt: always proceeds to synthesis with available results,
sets status to partial/failed accordingly.
2026-04-15 16:48:50 +09:00
ismeth 96c9cf98ed fix(athena): harden interactive prompt to prevent implementation behavior
Add 7 guardrails to stop Athena from acting as an implementation
orchestrator when receiving feature requests:

- Role + Tool Firewall: task() exclusively for council, todowrite banned
- Implementation-first pre-check: highest precedence in routing
- Expanded Category B: broader signals (build, make a feature, etc.)
- Strengthened Category F: vague features = ambiguous by default
- Handoff context integrity: no fabricated specs in switch_agent
- Routing read budget: 3-file cap for routing context
- New constraints: task() scope, todowrite ban, drift detection

Fixes bug where Athena created 9 todos and orchestrated implementation
via task() instead of routing to Prometheus/Sisyphus.
2026-04-15 16:48:49 +09:00
ismeth 5e71d84a69 feat(athena): add bulk_launch config for council launch strategy
New config: agents.athena.bulk_launch (boolean, default false)
- false: launch members one-by-one via task() for TUI inspectability
- true: launch all members at once via athena_council tool

Prompt uses {BULK_LAUNCH_STEP_5_2} placeholder injected at runtime
based on config value. Schema, caller, and tests updated.
2026-04-15 16:48:47 +09:00
ismeth efc53de531 feat(athena): complete delegation routing fix with mode-aware delegation table
- Re-add ATHENA_PROMPT_METADATA with tight triggers and avoidWhen guardrails
- Update switch_agent tool description with permanent handoff guardrail
- Make buildDelegationTable mode-aware: switch_agent for primary, task() for subagent
- Pass agent mode through general-agents to AvailableAgent interface
- Improve primary agent error messages in subagent-resolver with alternatives
- Add council-first bias to Athena interactive prompt
- Update athena-junior trigger text for clearer task() invocation guidance
- Add tests for ATHENA_PROMPT_METADATA shape, triggers, useWhen, avoidWhen
2026-04-15 16:48:46 +09:00
ismeth 1c27867fc9 feat(athena): extract interactive prompt to dedicated file
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-15 16:48:45 +09:00