Commit Graph

3670 Commits

Author SHA1 Message Date
YeonGyu-Kim
a00bb8b6a7 feat(skill): integrate /get-unpublished-changes and /review-work into pre-publish-review
Phase 0 now runs /get-unpublished-changes as single source of truth
instead of manual bash commands. Phase 1 uses its output for grouping.
Layer 2 explicitly references /review-work skill flow.

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-03-14 12:45:58 +09:00
github-actions[bot]
b5789bf449 @vidwade has signed the CLA in code-yeongyu/oh-my-openagent#2561 2026-03-14 02:32:16 +00:00
github-actions[bot]
6625670079 @Yeachan-Heo has signed the CLA in code-yeongyu/oh-my-openagent#2554 2026-03-13 06:41:04 +00:00
YeonGyu-Kim
f3de122147 feat(hooks): add delegate-task-english-directive hook to enforce English for subagents
Appends bold uppercase English-only directive to explore, librarian,
oracle, and plan subagent prompts via tool.execute.before on the task tool.
2026-03-13 14:22:13 +09:00
YeonGyu-Kim
0303488906 Merge pull request #2550 from code-yeongyu/fix/deploy-blockers
fix: resolve all deployment blockers from v3.11.2→HEAD release review
2026-03-13 14:21:45 +09:00
YeonGyu-Kim
3e746c9a56 fix(review): resolve 3 review-work blocking issues 2026-03-13 14:09:36 +09:00
YeonGyu-Kim
786c7a84d0 fix(background-agent): prevent queue item loss on concurrent cancel and guard against cancelled task resurrection 2026-03-13 13:12:59 +09:00
YeonGyu-Kim
380889caa3 fix(delegate-task): add exception fallback for cleanup reason and correct test mock status type 2026-03-13 13:08:50 +09:00
YeonGyu-Kim
04b0c6f33c fix(atlas): pause after final verification wave for explicit user approval 2026-03-13 12:43:33 +09:00
YeonGyu-Kim
fd71c89b95 fix(background-agent): release descendant quota on pre-start task cancellation and creation failure 2026-03-13 12:37:33 +09:00
YeonGyu-Kim
11df83713e refactor(preemptive-compaction): use shared context-limit resolver to eliminate duplicated logic 2026-03-13 12:36:07 +09:00
YeonGyu-Kim
457f303adf fix(background-agent): clean global subagentSessions and SessionCategoryRegistry on dispose 2026-03-13 10:56:44 +09:00
YeonGyu-Kim
0015dd88af fix(agent-config): normalize agent names before builtin override filtering to prevent alias bypass 2026-03-13 10:55:51 +09:00
YeonGyu-Kim
9bce6314b1 fix(runtime-fallback): scope visible-assistant check to current turn and cleanup retry dedupe keys 2026-03-13 10:54:47 +09:00
YeonGyu-Kim
cbe113ebab fix(slashcommand): support parent config dirs in command execution path to match discovery 2026-03-13 10:54:15 +09:00
YeonGyu-Kim
e3f6c12347 fix(atlas): restrict idle-event session append to boulder-owned subagent sessions only 2026-03-13 10:53:45 +09:00
YeonGyu-Kim
b356c50285 fix(delegate-task): cancel child background tasks on parent abort and timeout in unstable agent flow 2026-03-13 10:49:44 +09:00
YeonGyu-Kim
38938508fa test(model-fallback): update snapshots and kimi model expectations for opencode-go integration 2026-03-13 10:48:05 +09:00
YeonGyu-Kim
2c8a8eb4f1 fix(gpt-permission-continuation): add per-session consecutive auto-continue cap to prevent infinite loops 2026-03-13 10:48:00 +09:00
github-actions[bot]
825e854cff @cpkt9762 has signed the CLA in code-yeongyu/oh-my-openagent#2539 2026-03-12 20:17:38 +00:00
github-actions[bot]
4226808432 @Gujiassh has signed the CLA in code-yeongyu/oh-my-openagent#2524 2026-03-12 16:36:59 +00:00
github-actions[bot]
0412e40780 @ricatix has signed the CLA in code-yeongyu/oh-my-openagent#2532 2026-03-12 15:23:10 +00:00
github-actions[bot]
18cbaadb52 @xodn348 has signed the CLA in code-yeongyu/oh-my-openagent#2531 2026-03-12 15:14:20 +00:00
github-actions[bot]
27538dcfe6 @apple-ouyang has signed the CLA in code-yeongyu/oh-my-openagent#2528 2026-03-12 14:39:21 +00:00
YeonGyu-Kim
e4e5f159f9 fix(tmux): wrap opencode attach commands in zsh -c shell
🤖 Generated with assistance of OhMyOpenCode
2026-03-12 20:12:38 +09:00
YeonGyu-Kim
4f4e53b436 feat(skill): re-read skills and commands from disk on every invocation
Removes in-memory caching so newly created skills mid-session are
immediately available via skill(). Clears the module-level skill cache
before each getAllSkills() call. Pre-provided skills from options are
merged as fallbacks for test compatibility.
2026-03-12 20:03:58 +09:00
YeonGyu-Kim
55b80fb7cd fix(skill-loader): discover skills from parent config dir when using profiles
OPENCODE_CONFIG_DIR pointing to profiles/ subdirectory caused skills at
~/.config/opencode/skills/ to be invisible. Added getOpenCodeSkillDirs()
with the same parent-dir fallback that getOpenCodeCommandDirs() uses.
2026-03-12 19:53:30 +09:00
YeonGyu-Kim
c85b6adb7d chore: gitignore platform binary sourcemaps and untrack existing ones 2026-03-12 19:53:20 +09:00
YeonGyu-Kim
a400adae97 feat(skill): render skills as slash commands in available items list
Skills now appear as <command> items with / prefix (e.g., /review-work)
instead of <skill> items, making them discoverable alongside regular
slash commands in the skill tool description.
2026-03-12 18:53:44 +09:00
YeonGyu-Kim
50638cf783 test(hooks): fix test isolation in session-notification-sender tests
Use namespace import pattern (import * as sender) to prevent cross-file
spy leakage in Bun's shared module state. Move restoreAllMocks to
beforeEach for proper cleanup ordering.

