ismeth
3468c72dfa
test(council): add comprehensive meta-yaml-formatter tests
2026-04-15 16:48:45 +09:00
ismeth
e15ce7b279
fix(council): increase archive ID entropy and remove unused toolContext param
...
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
ismeth
3d36f6c5d8
fix(council): handle whitespace around COUNCIL_MEMBER_RESPONSE tags
...
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
ismeth
4a7ddae53f
refactor(council): move hasCouncilResponseTag to council-response-extractor
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-15 16:48:44 +09:00
ismeth
45d3eb65df
fix(council): add error logging to empty catch in council-finalize-helpers
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-15 16:48:44 +09:00
ismeth
d87d0256ba
test(council-archive): add comprehensive coverage for council-finalize-helpers
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-15 16:48:44 +09:00
ismeth
ffb0fad26e
refactor(council-archive): remove dead isPathEscaping check and unused log import
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-15 16:48:44 +09:00
ismeth
17ac08a02b
fix(council-archive): add movePromptFile error logging and fix isPathEscaping false positives
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-15 16:48:44 +09:00
ismeth
36e52d28b4
fix(council-archive): handle CRLF line endings in structural tag detection
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-15 16:48:44 +09:00
ismeth
6e57d060e1
fix(council-finalize): append runtime guidance to tool response for same-turn delivery
...
Remove contextCollector dependency from council_finalize and append
Athena runtime guidance directly to the tool's JSON response string.
This fixes the timing bug where guidance registered via contextCollector
only arrived on the next message cycle, too late for Athena's same-turn
synthesis.
- Remove ContextCollector import, RegisterContext type, and collector.register() block
- Append buildAthenaRuntimeGuidance() output after JSON result with \n\n separator
- Simplify createCouncilFinalize() factory call in tool-registry (no options)
- Update unit tests: replace collector mock assertions with direct output string checks
- Update integration tests: wrap JSON.parse with extractJson() helper for hybrid output
2026-04-15 16:48:44 +09:00
ismeth
951f004a65
fix(test): align assertions after cherry-pick merge from 3 worktrees
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-15 16:48:44 +09:00
ismeth
b4dd379b38
fix(council-archive): handle literal tag mentions inside response content
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-15 16:48:19 +09:00
ismeth
7d2749cfe1
fix(athena): address 11 audit findings (H2,H3,H5,M1-M4,M8-M11)
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-15 16:48:13 +09:00
ismeth
a13cc7b877
fix(council-finalize): patch path traversal vulnerabilities in name, task_ids, and prompt_file
2026-04-15 16:48:07 +09:00
ismeth
a33a3d1095
refactor(athena): remove redundant council_read tool, use Read instead
...
council_read was a sandboxed readFile wrapper for .sisyphus/ archives.
Now that council_finalize extracts member responses into plain files,
the standard Read tool serves the same purpose. Removes the tool, its
tests, and updates Athena's prompt to reference Read directly.
2026-04-15 16:48:07 +09:00
ismeth
225a612b3a
fix(test): update council-finalize assertions to match current runtime guidance wording
2026-04-15 16:48:01 +09:00
ismeth
227a59a796
fix(athena): implement 10 prompt audit fixes from council review
...
- Fix 1: Clarify 'restart at Step 3' → 'restart the council workflow from Step 3 (intent classification)'
- Fix 2: Replace {council-session-name} with static references to council_finalize archive_dir
- Fix 3: Add documenting comment for call_omo_agent in solo mode allowlist
- Fix 4: Add delegation agent rationale comment to RUNTIME_GUIDANCE_BY_INTENT
- Fix 5: Type-safe COUNCIL_INTENT_ADDENDUMS with Record<CouncilIntent, string>
- Fix 6: Clarify FREEFORM wording re COUNCIL_MEMBER_RESPONSE tag requirement
- Fix 7: Remove dead Step 15 fallback from agent.ts
- Fix 8: Add compound question intent precedence guidance
- Fix 9: Fix AUDIT double-period typo
- Fix 10: Add edge case test for extractCouncilResponse with literal tag text
2026-04-15 16:47:57 +09:00
ismeth
c265200f5f
feat(athena): inject intent runtime guidance and action flows
2026-04-15 16:47:52 +09:00
ismeth
2c27298dc1
fix(council-archive): simplify finalize output and archive reads
2026-04-15 16:47:33 +09:00
ismeth
f5829bf2fb
fix(athena): resolve task output files to project directory instead of process.cwd()
...
task-output-writer wrote to process.cwd()/.sisyphus/task-outputs/ while
council_finalize read from ctx.directory/.sisyphus/task-outputs/. When
these differ, all output files appear missing.
Fix by passing directory to writeTaskOutput from BackgroundManager, and
adding basePath to council_read. Also removes process.chdir() from tests
that was masking the bug.
2026-04-15 16:47:20 +09:00
ismeth
e198707e84
test(council-archive): add integration tests for full council flow
2026-04-15 16:43:17 +09:00
ismeth
b6b956c4c3
feat(council-archive): register council tools and add write_output_to_file to task tool
...
- Register council_finalize and council_read in tool registry
- Add write_output_to_file param to delegate-task, propagate to LaunchInput
- Create council-archive barrel exports
2026-04-15 16:43:17 +09:00
ismeth
2a426860f6
feat(council-archive): add council_finalize and council_read tools, refactor background_wait to metadata-only
...
- council_finalize: batch extract, archive, and return council results
- council_read: secure file reader for archived council responses
- background_wait: stripped to metadata-only, returns completed_tasks array
- Removed all council-specific logic from background_wait
- 28/28 tests passing across all changed files
2026-04-15 16:42:49 +09:00
ismeth
b7552f13ac
feat(council-archive): add shared extraction utility and background task type extensions
...
- Create council-response-extractor.ts with ported extractCouncilResponse()
- Add writeOutputToFile, outputFilePath, _isCompleting to BackgroundTask
- Add writeOutputToFile to LaunchInput
- 8/8 extraction tests passing
2026-04-15 16:42:49 +09:00