Commit Graph

843 Commits

Author SHA1 Message Date
YeonGyu-Kim 4516b2e484 fix: prioritize Anthropic 1M limits over cached context limits 2026-03-11 20:38:44 +09:00
YeonGyu-Kim 3550305af8 Merge branch 'dev' into fix/issue-2232 2026-03-11 20:20:04 +09:00
YeonGyu-Kim 0e093afb57 refactor: split oversized hook.ts to respect 200 LOC limit
- Extract types to types.ts
- Extract constants to constants.ts
- Extract session ID helpers to session-id.ts
- Extract recovery logic to recovery.ts

hook.ts reduced from 331 to 164 LOC

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 20:16:08 +09:00
YeonGyu-Kim 3a980c53e6 Merge pull request #2366 from code-yeongyu/fix/issue-2338
fix: honor model-specific context limits for non-Anthropic models
2026-03-11 20:06:44 +09:00
YeonGyu-Kim 84cbd256e1 fix(tests): stabilize flaky session-notification test
- Add try/finally for fake timers cleanup

- Restore real timers in beforeEach/afterEach

- Use enforceMainSessionFilter: false for grace period tests

- Prevent timer state pollution between tests
2026-03-11 19:42:46 +09:00
YeonGyu-Kim 09a3c54f85 Restructure background update checker tests
Collapse duplicate no-op scenarios into a state table and assert user-visible update outcomes instead of narrow call plumbing.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 19:42:46 +09:00
YeonGyu-Kim 55aa1c0054 Refine auto-update checker hook tests
Make the hook tests deterministic by replacing repeated fixed waits with a small scheduling helper and shared event trigger paths.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 19:42:45 +09:00
YeonGyu-Kim cbceb3cd0d Preserve ultrawork runtime variants
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 19:42:45 +09:00
YeonGyu-Kim e99e638e45 fix(compaction): validate recovered agent config state
Retry compaction recovery when model or tool state is still incomplete, and treat reasoning or tool-only assistant progress as valid output so no-text tail recovery does not misfire.
2026-03-11 18:23:59 +09:00
YeonGyu-Kim 7de80e6717 fix(context-window-monitor): show actual reminder limits 2026-03-11 18:17:26 +09:00
Jeon Suyeol 07e05764dd Sync cache package.json to opencode.json intent before auto-update bun install 2026-03-11 17:16:58 +09:00
acamq b5c598af2d Revert "fix(auto-update): sync cache package.json to opencode.json intent" 2026-03-10 18:42:37 -06:00
acamq 094bcc8ef2 fix(auto-update): sync cache package.json to opencode.json intent
When users switch opencode.json from pinned version to tag (e.g., 3.10.0 -> @latest),
the cache package.json still contains the pinned version. This causes bun install
to reinstall the old version instead of resolving the new tag.

This adds syncCachePackageJsonToIntent() which updates the cache package.json
to match the user's declared intent in opencode.json before running bun install.

Also fixes mock.module in test files to include all exported constants,
preventing module pollution across parallel tests.
2026-03-10 16:15:15 -06:00
YeonGyu-Kim a2fd6d77bd docs: update all GitHub URLs from oh-my-opencode to oh-my-openagent
The GitHub repository was renamed from oh-my-opencode to oh-my-openagent,
but all documentation, scripts, and source code references still pointed
to the old repository name. This caused confusion for users who saw
'oh-my-opencode' in docs but a different repo name on GitHub.

Updated all references across:
- README files (en, ko, ja, zh-cn, ru)
- CONTRIBUTING.md
- docs/ (installation, overview, configuration, etc.)
- Source code (schema URLs, GitHub API calls, issue links)
- Test snapshots

The npm package name remains 'oh-my-opencode' (unchanged).

Fixes: https://x.com/Dhruv14588676/status/2031216617762468348
2026-03-10 15:18:16 +09:00
YeonGyu-Kim ea61856021 Fix session notification scheduler notification check
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-09 23:37:12 +09:00
YeonGyu-Kim 39cbe11432 Merge pull request #2302 from RaviTharuma/fix/runtime-fallback-cooldown-session-status
Fix cooldown fallback switching across runtime/model fallback hooks
2026-03-09 13:38:46 +09:00
Ravi Tharuma c598afa521 Address PR review follow-ups for retry status handling 2026-03-09 12:43:30 +09:00
Ravi Tharuma 38c925697b Respect per-agent fallback chains in runtime fallback 2026-03-09 12:43:01 +09:00
Ravi Tharuma 4300f60aaf Detect runtime retry signals from assistant text parts 2026-03-09 12:43:01 +09:00
Ravi Tharuma eab5be666d Fix cooldown fallback switching across model/runtime fallback hooks 2026-03-09 12:43:01 +09:00
YeonGyu-Kim 53337ad68f fix(atlas): append idle subagent sessions to active boulder
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-03-09 12:37:21 +09:00
YeonGyu-Kim c9402b96fc fix(claude-code-hooks): compact transcript tool results for diff-heavy metadata
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-09 11:28:04 +09:00
acamq c09ff7a72c Merge pull request #2390 from acamq/fix/think-variant-switcher
fix(think-mode): remove modelID modification, only set variant
2026-03-08 20:01:36 -06:00
YeonGyu-Kim d553bb75a4 Allow registered atlas boulder sessions to continue on idle
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-03-09 10:45:12 +09:00
acamq c4112f80db fix(auto-updater): handle bun.lockb and add workspace validation
- Support binary bun.lockb format by deleting entire file (cannot parse)
- Add workspace check: verify package.json exists before bun install
- Quote paths in error messages for Windows/paths with spaces
2026-03-08 09:15:13 -06:00
acamq 05a5c010ab docs(think-mode): document getHighVariant deprecation
Add deprecation notice explaining that getHighVariant() is no longer
used by the hook. Function is kept for backward compatibility and
potential future validation use.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-08 09:13:07 -06:00
acamq ccd4dceaf2 fix(think-mode): remove overly broad Korean keyword
Remove '고민' from MULTILINGUAL_KEYWORDS as it triggers false
positives in everyday Korean speech. The keyword '생각' (thinking)
remains for intentional think-mode activation.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-08 09:12:29 -06:00
acamq 89a4d22354 test(think-mode): update tests for variant-only behavior
Update test assertions to verify hook only sets output.message.variant
and no longer modifies output.message.model.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-08 09:12:13 -06:00
acamq 96a80bb09b fix(think-mode): remove modelID modification, only set variant
The hook was incorrectly setting output.message.model.modelID to non-existent
variants like gpt-5-nano-high, causing ProviderModelNotFoundError.

