Commit Graph

1022 Commits

Author SHA1 Message Date
YeonGyu-Kim
14c54c1941 fix(hook-message-injector): preserve agent info with two-pass message lookup
findNearestMessageWithFields now has a fallback pass that returns
messages with ANY useful field (agent OR model) instead of requiring
ALL fields. This prevents parentAgent from being lost when stored
messages don't have complete model info.
2026-01-08 23:47:20 +09:00
YeonGyu-Kim
07412deca4 fix(antigravity): sync plugin.ts with PKCE-removed oauth.ts API
Remove decodeState import and update OAuth flow to use simple state
string comparison for CSRF protection instead of PKCE verifier.
Update exchangeCode calls to match new signature (code, redirectUri,
clientId, clientSecret).
2026-01-08 23:31:47 +09:00
YeonGyu-Kim
1e239e6155 feat(background-agent): add parentAgent tracking to preserve agent context in background tasks
- Add parentAgent field to BackgroundTask, LaunchInput, and ResumeInput interfaces
- Pass parentAgent through background task manager to preserve agent identity
- Update sisyphus-orchestrator to set orchestrator-sisyphus agent context
- Add session tracking for background agents to prevent context loss
- Propagate agent context in background-task and sisyphus-task tools

This ensures background/subagent spawned tasks maintain proper agent context for notifications and continuity.

🤖 Generated with assistance of oh-my-opencode
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
9481770a39 fix(sisyphus-orchestrator): only trigger boulder continuation for orchestrator-sisyphus agent 2026-01-08 23:07:55 +09:00
YeonGyu-Kim
2d3894a860 fix(sisyphus_task): use promptAsync for sync mode to preserve main session
- session.prompt() changes the active session, causing UI model switch
- Switch to promptAsync + polling to avoid main session state change
- Matches background-agent pattern for consistency
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
869efbe9ad fix(sisyphus-orchestrator): register handler in event loop for boulder continuation 2026-01-08 23:07:55 +09:00
YeonGyu-Kim
4b4386dbad fix: prevent session model change when sending notifications
- background-agent: use only parentModel, remove prevMessage fallback
- todo-continuation: don't pass model to preserve session's lastModel
- Remove unused imports (findNearestMessageWithFields, fs, path)

Root cause: session.prompt with model param changes session's lastModel
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
0d0bf4d384 feat(sisyphus-task): make skills parameter required
- Add validation for skills parameter (must be provided, use [] if empty)
- Update schema to remove .optional()
- Update type definition to make skills non-optional
- Fix existing tests to include skills parameter
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
64b9b4d36a feat(start-work): auto-select single incomplete plan and use system-reminder format
- Auto-select when only one incomplete plan exists among multiple
- Wrap multiple plans message in <system-reminder> tag
- Change prompt to 'ask user' style for agent guidance
- Add 'All Plans Complete' state handling
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
57fb5e0c71 test(sisyphus-task): add resume with background parameter tests 2026-01-08 23:07:55 +09:00
YeonGyu-Kim
69ca8a2ddd fix(oracle): use gpt-5.2 as default model 2026-01-08 23:07:55 +09:00
YeonGyu-Kim
a55b10e861 refactor(sisyphus-task): rename background to run_in_background 2026-01-08 23:07:55 +09:00
YeonGyu-Kim
5940d2e1d4 Revert "refactor(tools): remove background-task tool"
This reverts commit 6dbc4c095badd400e024510554a42a0dc018ae42.
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
99d45f26cb feat(sisyphus-task): add skillContent support to background agent launching
- Add optional skillContent field to LaunchInput type
- Implement buildSystemContent utility to combine skill and category prompts
- Update BackgroundManager to pass skillContent as system parameter
- Add comprehensive tests for skillContent optionality and buildSystemContent logic

🤖 Generated with assistance of oh-my-opencode
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
cfb6980493 refactor(categories): rename high-iq to ultrabrain 2026-01-08 23:07:55 +09:00
YeonGyu-Kim
1fe6c7e508 feat(task-toast): display skills and concurrency info in toast
- Add skills field to TrackedTask and LaunchInput types
- Show skills in task list message as [skill1, skill2]
- Add concurrency slot info [running/limit] in Running header
- Pass skills from sisyphus_task to toast manager (sync & background)
- Add unit tests for new toast features
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
0d90bc1360 fix(sisyphus-orchestrator): check boulder session_ids before filtering sessions
Bug: continuation was not triggered even when boulder.json existed with
session_ids because the session filter ran BEFORE reading boulder state.

