1258 Commits

Author SHA1 Message Date
justsisyphus
bf3f8e5005 fix(background-agent): prevent premature task completion when agent still running
- Add session.status re-check in stability detection before completing
- Reset stablePolls if session is not idle (agent still working)
- Fix statusText to show CANCELLED instead of COMPLETED for non-completed tasks
2026-01-19 14:58:13 +09:00
justsisyphus
faac9e9908 feat(ultrawork): add mandatory certainty and no-compromise clauses to ultrawork prompt 2026-01-19 14:58:13 +09:00
justsisyphus
d929184c1e docs: sync installation guides across language READMEs
- Add GitHub Copilot subscription question to Step 0
- Add --copilot flag to CLI examples
- Change 'WE ALL COVER THEM' to 'OPENCODE COVERS THEM ALL'
- Add 'For Humans' section with bunx/npx commands to Japanese README
2026-01-19 14:58:13 +09:00
justsisyphus
693c9e0daf docs: extract Features section to docs/features.md
- Create docs/features.md with full Features documentation
- Update README.md with compact summary and link to docs
- Update README.ja.md with localized compact summary
- Update README.zh-cn.md with localized compact summary
- Remove 831 lines of duplicated content across READMEs
2026-01-19 14:58:13 +09:00
github-actions[bot]
c0ed3006c0
@gilbrotheraway has signed the CLA in code-yeongyu/oh-my-opencode#908 2026-01-19 05:19:51 +00:00
justsisyphus
8cad7ccf91 refactor(agents): remove unused createSisyphusJuniorAgent function
Remove dead code that was never called anywhere in the codebase. Also removes the unused CategoryConfig import.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-19 10:57:31 +09:00
justsisyphus
c6fb0c701b fix(types): add null checks for optional sessionID and startedAt fields 2026-01-19 10:35:47 +09:00
justsisyphus
ebaab5aa60 test(background-agent): add non-blocking queue tests 2026-01-19 10:27:50 +09:00
justsisyphus
92942a562f feat(ui): show pending/queued status in toast and background_output 2026-01-19 10:22:34 +09:00
justsisyphus
9710e10aca fix(background-agent): use queuedAt for pending task TTL 2026-01-19 10:19:48 +09:00
justsisyphus
d6723a7d11 feat(background-agent): support cancelling pending tasks 2026-01-19 10:18:10 +09:00
justsisyphus
933c0c99c5 fix(background-agent): track pending tasks in pendingByParent 2026-01-19 10:16:02 +09:00
justsisyphus
54f448583c feat(background-agent): implement per-key queue processor 2026-01-19 10:16:02 +09:00
justsisyphus
481770e599 feat(background-agent): make launch() non-blocking 2026-01-19 10:16:02 +09:00
justsisyphus
b053df42fb feat(background-agent): add per-key queue structure 2026-01-19 10:16:02 +09:00
justsisyphus
426fb36040 feat(background-agent): add pending status and queuedAt field 2026-01-19 10:16:02 +09:00
github-actions[bot]
fca30546f9
@ikx94 has signed the CLA in code-yeongyu/oh-my-opencode#902 2026-01-18 23:17:47 +00:00
justsisyphus
6a4bac9478 fix(ci): parallelize npm publish to prevent OIDC token expiration
- Publish platform packages in parallel using Promise.all()
- Update README versions to beta.10 (EN, JA, ZH-CN)
2026-01-18 13:12:08 +09:00
github-actions[bot]
31dfef85b8
@G-hoon has signed the CLA in code-yeongyu/oh-my-opencode#879 v3.0.0-beta.10 2026-01-17 15:27:53 +00:00
Kenny
0ce87085db
Merge pull request #870 from qwertystars/fix/mcp-oauth-autodetect
fix(mcp): disable OAuth auto-detection for built-in MCPs
2026-01-17 09:39:03 -05:00
justsisyphus
753fd809b5 refactor(orchestrator): enable parallel delegation by default
Remove overly restrictive parallel execution constraints that were
preventing orchestrator from using background agents effectively.

- Change from 'RARELY NEEDED' to 'DEFAULT behavior'
- Remove 5+ query requirement for background agents
- Remove anti-pattern warnings that discouraged delegation
- Align with sisyphus.ts parallel execution philosophy
2026-01-17 22:04:55 +09:00
justsisyphus
6d99b5c1fc docs: regenerate hierarchical AGENTS.md with deep investigation
- Root: 181 lines with agent models, complexity hotspots, CI pipeline
- Hooks: 31 lifecycle hooks, execution order, patterns
- Tools: 20+ tools, LSP/AST-Grep specifics, registration
- Features: Background agents, Claude Code compat, skill MCP
- Agents: 10 agents with models, tool restrictions
- Shared: 43 utilities with usage patterns
- CLI: Commander.js entry, doctor checks, TUI framework

