YeonGyu-Kim
1339ecdd13
fix(hashline): restore v3.11.2 legacy hash computation for backward compatibility
...
🤖 Generated with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-openagent )
2026-03-16 14:15:36 +09:00
YeonGyu-Kim
e87075b9a4
fix(background-task): restore opt-in full session output
...
Bring background_output back to the legacy contract so callers only get full session transcripts when they explicitly ask for them.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-16 10:38:55 +09:00
YeonGyu-Kim
bbd2e86499
fix(hashline): accept legacy hashes for indented anchors
...
Keep persisted LINE#ID anchors working after strict whitespace hashing by falling back to the legacy hash for validation-only lookups.
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-16 10:38:54 +09:00
acamq
f248c73478
Merge pull request #2507 from MoerAI/fix/issue-2287-unstable-agent-check
...
fix(delegate-task): only check resolved model for isUnstableAgent, not category default
2026-03-15 15:34:57 -06: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
457f303adf
fix(background-agent): clean global subagentSessions and SessionCategoryRegistry on dispose
2026-03-13 10:56:44 +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
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
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
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
b4e01e9987
feat(slashcommand): support parent opencode config dirs for command discovery
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
0cbc15da96
fix(hashline): use strict whitespace hashing (trimEnd only, preserve leading indentation)
...
Previously computeLineHash stripped ALL whitespace before hashing, making
indentation changes invisible to hash validation. This weakened the stale-line
detection guarantee, especially for indentation-sensitive files (Python, YAML).
Now only trailing whitespace and carriage returns are stripped, matching
oh-my-pi upstream behavior. Leading indentation is preserved in the hash,
so indentation-only changes correctly trigger hash mismatches.
2026-03-12 16:42:41 +09:00
YeonGyu-Kim
ba86ef0eea
fix: enable runtime fallback for delegated child sessions ( #2357 )
2026-03-12 13:39:04 +09:00
MoerAI
eb79d29696
fix(delegate-task): only check resolved model for isUnstableAgent, not default ( #2287 )
2026-03-12 12:48:29 +09:00
YeonGyu-Kim
0cdbd15f74
Merge pull request #2487 from code-yeongyu/fix/issue-2431-lsp-path-resolution
...
fix: unify LSP server PATH resolution between detection and spawn
2026-03-12 11:24:41 +09:00
YeonGyu-Kim
6014f03ed2
fix: address Cubic finding for LSP server npm bin path
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 11:04:43 +09:00
YeonGyu-Kim
d83f875740
fix(call-omo-agent): track reused sync sessions
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 11:04:20 +09:00
YeonGyu-Kim
7997606892
fix(call-omo-agent): preserve reused session tracking
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 02:24:22 +09:00
YeonGyu-Kim
9d0b56d375
fix: unify LSP server PATH resolution between detection and spawn ( #2431 )
2026-03-12 01:44:06 +09:00
YeonGyu-Kim
f342dcfa12
fix(call-omo-agent): add finally cleanup for sync executor session Sets
...
Sync call_omo_agent leaked entries in global activeSessionMessages
and activeSessionToolResults Sets when execution threw errors,
since cleanup only ran on success path.
- Wrap session Set operations in try/finally blocks
- Ensure Set.delete() runs regardless of success/failure
- Add guard against double-cleanup
Tests: 2 pass, 14 expects
2026-03-12 01:37:02 +09:00
YeonGyu-Kim
e26088ba8f
Merge pull request #2481 from code-yeongyu/fix/issue-2185-lsp-notification-params
...
fix: use rest params in LSP sendNotification to avoid undefined serialization
2026-03-12 01:34:29 +09:00
YeonGyu-Kim
ef2017833d
Merge pull request #2425 from MoerAI/fix/issue-2408-gemini-vertex-edit-schema
...
fix(hashline-edit): remove array type from lines union to fix Gemini Vertex schema validation
2026-03-12 01:32:37 +09:00
YeonGyu-Kim
f5be99f911
Merge pull request #2420 from MoerAI/fix/issue-2375-run-in-background-default
...
fix(delegate-task): default run_in_background to false when orchestrator intent is detected
2026-03-12 01:32:31 +09:00
YeonGyu-Kim
182fe746fc
Merge pull request #2476 from code-yeongyu/fix/issue-2441-session-id-pending
...
fix: omit sessionId from metadata when not yet assigned
2026-03-12 01:32:30 +09:00
YeonGyu-Kim
08b411fc3b
fix: use rest params in LSP sendNotification to avoid undefined serialization ( #2185 )
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 01:24:42 +09:00
YeonGyu-Kim
6d5175b9b0
fix(delegate-task): extend default sync poll timeout to 30 minutes
...
Keep synchronous subagent runs from timing out after 10 minutes when no explicit override is configured.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 01:14:26 +09:00
YeonGyu-Kim
f2a7d227cb
fix: omit sessionId from metadata when not yet assigned ( #2441 )
2026-03-12 01:02:12 +09:00
YeonGyu-Kim
39e799c596
docs: sync category model defaults
...
Update the public and internal docs to describe the new ultrabrain and unspecified-high defaults so the documented routing matches runtime behavior.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 01:00:41 +09:00
YeonGyu-Kim
7c29962014
fix(delegate-task): refresh built-in category defaults
...
Keep delegate-task category defaults in sync with the new routing policy so ultrabrain and unspecified-high resolve to the intended primary models.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 01:00:41 +09:00
YeonGyu-Kim
f1b5b1023f
fix: tighten Anthropic provider matching and fix look-at test isolation
...
- Replace overly broad .includes('anthropic') with exact provider ID
matching against known Anthropic providers (anthropic, google-vertex-
anthropic, aws-bedrock-anthropic) in context-limit-resolver
- Add afterEach cleanup for vision-capable-models cache in look-at
tool tests to prevent cross-test state leakage
2026-03-12 00:31:02 +09:00
YeonGyu-Kim
a668860b86
fix: adjust vision capability check to not block when no model resolved
...
- Only block when a resolved model is explicitly not vision-capable
- Set up vision cache in model passthrough test for proper isolation
2026-03-11 21:56:19 +09:00
YeonGyu-Kim
85151f7dfd
fix(look-at): preserve variant metadata in fallback chain and block non-vision models
...
- fallback-chain.ts: cache-derived entries inherit variant from matching hardcoded entries
- agent-metadata.ts: new isVisionCapableAgentModel() guard blocks non-vision registered models
- tools.ts: early vision-capability check before session creation
- Added regression tests for variant preservation and non-vision model rejection
2026-03-11 21:45:49 +09:00
YeonGyu-Kim
a179ebe0b9
Count sync subagent spawns against descendant limits
2026-03-11 20:50:11 +09:00
YeonGyu-Kim
4a39c83eb5
Limit recursive subagent spawning
2026-03-11 20:50:10 +09:00
YeonGyu-Kim
661def7f51
Merge pull request #2371 from code-yeongyu/fix/issue-2323
...
fix: respect multimodal provider vision capabilities
2026-03-11 20:22:35 +09:00
YeonGyu-Kim
adc927f422
Merge pull request #2448 from code-yeongyu/fix/subagent-self-execute-v2
...
fix: prevent agents from duplicating delegated subagent work
2026-03-11 20:19:47 +09:00
YeonGyu-Kim
e513f663be
fix: rename test file to .ts extension
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-11 20:16:16 +09:00
YeonGyu-Kim
413e8b73b7
Add session permission support to background agents for denying questions
...
Implements question-denied session permission rules when creating child
sessions via background task delegation. This prevents subagents from
asking questions by passing explicit permission configuration during
session creation.
🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
2026-03-11 19:42:46 +09:00
YeonGyu-Kim
339ece93f6
Strengthen sync executor test coverage
...
Cover metadata output and prompt failure branches so the sync executor is verified by its returned contract, not only tool flag 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
f28ee0e21a
fix(background-task): default background_output to full session
2026-03-11 18:17:49 +09:00
YeonGyu-Kim
e4fd29ac8b
fix: prevent agents from duplicating delegated subagent work
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-11 17:42:42 +09:00
YeonGyu-Kim
e2cf9c677c
Align ast-grep fallback downloader version
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-11 15:48:42 +09:00
MoerAI
204322b120
fix(hashline-edit): remove array type from lines union to fix Gemini Vertex schema validation ( #2408 )
2026-03-10 17:18:14 +09:00
MoerAI
49b7e695ce
fix(delegate-task): default run_in_background to false when orchestrator intent is detected ( #2375 )
2026-03-10 16:57:47 +09:00
ismeth
2836919954
Abort sync sessions on timeout and parent abort
2026-03-09 18:55:12 +01:00
YeonGyu-Kim
7d1607dc16
fix: align sync fallback chain, fix model-fallback test determinism
...
- Hoist resolveFallbackChainForCallOmoAgent before sync/background branch
so sync executor also receives the fallback chain
- Add fallbackChain parameter to sync-executor with setSessionFallbackChain
- Mock connected-providers-cache in event.model-fallback tests for
deterministic behavior (no dependency on local cache files)
- Update test expectations to account for no-op fallback skip when
normalized current model matches first fallback entry
- Add cache spy isolation for subagent-resolver fallback_models tests
2026-03-09 13:11:03 +09:00
Ravi Tharuma
86c6bc7716
Unify dynamic fallback chains for background subagents
2026-03-09 12:43:30 +09:00
YeonGyu-Kim
dc23e63fa6
test(lsp): avoid leaking directory diagnostics mocks across tests
2026-03-09 11:16:38 +09:00
YeonGyu-Kim
f78d811f84
fix(lsp): include file paths in directory diagnostics output
2026-03-09 11:09:13 +09:00