Commit Graph

6911 Commits

Author SHA1 Message Date
YeonGyu-Kim f70d9644c5 Merge pull request #4531 from code-yeongyu/debug/subagent-calling-dev
fix(builtin-skills): document Codex tool mapping
2026-05-27 00:37:02 +09:00
YeonGyu-Kim 9a9ff8674e fix(builtin-skills): document Codex tool mapping 2026-05-27 00:34:37 +09:00
github-actions[bot] e8f8ce9ccb @sigvardt has signed the CLA in code-yeongyu/oh-my-openagent#4529 2026-05-26 14:48:36 +00:00
github-actions[bot] 36e69f8b3c release: v4.5.1 2026-05-26 10:08:16 +00:00
YeonGyu-Kim f9bbe0517b fix(team-mode): fix lifecycle-test-fixture ask type + update bun.lock 2026-05-26 18:51:25 +09:00
YeonGyu-Kim b03d8de34a chore: update lockfile after #4469 merge 2026-05-26 18:47:32 +09:00
YeonGyu-Kim 03396344f9 Merge pull request #4469 from SoShymKing/add-support-tool-result
Add support for OpenCode 1.15 DB
2026-05-26 18:45:21 +09:00
github-actions[bot] d7b4072a90 release: v4.5.0 2026-05-26 07:54:27 +00:00
YeonGyu-Kim 52ba1257b6 Merge branch 'fix/pre-publish-blockers-v4.5.0'
Pre-publish blockers for v4.5.0:
- fix(runtime-fallback): gate retryable signal on status-code allowlist (f05e0cbe9)
- fix(parent-wake): bound assistant-text defer to escape stuck sessions (69c955f61)
- fix(ralph-loop): time-bound oracle dispatch wait to prevent stall (14b3523af)
- test(dist-bundle): assert inlined prompt content survives bundling (3e0a975d1)
- fix(package): block internal-only assets from publish payload (8e28e29c2)

Verified via publish-debate-vortex hyperultradebate (6 hostile agents, 3 rounds).
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-26 16:44:50 +09:00
YeonGyu-Kim 8e28e29c26 fix(package): block internal-only assets from publish payload
Validator finding #12 from the publish-debate-vortex hyperultradebate flagged that internal-only skill and command assets could leak into the npm payload once the dot asset roots are included.

Bun 1.3.x ignores a root .npmignore for directories listed in package.json#files, so the exclusion rules live in nested .npmignore files co-located with each published command and skill directory.

RED before nested ignores: bun test script/package-layout-exclusion.test.ts failed with expect(received).toEqual(expected), receiving .opencode/skills/__internal-fake-do-not-ship-test-artifact/SKILL.md, .agents/skills/__internal-fake-do-not-ship-test-artifact/SKILL.md, .opencode/command/__internal-fake-do-not-ship-test-artifact.md, and .agents/command/__internal-fake-do-not-ship-test-artifact.md instead of [].

GREEN after nested ignores: bun test script/package-layout-exclusion.test.ts reported 2 pass, 0 fail, 5 expect() calls.

This is the exclusion companion to script/package-layout.test.ts, the inclusion test arriving through the dev merge.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-26 16:29:47 +09:00
github-actions[bot] 5c0cc0de34 @Hungdoan565 has signed the CLA in code-yeongyu/oh-my-openagent#4492 2026-05-26 05:45:28 +00:00
YeonGyu-Kim ec552bcf34 fix(ralph-loop): stop loop when latest assistant turn made no model progress
Add no-progress turn detector that inspects the most recent assistant
message: if finish is 'unknown', all token counts are zero, and there
is no meaningful content beyond step-start/step-finish markers, the
turn is classified as no-progress.