🤖 Generated with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) assistance
2026-03-12 18:37:10 +09:00
YeonGyu-Kim
8e3829f63a test(auto-slash-command): add tests for skills as slash commands 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
b4e01e9987 feat(slashcommand): support parent opencode config dirs for command discovery 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
8c2385fe31 feat(hooks): add quiet and nothrow to notification shell executions 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
c3ab066335 feat(shared): export opencode-command-dirs module 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
7937f9d777 feat(shared): add opencode-command-dirs utility for multi-level command discovery 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
53c65a7e63 feat(cli): add sisyphus-junior model fallback requirements
Add CLI_AGENT_MODEL_REQUIREMENTS entry for sisyphus-junior with
fallback chain: claude-sonnet-4-6 -> kimi-k2.5 -> big-pickle.

🤖 Generated with assistance of OhMyOpenCode
2026-03-12 18:19:06 +09:00
YeonGyu-Kim
8f6b952dc0 feat(prometheus): require explicit user approval in Final Verification Wave
Add mandatory explicit user okay before completing work in Final
Verification Wave. Present consolidated results and wait for user
confirmation before marking tasks complete.

🤖 Generated with assistance of OhMyOpenCode
2026-03-12 18:19:06 +09:00
YeonGyu-Kim
e0bf0eb7cf docs: add opencode-go provider tier documentation 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
a9fde452ac feat(opencode-go): update on-complete hook for provider display 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
338379941d feat(opencode-go): integrate into model fallback chain resolution 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
44d602b7e5 feat(opencode-go): integrate installer with config detection 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
66ec9f58ee feat(opencode-go): add CLI install flag and TUI prompts 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
89d1e105a8 feat(opencode-go): add model requirements for go-tier models 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
504b68f2ac feat(opencode-go): add provider type and availability detection 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
2bbbdc4ca9 refactor(github-triage): rewrite as read-only report-based analyzer 2026-03-12 18:19:06 +09:00
YeonGyu-Kim
ca7c0e391e fix(bun-install): default outputMode to "pipe" to prevent TUI stdout leak
runBunInstallWithDetails() defaulted to outputMode:"inherit", causing
bun install stdout/stderr to leak into the TUI when callers omitted the
option. Changed default to "pipe" so output is captured silently.

Also fixed stale mock in background-update-check.test.ts: the test was
mocking runBunInstall (unused) instead of runBunInstallWithDetails, and
returning boolean instead of BunInstallResult.
2026-03-12 18:19:06 +09:00
YeonGyu-Kim
81301a6071 feat: skip model resolution for delegated tasks when provider cache not yet created
Before provider cache exists (first run), resolveModelForDelegateTask now
returns undefined instead of guessing a model. This lets OpenCode use its
system default model when no model is specified in the prompt body.

User-specified model overrides still take priority regardless of cache state.
2026-03-12 18:19:06 +09:00
YeonGyu-Kim
62883d753f Merge pull request #2519 from code-yeongyu/fix/ultrawork-variant-no-max-override
fix: skip ultrawork variant override without SDK validation + add porcelain worktree parser
2026-03-12 17:27:57 +09:00
YeonGyu-Kim
c9d30f8be3 feat: add porcelain worktree parser with listWorktrees and parseWorktreeListPorcelain
Introduce git worktree list --porcelain parsing following upstream opencode patterns. Exports listWorktrees() for full worktree enumeration with branch info alongside existing detectWorktreePath().

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 17:25:10 +09:00
YeonGyu-Kim
2210997c89 fix: skip ultrawork variant override when SDK validation unavailable
When provider.list is not available for SDK validation, do not apply the configured ultrawork variant. This prevents models without a max variant from being incorrectly forced to max when ultrawork mode activates.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 17:24:54 +09:00