justsisyphus
9d66b80709
feat(hooks): add active working context section to compaction summary
...
Include files, code in progress, external references, and state/variables
in compaction summary for seamless continuation after context compaction.
2026-01-26 14:23:05 +09:00
justsisyphus
5c7eb02d5b
chore(test): sync agent name casing in tests ( #1128 )
...
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
2026-01-26 12:10:30 +09:00
justsisyphus
68aa913499
refactor(tmux-subagent): state-first architecture with decision engine ( #1125 )
...
* refactor(tmux-subagent): add state-first architecture with decision engine
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* feat(tmux): add pane spawn callbacks for background and sync sessions
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-26 12:02:37 +09:00
justsisyphus
3a79b8761b
feat(shared): add connected-providers-cache for model availability ( #1121 )
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-26 11:53:41 +09:00
justsisyphus
da416b362b
feat(hooks): add category-skill-reminder hook ( #1123 )
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-26 11:48:32 +09:00
justsisyphus
90054b28ad
chore(docs): regenerate AGENTS.md knowledge base ( #1118 )
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-26 11:48:30 +09:00
justsisyphus
892b245779
fix(test): update builtin skills count from 3 to 4 ( #1126 )
...
* fix(test): update builtin skills count from 3 to 4 (dev-browser added)
* chore(ci): add block-master-pr workflow
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
2026-01-26 02:29:28 +00:00
YeonGyu-Kim
aead4aebd2
Add tmux pane management for background agent sessions ( #1094 )
...
* feat(config): add TmuxConfigSchema for tmux subagent pane management
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* feat(shared): add tmux module structure
* feat(shared/tmux): implement tmux pane utilities
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* test(tmux-subagent): add TmuxSessionManager tests (TDD RED)
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* feat(tmux-subagent): implement TmuxSessionManager
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* feat(integration): wire TmuxSessionManager with 500ms delay
- Task 5: Add 500ms delay in BackgroundManager after session creation
- Task 6: Wire TmuxSessionManager event handlers (session.created/deleted)
- Both changes integrate tmux pane management into plugin lifecycle
Co-authored-by: Sisyphus <ultrawork@oh-my-opencode>
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Co-authored-by: Sisyphus <ultrawork@oh-my-opencode>
2026-01-25 15:34:10 +09:00
YeonGyu-Kim
bccc943173
feat(skills): add dev-browser skill with Windows support ( #1093 )
...
* feat(skills): add dev-browser skill with Windows support
* chore: trigger CI
2026-01-25 15:34:07 +09:00
justsisyphus
05904ca617
docs(agent-browser): add detailed installation guide with Playwright troubleshooting
2026-01-25 15:12:32 +09:00
YeonGyu-Kim
3af30b0a21
feat(skills): add agent-browser option for browser automation ( #1090 )
...
Add configurable browser automation allowing users to choose between
Playwright MCP (default) and Vercel's agent-browser CLI.
Changes:
- Add browser_automation_engine.provider config option
- Dynamic skill loading based on provider selection
- Comprehensive agent-browser CLI reference (inline in skills.ts)
- Propagate browserProvider to delegate_task and buildAgent
- Update documentation with provider comparison
Co-authored-by: Suyeol Jeon <devxoul@gmail.com>
Co-authored-by: YeonGyu Kim <code.yeongyu@gmail.com>
2026-01-25 15:02:41 +09:00
YeonGyu-Kim
b55fd8d76f
feat(explore): add github-copilot/gpt-5-mini to fallback chain ( #1091 )
...
* feat(explore): add github-copilot/gpt-5-mini to fallback chain
* test(explore): add tests for github-copilot/gpt-5-mini fallback
---------
Co-authored-by: Suyeol Jeon <devxoul@gmail.com>
2026-01-25 05:53:11 +00:00
Sisyphus
208af055ef
fix: generate skill/slashcommand descriptions synchronously when pre-provided ( #1087 )
...
* fix: generate skill/slashcommand tool descriptions synchronously when pre-provided
When skills are passed via options (pre-resolved), build the tool description
synchronously instead of fire-and-forget async. This eliminates the race
condition where the description getter returns the bare prefix before the
async cache-warming microtask completes.
Fixes #1039
* chore: changes by sisyphus-dev-ai
---------
Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
2026-01-25 14:52:50 +09:00
YeonGyu-Kim
0aa8f486af
feat(hooks): add sisyphus-junior-notepad hook for conditional notepad rules injection ( #1092 )
...
* refactor(shared): extract isCallerOrchestrator to session-utils
* refactor(atlas): use shared isCallerOrchestrator, change to prepend
* refactor(prometheus-md-only): change to prepend pattern
* refactor(sisyphus-junior): remove Work_Context (moved to hook)
* feat(hooks): add sisyphus-junior-notepad hook
* fix(shared): replace dynamic require with static import in session-utils
- Change from dynamic require to static import for better bundler compatibility
- Fix import path: ../../features -> ../features
- Add barrel export to src/shared/index.ts
* feat(hooks): register sisyphus-junior-notepad hook
- Add to HookNameSchema in schema.ts
- Export from hooks/index.ts
- Register with isHookEnabled in index.ts
- Auto-generated schema.json update
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
2026-01-25 14:52:11 +09:00
github-actions[bot]
a5db86ee15
release: v3.0.1
v3.0.1
2026-01-25 05:04:20 +00:00
justsisyphus
14f450bd25
refactor: sync delegate_task schema with OpenCode Task tool (resume→session_id, add command param)
2026-01-25 13:57:45 +09:00
justsisyphus
5a1da39def
refactor(ultrawork): replace vague plan agent references with explicit delegate_task(subagent_type="plan") invocation syntax
2026-01-25 13:57:45 +09:00
Sisyphus
24d065c43a
fix: update documentation to use load_skills instead of skills parameter ( #1088 )
...
All documentation, agent prompts, and skill descriptions were still
referencing the old 'skills' parameter name for delegate_task, but the
tool implementation requires 'load_skills' (renamed in commit aa2b052).
This caused confusion and errors for users following the docs.
Fixes #1008
Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
2026-01-25 13:45:00 +09:00
justsisyphus
fd72ce5ce7
docs: update AGENTS.md knowledge base (043b1a33)
...
- Add 7 missing hooks, remove deleted background-compaction
- Update line counts (atlas 572, sisyphus 450, config-manager 664)
- Add 18 undocumented shared utilities, remove stale references
- Add task-toast-manager, remove-deadcode command
- Update test count 90→95, add 4 complexity hotspots
2026-01-25 13:12:40 +09:00
justsisyphus
043b1a3377
refactor: remove dead re-exports from tools barrel (getTmuxPath, DelegateTaskToolOptions, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS)
2026-01-25 12:59:19 +09:00
justsisyphus
512952f66d
refactor: remove deprecated config-path.ts (dead code, 0 references)
2026-01-25 12:58:40 +09:00
justsisyphus
d9723e76ab
refactor: remove unused background-compaction hook module
2026-01-25 12:58:05 +09:00
justsisyphus
212baa6674
feat(commands): add /remove-deadcode slash command for LSP-verified dead code removal
2026-01-25 12:46:37 +09:00
justsisyphus
1c76e0513a
fix: add missing name property in loadBuiltinCommands causing TypeError on slashcommand
2026-01-25 12:46:03 +09:00
justsisyphus
c8cc94cd3c
fix: remove github-copilot association from gpt-5-nano model mapping
...
explore agent uses opencode/gpt-5-nano exclusively — github-copilot
should not be associated with gpt-5-nano in docs, tests, or fallback chains.
2026-01-25 12:46:03 +09:00
Sisyphus
20cca35157
fix(ralph-loop): skip user messages in transcript completion detection ( #622 ) ( #1086 )
...
* fix(ralph-loop): skip user messages in transcript completion detection (#622 )
The transcript-based completion detection was searching the entire JSONL
file for <promise>DONE</promise>, including user message entries. The
RALPH_LOOP_TEMPLATE instructional text contains this literal pattern,
which gets recorded as a user message, causing false positive completion
detection on every iteration. This made the loop always terminate at
iteration 1.
Fix: Parse JSONL entries line-by-line and skip entries with type 'user'
so only tool_result/assistant entries are checked for the completion
promise. Also remove the hardcoded <promise>DONE</promise> from the
template exit conditions as defense-in-depth.
* chore: changes by sisyphus-dev-ai
---------
Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
2026-01-25 12:34:42 +09:00
sisyphus-dev-ai
81d27afadb
chore: changes by sisyphus-dev-ai
2026-01-25 03:27:56 +00:00
github-actions[bot]
6cb2f3031c
@kvokka has signed the CLA in code-yeongyu/oh-my-opencode#1084
2026-01-25 03:14:31 +00:00
github-actions[bot]
f116ea1d43
@potb has signed the CLA in code-yeongyu/oh-my-opencode#1083
2026-01-25 02:38:28 +00:00
github-actions[bot]
6aa0674000
@jsl9208 has signed the CLA in code-yeongyu/oh-my-opencode#1082
2026-01-24 21:44:22 +00:00
github-actions[bot]
2b828624a0
@sadnow has signed the CLA in code-yeongyu/oh-my-opencode#1080
2026-01-24 20:49:38 +00:00
github-actions[bot]
e60ccb93fb
@ThanhNguyxn has signed the CLA in code-yeongyu/oh-my-opencode#1075
2026-01-24 17:42:03 +00:00
justsisyphus
aa244e8098
docs: fix atlas agent name case in example config
2026-01-24 22:46:40 +09:00
github-actions[bot]
6f60f03433
@AamiRobin has signed the CLA in code-yeongyu/oh-my-opencode#1067
2026-01-24 13:28:32 +00:00
github-actions[bot]
b8a0eee92d
release: v3.0.0
v3.0.0
2026-01-24 13:23:25 +00:00
justsisyphus
1486ebbc87
docs: update READMEs for 3.0 stable release
...
- Update TIP banner from beta.10 to stable 3.0 in all languages
- Add Korean language link to Japanese and Chinese READMEs
- Add DeepWiki badge to Japanese and Chinese READMEs
- Adjust DeepWiki badge position in Korean README for consistency
2026-01-24 21:58:53 +09:00
justsisyphus
063c759275
feat: show detailed task info and resume instructions on background_cancel(all=true) ( #1062 )
...
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
2026-01-24 17:15:31 +09:00
justsisyphus
6e9ebaf3ee
fix: add missing gemini-3-flash to writing category migration ( #1061 )
...
MODEL_TO_CATEGORY_MAP was missing the mapping for google/gemini-3-flash
to the 'writing' category. Users who had configured agents with
model: 'google/gemini-3-flash' would not get auto-migrated to
category: 'writing'.
Ref: PR #1057 review comment
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
2026-01-24 17:05:14 +09:00
justsisyphus
0e1d4e52e1
chore: remove website directory (fixes CI test failures)
2026-01-24 16:37:46 +09:00
sisyphus-dev-ai
c0fb4b79bd
chore: changes by sisyphus-dev-ai
2026-01-24 07:12:01 +00:00
justsisyphus
ec32dd65c2
fix(question-label-truncator): fix type errors and add test coverage
...
- Remove invalid Pick<Plugin> type usage
- Add explicit input/output type annotations
- Add comprehensive test suite (5 tests)
- Tests verify truncation at 30 chars with '...' suffix
2026-01-24 16:07:08 +09:00
Ssoon-m
04fb339622
fix: add model fallback from agent/category configs
2026-01-24 16:03:12 +09:00
yimingll
3a22c24cf4
fix: auto-truncate question option labels exceeding 30 characters
...
When AI generates AskUserQuestion tool calls with option labels longer
than 30 characters, opencode validation rejects them with "too_big" error.
This fix adds a pre-tool-use hook that automatically truncates labels
to 30 characters (with "..." suffix) before the validation occurs.
Fixes the error:
"The question tool was called with invalid arguments: expected string
to have <=30 characters"
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 15:59:45 +09:00
Stephen Wang
cf2320480f
Fix MCP disabled flag not removing previously loaded servers ( #985 )
...
When a later-loaded MCP config (e.g., .claude/.mcp.json) marks a server
as disabled, it now properly removes that server from both the servers
object and loadedServers array.
Previously, disabled servers were only skipped during loading, which
meant they wouldn't override servers loaded from earlier configs. This
made it impossible to disable project-level MCPs using local overrides.
Now the disabled flag works as expected: local configs can disable
servers defined in project or user configs.
2026-01-24 15:55:59 +09:00
Rouven Hi!
9532680879
fix(slashcommand): include built-in commands (like start-work) in discovery ( #1031 )
...
This ensures that commands defined in src/features/builtin-commands/commands.ts
(like /start-work, /refactor, /init-deep) are visible to the slashcommand tool
and the agent. Previously, only markdown-based commands were discovered.
2026-01-24 15:55:31 +09:00
justsisyphus
2a945ddbf5
fix(background-task): pass config to BackgroundManager for concurrency limits
...
The background_task config (providerConcurrency, modelConcurrency, etc.)
was not being passed to BackgroundManager, causing all models to use
the hardcoded default limit of 5 instead of user-configured values.
2026-01-24 15:50:44 +09:00
justsisyphus
58bb92134d
fix(todo-continuation): filter compaction agent to prevent infinite loop
...
- Add 'compaction' to DEFAULT_SKIP_AGENTS
- Skip compaction agent messages when resolving agent info
- Skip injection when compaction occurred but no real agent resolved
- Replace cooldown-based approach with agent-based filtering
2026-01-24 15:50:44 +09:00
Sungho Park
f1a279a10a
Add xhigh reasoningEffort to config schema ( #965 )
...
* test: cover xhigh reasoningEffort
* feat: add xhigh reasoningEffort option
* test: make reasoningEffort xhigh test model-agnostic
2026-01-24 15:48:15 +09:00
YeonGyu-Kim
faf172a91d
fix(multimodal-looker): update fallback chain order ( #1050 )
...
New order:
1. google/gemini-3-flash
2. openai/gpt-5.2
3. zai-coding-plan/glm-4.6v
4. anthropic/claude-haiku-4-5
5. opencode/gpt-5-nano (FREE, ultimate fallback)
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
2026-01-24 15:40:24 +09:00
YeonGyu-Kim
04633ba208
fix(models): update model names to match OpenCode Zen catalog ( #1048 )
...
* fix(models): update model names to match OpenCode Zen catalog
OpenCode Zen recently updated their official model catalog, deprecating
several preview and free model variants:
DEPRECATED → NEW (Official Zen Names):
- gemini-3-pro-preview → gemini-3-pro
- gemini-3-flash-preview → gemini-3-flash
- grok-code → gpt-5-nano (FREE tier maintained)
- glm-4.7-free → big-pickle (FREE tier maintained)
- glm-4.6v → glm-4.6
Changes:
- Updated 6 source files (model-requirements, delegate-task, think-mode, etc.)
- Updated 9 documentation files (installation, configurations, features, etc.)
- Updated 14 test files with new model references
- Regenerated snapshots to reflect catalog changes
- Removed duplicate think-mode entries for preview variants
Impact:
- FREE tier access preserved via gpt-5-nano and big-pickle
- All 55 model-related tests passing
- Zero breaking changes - pure string replacement
- Aligns codebase with official OpenCode Zen model catalog
Verified:
- Zero deprecated model names in codebase
- All model-related tests pass (55/55)
- Snapshots regenerated and validated
Affects: 30 files (6 source, 9 docs, 14 tests, 1 snapshot)
* fix(multimodal-looker): update fallback chain with glm-4.6v and gpt-5-nano
- Change glm-4.6 to glm-4.6v for zai-coding-plan provider
- Add opencode/gpt-5-nano as 4th fallback (FREE tier)
- Push gpt-5.2 to 5th position
Fallback chain now:
1. gemini-3-flash (google, github-copilot, opencode)
2. claude-haiku-4-5 (anthropic, github-copilot, opencode)
3. glm-4.6v (zai-coding-plan)
4. gpt-5-nano (opencode) - FREE
5. gpt-5.2 (openai, github-copilot, opencode)
* chore: update bun.lock
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
2026-01-24 15:30:35 +09:00