Integrate the check at all three idle/completion/error continuation
points in the event handler so the loop stops cleanly with a warning
toast instead of injecting another internal prompt.
2026-05-26 14:28:35 +09:00
YeonGyu-Kim 9810bad3e5 docs(publish-skill): pin Jobdori bot ID in Discord release commands
Pass explicit --bot flag with JOBDORI_BOT_ID so release announcements
always go out as the Jobdori bot regardless of local agent-discordbot
current-bot state.
2026-05-26 14:28:22 +09:00
github-actions[bot] 91aa9154b2 @fcmfcm01 has signed the CLA in code-yeongyu/oh-my-openagent#4482 2026-05-25 21:49:12 +00:00
YeonGyu-Kim be2ed2b248 Merge pull request #4479 from code-yeongyu/fix-4470-momus-cancels-main
fix(background-agent): isolate subagent wake failures (#4470)
2026-05-26 01:53:22 +09:00
YeonGyu-Kim 3b421c6ed3 fix(background-agent): isolate dispatched parent wake failures
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-26 01:42:56 +09:00
YeonGyu-Kim b03e08b474 Merge pull request #4478 from code-yeongyu/fix-4164-bg-reminder-timing
fix(parent-wake-notifier): deliver background completion reminders during active parent turn (#4164)
2026-05-26 01:42:33 +09:00
YeonGyu-Kim e1fde719d8 Merge pull request #4477 from code-yeongyu/fix-4374-dual-thinking-streams
fix(thinking-block-validator): prevent dual thinking streams after question tool response (#4374)
2026-05-26 01:32:12 +09:00
YeonGyu-Kim ec7ce51ea6 fix(background-agent): debounce active parent wake flushes
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-26 01:30:17 +09:00
YeonGyu-Kim 6a561446ec fix(background-agent): deliver completion wakes during active parent turns
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-26 01:30:17 +09:00
YeonGyu-Kim e443e86d61 fix(thinking-block-validator): avoid duplicate thinking prepends
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-26 01:29:23 +09:00
YeonGyu-Kim 037d017af3 Merge pull request #4476 from code-yeongyu/fix-4464-team-leader-wake
fix(team-mode): wake leader session on every member completion message (#4464)
2026-05-26 01:18:53 +09:00
github-actions[bot] 3e099108cc @2wndrhs has signed the CLA in code-yeongyu/oh-my-openagent#4475 2026-05-25 16:18:37 +00:00
YeonGyu-Kim 58025f9ba4 fix(team-mode): wake leaders on unread mailbox messages (#4464)
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-26 00:59:38 +09:00
YeonGyu-Kim 759b566808 Merge pull request #4474 from code-yeongyu/fix-4441-omo-evidence-ignore
chore(repo): untrack .omo/evidence and .omo/notepads per .gitignore (#4441)
2026-05-26 00:52:21 +09:00
YeonGyu-Kim 3e11594883 chore(repo): untrack .omo/evidence and .omo/notepads per .gitignore
These directories are AI-agent workspace artifacts intended to be local-only
per .gitignore rules:

  .omo/*
  !.omo/rules/
  !.omo/rules/**

They were accidentally tracked across several refactor commits. Files remain
on disk; only the index entries are removed. Future writes are now properly
ignored.

Closes #4441
2026-05-26 00:50:07 +09:00
github-actions[bot] dc05074532 @hanakokoizumi has signed the CLA in code-yeongyu/oh-my-openagent#4467 2026-05-25 15:40:24 +00:00
github-actions[bot] 939f2b8b43 @SoShymKing has signed the CLA in code-yeongyu/oh-my-openagent#4469 2026-05-25 11:42:13 +00:00
soshymking aa97341cc9 Add support for OpenCode 1.15 DB 2026-05-25 20:12:22 +09:00
YeonGyu-Kim 03eb9fff57 Merge pull request #4465 from code-yeongyu/fix-4417-atlas-path-and-start-work
fix(atlas): repair task() path crash and start-work agent resolution (#4417)
2026-05-25 17:51:57 +09:00
YeonGyu-Kim 28efc4e81f fix(continuation): resolve registered agent name before dispatching prompt (#4417)
/start-work was unresponsive under Atlas because ralph-loop and todo-continuation-enforcer normalized the inherited agent to a config key (e.g. 'atlas') while OpenCode only accepts the registered display name (e.g. 'Atlas (Plan Executor)'), producing 'Agent not found' on dispatch.

Prefer resolveRegisteredAgentName(agent) and fall back to normalizeAgentForPromptKey only when no registration exists, mirroring the start-work hook's resolution chain.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-25 17:48:32 +09:00
YeonGyu-Kim a5cee76961 fix(prompt-async-gate): retry object-form path on runtime type error (#4417)
Atlas task() with run_in_background=false crashed with 'The "path" property must be of type string, got object' from Node's path.isAbsolute validation upstream of the SDK.

All callers (sync-prompt-sender, boulder-continuation-injector, idle-event, session-route, model-suggestion-retry) already route through dispatchInternalPrompt, so centralizing the compatibility shim in prompt-async-gate.ts covers every Bug 1 site without touching individual hooks.

On TypeError matching the object-path signature, retry once with path collapsed to its id string. Types broaden PromptSessionPath to string | { id }.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-25 17:48:14 +09:00
YeonGyu-Kim c25c3383bd Merge pull request #4454 from code-yeongyu/fix-4448-npm-pack-dot-dirs
fix(package): ship .opencode/ and .agents/ assets for slash-command discovery (#4448)
2026-05-25 17:44:10 +09:00
YeonGyu-Kim 94d9d93212 Merge pull request #4453 from code-yeongyu/fix-4419-atlas-subagent-fallback
fix(background-agent): atlas subagent fallback retry on retryable model errors (#4419)
2026-05-25 17:33:03 +09:00
YeonGyu-Kim 0d0be4352d Merge pull request #4452 from code-yeongyu/fix-4449-tool-execute-after-stall
fix(tool-execute-after): prevent session stall on metadata recovery failure (#4449)
2026-05-25 17:27:54 +09:00
YeonGyu-Kim 9c56bf2273 test(script): typecheck package layout regression
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-25 17:19:33 +09:00
YeonGyu-Kim 72119b3aa3 fix(package): ship dot-directory command assets
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-25 17:18:59 +09:00
YeonGyu-Kim f57532cbdb fix(tool-execute-after): narrow metadata warning tools
Remove non-store tool names from the metadata recovery warning gate so call_omo_agent and dead aliases fail open without warning spam. Keep warnings for tools backed by the recovery store: background_output, edit, and task.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-25 17:17:11 +09:00
YeonGyu-Kim dc845a8808 chore(web): migrate canonical domain to omo.dev
Switch the production worker route and all hardcoded URLs from
ohmyopenagent.com to omo.dev. Six legacy domains (ohmyopenagent.com,
ohmyopencode.org, ulw.dev, ultrawork.ai, ultrawork.dev,
ultrawork.engineer) are configured to permanently (301) redirect to
omo.dev via Cloudflare Page Rules set up out-of-band via flarectl
and the CF API.

- wrangler.toml: bind worker to omo.dev + www.omo.dev only
- middleware.ts: primaryHost to omo.dev, www to apex redirect retained
- layout.tsx: primarySiteUrl + gaTrackedDomain to omo.dev (GA still G-S0QJFKT46Q)
- sitemap.ts, robots.ts: BASE_URL to https://omo.dev
- npm-downloads/route.ts: usage comment URL refreshed
- web-deploy.yml: environment URL to https://omo.dev
- manifesto.md: domain reality-check line lists omo.dev as canonical
- README*.md (5 langs): npm-downloads badge endpoint to omo.dev
2026-05-25 17:15:16 +09:00
YeonGyu-Kim 6551f3893c fix(background-agent): retry Atlas subagents on usage limits
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-25 17:09:52 +09:00
YeonGyu-Kim 767f5a6148 fix(model-core): retry OpenAI usage_limit_reached fallbacks
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-25 17:09:52 +09:00
YeonGyu-Kim 6343feb608 Merge pull request #4450 from code-yeongyu/fix-4447-subagent-task-deny
fix(plugin-handlers): explicit task deny for read-only subagents to prevent UI freeze (#4447)
2026-05-25 17:06:51 +09:00
YeonGyu-Kim 4a68db029d fix(tool-execute-after): gate metadata recovery warnings
Root cause: tool.execute.after attempted metadata recovery for every tool, including built-in tools that never publish recoverable OMO metadata. On Windows this produced repeated recovery warnings across read/bash/glob/grep/todowrite/lsp/apply_patch and amplified stalled-session diagnostics, while metadata-linked tools still needed diagnostic visibility when their linkage was stale.

Limit the warning to tools expected to publish recoverable metadata and keep all other built-in tools fail-open after missing metadata.

Fixes #4449

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-25 17:06:22 +09:00
YeonGyu-Kim 75d1ff4c87 fix(plugin-handlers): deny task for read-only subagents
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-25 16:55:21 +09:00
YeonGyu-Kim 9be97de641 Merge pull request #4435 from code-yeongyu/fix/issue-4429-team-mode-model-override
fix(agents): preserve user model overrides when team_mode enabled
2026-05-25 11:18:18 +09:00
YeonGyu-Kim 9fd52cb609 feat(help): #689 acp help JSON schema
feat(help): #689 acp help JSON schema
2026-05-25 11:13:08 +09:00
YeonGyu-Kim eed88e4181 feat(help): #689 acp help JSON schema 2026-05-25 11:11:52 +09:00
YeonGyu-Kim bab9caa6ce feat(help): #688 sandbox help JSON schema
feat(help): #688 sandbox help JSON schema
2026-05-25 11:11:26 +09:00
YeonGyu-Kim 1fdb88a355 feat(help): #688 sandbox help JSON schema 2026-05-25 11:09:56 +09:00
YeonGyu-Kim 2c6c42f852 feat(help): #687 status help JSON schema
feat(help): #687 status help JSON schema
2026-05-25 11:09:33 +09:00