Generated via /init-deep with 12 parallel explore agents
2026-01-17 22:01:56 +09:00
justsisyphus
255f535a50 refactor(delegate-task): use empty array instead of null for skills parameter
- Change skills type from string[] | null to string[]
- Allow skills=[] for no skills, reject skills=null
- Remove emojis from error messages and prompts
- Update tests accordingly
2026-01-17 21:25:02 +09:00
justsisyphus
2206d68523 fix(momus): constrain reviewer to evaluate documentation, not design direction
Momus was rejecting plans by questioning implementation approaches instead
of reviewing documentation quality. Added explicit constraints:

- ABSOLUTE CONSTRAINT section: reviewer role, not designer
- MUST NOT question architecture/approach choices
- Self-check prompts to detect overstepping
- NOT Valid REJECT Reasons section
- Reinforced throughout: documentation quality vs design decisions
2026-01-17 21:25:02 +09:00
justsisyphus
b643dd4f19
chore: remove 1,152 lines of verified dead code (#874)
* chore(deps): remove unused dependencies

Removed @openauthjs/openauth, hono, open, and xdg-basedir - none are imported in src/

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* chore(cleanup): remove unused agent prompts and tool files

Deleted:
- src/agents/build-prompt.ts (exports never imported)
- src/agents/plan-prompt.ts (exports never imported)
- src/tools/ast-grep/napi.ts (never imported)
- src/tools/interactive-bash/types.ts (never imported)

Verified by: LSP FindReferences + explore agents

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* chore(hooks): remove unused comment-checker filters

Deleted entire filters/ directory:
- filters/bdd.ts
- filters/directive.ts
- filters/docstring.ts
- filters/shebang.ts
- filters/index.ts

Not used by main hook (cli.ts uses external binary instead)

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* chore(hooks): remove unused comment-checker output and constants

Deleted:
- output/formatter.ts
- output/xml-builder.ts
- output/index.ts
- constants.ts

All 0 external imports - migrated to external binary

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* chore(hooks): remove unused pruning subsystem

Deleted pruning subsystem (dependency order):
- pruning-purge-errors.ts
- pruning-storage.ts
- pruning-supersede.ts
- pruning-executor.ts

Not imported by main recovery hook

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* chore(hooks): remove unused createBackgroundCompactionHook export

Removed export from index.ts - never imported in src/index.ts

Verified by: LSP FindReferences (only 2 refs: definition + barrel export)

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

---------

Co-authored-by: justsisyphus <sisyphus-dev-ai@users.noreply.github.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-17 21:12:55 +09:00
qwertystars
0ed1d183d4 fix(mcp): disable OAuth auto-detection for built-in MCPs
OpenCode's OAuth auto-detection was causing context7 and grep_app MCPs
to be disabled despite having enabled: true. Only websearch was working.

Root cause: Remote MCP servers trigger OAuth detection by default in
OpenCode, which can mark MCPs as 'needs_auth' or 'disabled' status
even when they don't require OAuth.

Fix: Add oauth: false to all 3 built-in MCP configs to explicitly
disable OAuth auto-detection. These MCPs either:
- Use no auth (context7, grep_app)
- Use API key header auth (websearch with EXA_API_KEY)
2026-01-17 16:36:23 +05:30
YeonGyu-Kim
d13e8411f0
Add /ulw-loop command for ultrawork mode loop (#867)
* feat(ralph-loop): add ultrawork field to RalphLoopState

* feat(ralph-loop): persist ultrawork field in storage

* feat(ralph-loop): accept ultrawork option in startLoop

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(ralph-loop): prepend ultrawork keyword when mode active

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(ralph-loop): custom toast for ultrawork mode

* feat(ralph-loop): add /ulw-loop command for ultrawork mode

* fix(ralph-loop): add non-null assertion for type safety

* fix(ralph-loop): mirror argument parsing in ulw-loop handler

- Parse quoted prompts and strip flags from task text
- Support --max-iterations and --completion-promise options
- Add default prompt for empty input
- Fixes behavior inconsistency with /ralph-loop

---------

Co-authored-by: justsisyphus <sisyphus-dev-ai@users.noreply.github.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-17 19:56:50 +09:00
justsisyphus
36b665ed89 docs(agents): regenerate hierarchical AGENTS.md with init-deep
- Root AGENTS.md: Updated timestamp, commit hash, line counts
- src/agents/AGENTS.md: Updated to 50 lines, current structure
- src/cli/AGENTS.md: Updated to 57 lines, current structure
- src/features/AGENTS.md: Updated to 65 lines, current structure
- src/hooks/AGENTS.md: Updated to 53 lines, current structure
- src/shared/AGENTS.md: Updated to 52 lines, core utilities
- src/tools/AGENTS.md: Updated to 50 lines, tool categories

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-01-17 19:16:49 +09:00
Nguyen Khac Trung Kien
987ae46841
Merge pull request #868 from code-yeongyu/feat/deepwiki
Add DeepWiki badge to README
2026-01-17 16:42:16 +07:00
Nguyen Khac Trung Kien
74e9834797
Add DeepWiki badge to README 2026-01-17 16:41:49 +07:00
justsisyphus
5657c3aa28 fix(lsp): display diagnostics errors as error blocks in TUI
- Changed lsp_diagnostics error handling to throw errors instead of returning strings
- Line 211: Changed from `return output` to `throw new Error(output)`
- Makes errors display as proper error blocks in TUI

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-17 18:14:50 +09:00
justsisyphus
c433e7397e feat(skill-mcp): add auto-reconnect retry on "Not connected" errors
- Added withOperationRetry<T>() helper method that retries operations up to 3 times
- Catches "Not connected" errors (case-insensitive)
- Cleans up stale client before retry
- Modified callTool, readResource, getPrompt to use retry logic
- Added tests for retry behavior (3 new test cases)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-17 18:14:48 +09:00
justsisyphus
dec35d28a7 fix(ci): make merge-to-master non-fatal when workflow files change v3.0.0-beta.9 2026-01-17 18:05:53 +09:00
justsisyphus
1f493cc921 fix(ci): add workflows permission for pushing to master 2026-01-17 18:05:00 +09:00
justsisyphus
ef7276a46a fix(ci): stash before checkout in merge step 2026-01-17 17:58:54 +09:00
justsisyphus
a2f64e18f3 chore(release): bump platform packages to 3.0.0-beta.9
🤖 Generated with OhMyOpenCode assistance
2026-01-17 17:58:54 +09:00
Jeremy Gollehon
e37493a6db
Merge pull request #846 from LTS2/fix/826-sisyphus-junior-model-override
fix: pass model parameter when resuming background tasks

Ensure resumed tasks maintain their original model configuration
from category settings, preventing unexpected model switching.
2026-01-17 00:52:46 -08:00
justsisyphus
c0be58b2ce Revert "ci: skip platform packages (already published manually)"
This reverts commit beab0155126c1aa4c5d7089937d6d4b3dab4a1a5.
2026-01-17 17:46:16 +09:00
justsisyphus
beab015512 ci: skip platform packages (already published manually) 2026-01-17 17:45:33 +09:00
justsisyphus
638842966f test(background-agent): add stale detection unit tests 2026-01-17 17:43:16 +09:00
justsisyphus
1b6037bbdf feat(background-agent): add stale session detection and auto-interrupt 2026-01-17 17:40:58 +09:00
justsisyphus
360984abec feat(config): add staleTimeoutMs to BackgroundTaskConfig 2026-01-17 17:39:39 +09:00
justsisyphus
9a273a4ad8 fix(test): skip flaky mainSessionID test for now 2026-01-17 17:12:59 +09:00
justsisyphus
b7b5737f9c fix(test): add global preload for session state reset 2026-01-17 17:08:55 +09:00
justsisyphus
fa9bf4590c fix(test): add _resetForTesting to all session state tests 2026-01-17 17:04:40 +09:00
justsisyphus
b4fa31a47a fix(test): add _resetForTesting for proper test isolation 2026-01-17 16:57:31 +09:00
justsisyphus
ec2cf22449 fix(ci): enable platform binaries publishing 2026-01-17 16:48:44 +09:00
justsisyphus
f6d4201d7d fix(test): add nested beforeEach for mainSessionID test isolation
Previous test was setting mainSessionID to 'main-session-123' and the
next test expected undefined. The outer beforeEach wasn't properly
resetting state between tests in the nested describe block.

Adding a nested beforeEach ensures proper test isolation.
2026-01-17 16:47:56 +09:00
Kenny
5cb5dbef42
Merge pull request #863 from sgwannabe/fix/keyword-detector-skip-background-tasks
fix(keyword-detector): skip keyword detection for background task sessions
2026-01-16 21:30:44 -05:00
github-actions[bot]
7d796738a2
@sgwannabe has signed the CLA in code-yeongyu/oh-my-opencode#863 2026-01-17 01:26:09 +00:00