Fix: Read boulder state first, then include boulder sessions in the
allowed sessions for continuation.
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
69a12663c4 feat(oracle): change default model to claude-opus-4-5 2026-01-08 23:07:55 +09:00
YeonGyu-Kim
2722aa512c refactor(oracle): change default model from GPT-5.2 to Claude Opus 4.5 2026-01-08 23:07:55 +09:00
YeonGyu-Kim
073b7e4e65 fix(agents): block task/sisyphus_task/call_omo_agent from explore and librarian
Exploration agents should not spawn other agents - they are leaf nodes
in the agent hierarchy for codebase search only.
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
03beb8e45c docs(sisyphus-task): clarify resume usage with session_id and add when-to-use guidance
- Fix terminology: 'Task ID' → 'Session ID' in resume parameter docs
- Add clear 'WHEN TO USE resume' section with concrete scenarios
- Add example usage pattern in Sisyphus agent prompt
- Emphasize token savings and context preservation benefits
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
4b2bf9ccb5 fix(sisyphus-task): add proper error handling for sync mode and implement BackgroundManager.resume()
- Add try-catch for session.prompt() in sync mode with detailed error messages
- Sort assistant messages by time to get the most recent response
- Add 'No assistant response found' error handling
- Implement BackgroundManager.resume() method for task resumption
- Fix ConcurrencyManager type mismatch (model → concurrencyKey)
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
b442b1c857 feat(prometheus): enforce mandatory todo registration on plan generation trigger 2026-01-08 23:07:55 +09:00
YeonGyu-Kim
04fc903d38 fix(context-injector): prepend to user message instead of separate synthetic message
- Change from creating separate synthetic user message to prepending context
  directly to last user message's text part
- Separate synthetic messages were ignored by model (treated as previous turn)
- Prepending to clone ensures: UI shows original, model receives prepended content
- Update tests to reflect new behavior
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
24e983eac7 chore(context-injector): add debug logging for context injection tracing
Add DEBUG log statements to trace context injection flow:
- Log message transform hook invocations
- Log sessionID extraction from message info
- Log hasPending checks for context collector
- Log hook content registration to contextCollector

🤖 Generated with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) assistance
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
c074da0b93 refactor: use ContextCollector for hook injection and remove unused background tools
Split changes:
- Replace injectHookMessage with ContextCollector.register() pattern for improved hook content injection
- Remove unused background task tools infrastructure (createBackgroundOutput, createBackgroundCancel)