OpenCode's native variant system only needs the variant field - it handles
the transformation automatically.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-08 09:12:01 -06:00
acamq f89cc969ec test(auto-update-checker): stabilize cache invalidation module isolation
Mock constants directly in cache.test to avoid transitive module-cache reuse when importing cache.ts. This removes Date.now query cache-busting and makes the test deterministic across runs.
2026-03-07 16:13:51 -07:00
acamq 9a44e29509 Merge upstream/dev into fix/auto-updater-paths 2026-03-07 16:01:28 -07:00
acamq a7d5e683c7 fix(auto-update-checker): use OpenCode cache paths for updates
Align version lookup, invalidation, and bun install with OpenCode's cache directory so updates target the loaded plugin location. Keep dependency declarations intact during invalidation so auto-update can reinstall instead of converging to uninstall.
2026-03-07 15:56:21 -07:00
acamq ba6fc35abd Merge pull request #2376 from acamq/fix/idle-notification-grace-period
fix(session-notification): add grace period to prevent late events from cancelling idle notifications
2026-03-07 14:46:25 -07:00
CrazyRabbit 4e352f9caf fix(session-notification): add grace period to prevent late events from cancelling idle notifications 2026-03-07 14:07:08 -07:00
acamq ab5a713d2d Merge pull request #2291 from SeeYouCowboi/fix/cache-dir-invalidation-stale-version
fix: also invalidate plugin from CACHE_DIR in invalidatePackage
2026-03-07 13:10:15 -07:00
YeonGyu-Kim b7170b2de5 fix(compaction): recover checkpointed agent config after compaction
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-08 02:23:22 +09:00
YeonGyu-Kim 67a30cd15f fix(compaction): resolve prompt config from recent session context
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-08 02:23:16 +09:00
YeonGyu-Kim b5e222b792 fix(tool-output-truncator): accept model context limit cache state
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-08 02:10:56 +09:00
YeonGyu-Kim 17707ee835 fix(context-window-monitor): use model-specific context limits
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-08 02:10:40 +09:00
YeonGyu-Kim 60bc9a7609 feat(model-requirements): add k2p5, kimi-k2.5, gpt-5.4 medium to Sisyphus fallback chain
Sisyphus can now fall back through Kimi and OpenAI models when Claude
is unavailable, enabling OpenAI-only users to use Sisyphus directly
instead of being redirected to Hephaestus.

Runtime chain: claude-opus-4-6 max → k2p5 → kimi-k2.5 → gpt-5.4 medium → glm-5 → big-pickle
CLI chain: claude-opus-4-6 max → k2p5 → gpt-5.4 medium → glm-5
2026-03-08 01:41:45 +09:00
YeonGyu-Kim bf8d0ffcc0 fix(atlas): enforce checkbox completion before next task
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-03-08 01:41:45 +09:00
YeonGyu-Kim b3ef86c574 fix(atlas): skip compaction in last-agent recovery
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-07 15:39:25 +09:00
YeonGyu-Kim 8ec2c44615 fix(ulw-loop): retry parent session after failed verification
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-07 05:46:05 +09:00
YeonGyu-Kim fade6740ae chore: update GPT-5.2 references to GPT-5.4
Align runtime defaults, tests, docs, and generated artifacts with the newer GPT-5.4 baseline. Keep think-mode and prompt-routing expectations consistent after the model version bump.
2026-03-07 05:46:05 +09:00
YeonGyu-Kim 898b628d3d fix(ulw-loop): track Oracle verification sessions explicitly
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-03-06 22:37:41 +09:00
YeonGyu-Kim 9778cc6c98 feat(ultrawork): enforce manual QA execution and acceptance criteria workflow
Add MANUAL_QA_MANDATE sections to all three ultrawork prompts (default,
GPT, Gemini). Agents must now define acceptance criteria in TODO/Task items
before implementation, then execute manual QA themselves after completing
work. lsp_diagnostics alone is explicitly called out as insufficient since
it only catches type errors, not functional bugs.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-06 22:33:42 +09:00
YeonGyu-Kim c17f7215f2 test(ulw-loop): cover Oracle verification flow
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-06 22:00:21 +09:00
YeonGyu-Kim a010de1db2 feat(ulw-loop): require Oracle verification before completion
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-06 22:00:14 +09:00
YeonGyu-Kim 23dcd99c9a docs(agents): refresh generated AGENTS guides
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-03-06 17:59:05 +09:00
YeonGyu-Kim 7fe44024c0 feat(no-sisyphus-gpt): allow Sisyphus with GPT-5.4 model
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-06 17:35:31 +09:00