🤖 Generated with assistance of OhMyOpenCode (https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:55 +09:00
YeonGyu-Kim
5331a9f8c1 feat(hooks): add single-task directive and system-reminder tags to orchestrator
Inject SINGLE_TASK_DIRECTIVE when orchestrator calls sisyphus_task to enforce
atomic task delegation. Wrap verification reminders in <system-reminder> tags
for better LLM attention.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
185c72c9e3 feat(git-master): add configurable commit footer and co-author options
Add git_master config with commit_footer and include_co_authored_by flags.
Users can disable Sisyphus attribution in commits via oh-my-opencode.json.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
919453ebce feat(prometheus): enhance reference section with detailed guidance
References now include:
- Pattern references (existing code to follow)
- API/Type references (contracts to implement)
- Test references (testing patterns)
- Documentation references (specs and requirements)
- External references (libraries and frameworks)
- Explanation of WHY each reference matters

The executor has no interview context - references are their only guide.

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
344eb771c6 feat(prometheus): enhance high accuracy mode with mandatory Momus loop
When user requests high accuracy:
- Momus review loop is now mandatory until 'OKAY'
- No excuses allowed - must fix ALL issues
- No maximum retry limit - keep looping until approved
- Added clear explanation of what 'OKAY' means

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
9c363a52ce fix(momus): allow system directives in input validation
System directives (XML tags like <system-reminder>) are automatically
injected and should be ignored during input validation. Only reject
when there's actual user text besides the file path.

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
a1f3f679e9 refactor(config): make Prometheus model independent from plan agent config
- Prometheus no longer inherits model from plan agent configuration
- Fallback chain: session default model -> claude-opus-4-5
- Removes coupling between Prometheus and legacy plan agent settings

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
4a6663a6cf feat(agents): change orchestrator-sisyphus default model to claude-sonnet-4-5
- Update orchestrator-sisyphus model from opus-4-5 to sonnet-4-5 for better cost efficiency
- Keep Prometheus using opus-4-5 for planning tasks

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
86c241fd63 refactor(tools): rename agent parameter to subagent_type in sisyphus_task
- Update parameter name from 'agent' to 'subagent_type' for consistency with call_omo_agent
- Update all references and error messages
- Remove deprecated 'agent' field from SisyphusTaskArgs interface
- Update git-master skill documentation to reflect parameter name change

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
79a7448341 docs(agents): add pre-delegation planning section to Sisyphus prompt
- Add SISYPHUS_PRE_DELEGATION_PLANNING section with mandatory declaration rules
- Implements 3-step decision tree: Identify → Select → Declare
- Forces explicit category/agent/skill declaration before every sisyphus_task call
- Includes mandatory 4-part format: Category/Agent, Reason, Skills, Expected Outcome
- Provides examples (CORRECT vs WRONG) and enforcement rules
- Follows prompt engineering best practices: Clear, CoT, Structured, Examples

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
213faedcdb feat(skills): add git-master skill for atomic commits and history management
- Add comprehensive git-master skill for commit, rebase, and history operations
- Implements atomic commit strategy with multi-file splitting rules
- Includes style detection, branch analysis, and history search capabilities
- Provides three modes: COMMIT, REBASE, HISTORY_SEARCH

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
54078992f9 orchestrator 2026-01-08 23:07:05 +09:00
YeonGyu-Kim
b9101567ff test(hooks): update prometheus-md-only test assertions and formatting
Updated test structure and assertions to match current output format.
Improved test clarity while maintaining complete coverage of markdown
validation and write restriction behavior.
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
2925402c4f refactor(hooks): remove duplicate verification enforcement from start-work hook
Verification reminders are now centralized in sisyphus-orchestrator hook,
eliminating redundant code in start-work. The orchestrator hook handles all
verification messaging across both boulder and standalone modes.
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
3b89a35a13 feat(hooks): add resume session_id to verification reminders for orchestrator subagent work
When subagent work fails verification, show exact sisyphus_task(resume="...")
command with session_id for immediate retry. Consolidates verification workflow
across boulder and standalone modes.
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
9eafe6b5f9 feat(features): add TaskToastManager for consolidated task notifications
- Create task-toast-manager feature with singleton pattern

- Show running task list (newest first) when new task starts

- Track queued tasks status from ConcurrencyManager

- Integrate with BackgroundManager and sisyphus-task tool

🤖 Generated with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) assistance
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
110dbd665a docs(refactor,root): update oracle consultation model in feature templates and root docs
- Updated refactor command template to emphasize oracle's read-only role
- Updated root AGENTS.md with oracle agent description emphasizing high-IQ debugging and architecture consultation
- Clarified oracle as non-write agent for design and debugging support
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
9152c5c687 docs(orchestrator): emphasize oracle as read-only consultation agent
- Updated orchestrator-sisyphus agent descriptions
- Updated sisyphus-prompt-builder to highlight oracle's read-only consultation role
- Clarified that oracle provides high-IQ reasoning without write operations
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
56bc1697d2 docs(agents): clarify oracle and metis agent descriptions emphasizing read-only consultation roles
- Oracle: high-IQ reasoning specialist for debugging and architecture (read-only)
- Metis: updated description to align with oracle's consultation-only model
- Updated AGENTS.md with clarified agent responsibilities
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
39e92b1900 feat(hooks): add mandatory hands-on verification enforcement for orchestrated tasks
- sisyphus-orchestrator: Add verification reminder with tool matrix (playwright/interactive_bash/curl)

- start-work: Inject detailed verification workflow with deliverable-specific guidance

🤖 Generated with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) assistance
2026-01-08 23:07:05 +09:00
YeonGyu-Kim
7567c40a81 feat(hooks): add read-only warning injection for Prometheus task delegation
When Prometheus (Planner) spawns subagents via task tools (sisyphus_task, task, call_omo_agent), a system directive is injected into the prompt to ensure subagents understand they are in a planning consultation context and must NOT modify files.

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:04 +09:00
YeonGyu-Kim
f354724e64 feat: add toast notifications for task execution
- Display toast when background task starts in BackgroundManager
- Display toast when sisyphus_task sync task starts
- Wire up prometheus-md-only hook initialization in main plugin

This provides user feedback in OpenCode TUI where task TUI is not visible.

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:04 +09:00
YeonGyu-Kim
0c10be4f61 skill 2026-01-08 23:07:04 +09:00
YeonGyu-Kim
36a227efeb build: regenerate schema.json with new types
Update JSON schema with:
- New agents: Prometheus (Planner), Metis (Plan Consultant)
- New hooks: prometheus-md-only, start-work, sisyphus-orchestrator
- New commands: start-work
- New skills: frontend-ui-ux
- CategoryConfigSchema for task delegation
- Agent category and skills fields

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:04 +09:00
YeonGyu-Kim
29ffdccbe6 docs: update documentation for Prometheus and new features
Update documentation across all language versions:
- Rename Planner-Sisyphus to Prometheus (Planner)
- Add Metis (Plan Consultant) agent documentation
- Add Categories section with usage examples
- Add sisyphus_task tool documentation
- Update AGENTS.md with new structure and complexity hotspots
- Update src/tools/AGENTS.md with sisyphus_task category

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-08 23:07:04 +09:00