acamq
2d6be11fa0
test: update ultrabrain model expectations to gpt-5.4
...
The DEFAULT_CATEGORIES ultrabrain model was updated from openai/gpt-5.3-codex
to openai/gpt-5.4 in a previous commit, but test expectations were not updated.
Updated test expectations in:
- src/plugin-handlers/config-handler.test.ts (lines 560, 620)
- src/agents/utils.test.ts (lines 1119, 1232, 1234, 1301, 1303, 1316, 1318)
2026-03-11 15:18:29 -06:00
acamq
5f419b7d9d
Merge pull request #2473 from code-yeongyu/fix/sync-package-json-to-opencode-intent
...
fix(auto-update): sync cache package.json to opencode.json intent
2026-03-11 14:51:49 -06:00
acamq
d08754d1b4
fix(auto-update): pipe bun install output and restore other-deps preservation test
...
background-update-check.ts was using runBunInstall() which defaults to outputMode:"inherit", leaking bun install stdout/stderr into the background session. Reverted to runBunInstallWithDetails({ outputMode: "pipe" }) and explicitly logs result.error on failure.
Restores the accidentally deleted test case asserting that sibling dependencies (e.g. other:"1.0.0") are preserved in package.json after a plugin version sync.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-11 13:28:12 -06:00
acamq
e6e32d345e
fix(auto-update): expand semver regex to support hyphenated prerelease tags
...
The previous pattern `(-[\w.]+)?` used `\w` which excludes hyphens, causing versions like `1.2.3-alpha-1` and `1.2.3-rc-test` to be misclassified as unpinned tags. Updated both plugin-entry.ts and sync-package-json.ts (which share the definition) to the spec-compliant pattern that allows dot-separated identifiers using [0-9A-Za-z-] and optional build metadata.
Also adds String() coercion before .trim() in sync-package-json.ts to guard against a TypeError if the parsed JSON value for currentVersion is non-string at runtime.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-11 13:28:04 -06:00
YeonGyu-Kim
9b792c3224
Merge pull request #2485 from code-yeongyu/fix/issue-2316-tool-after-error-boundary
...
fix: add error boundary around extract/discard hooks in tool-execute-after
2026-03-12 01:46:51 +09:00
YeonGyu-Kim
305389bd7f
fix: add error boundary around extract/discard hooks in tool-execute-after ( #2316 )
2026-03-12 01:41:07 +09:00
YeonGyu-Kim
3822423069
Merge pull request #2482 from code-yeongyu/fix/issue-2407-binary-version-embed
...
fix: sync root package.json version before binary compile
2026-03-12 01:34:33 +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
7998667a86
Merge pull request #2480 from code-yeongyu/fix/issue-2356-preemptive-compaction-limit
...
fix: skip preemptive compaction when model context limit is unknown
2026-03-12 01:34:25 +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
994b9a724b
Merge pull request #2424 from MoerAI/fix/issue-2386-custom-agent-summaries
...
fix(agents): pass custom agent summaries instead of client object to createBuiltinAgents
2026-03-12 01:32:35 +09:00
YeonGyu-Kim
142f8ac7d1
Merge pull request #2422 from MoerAI/fix/issue-2393-model-fallback-defaults
...
fix(model-fallback): enable by default and add missing error patterns for usage limits
2026-03-12 01:32:34 +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
f61ee25282
Merge pull request #2475 from code-yeongyu/fix/issue-2300-compaction-event-dispatch
...
fix: register preemptive-compaction event handler in dispatchToHooks
2026-03-12 01:32:29 +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
26091b2f48
fix: skip preemptive compaction when model context limit is unknown ( #2356 )
2026-03-12 01:24:16 +09:00
YeonGyu-Kim
afe3792ecf
docs(config): correct background task default timeout description
...
Keep the background_task schema comment aligned with the runtime default so timeout guidance stays accurate.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 01:14:43 +09:00
YeonGyu-Kim
aaa54858a3
fix(background-agent): extend default no-progress stale timeout to 30 minutes
...
Give never-updated background tasks a longer default window and keep the default-threshold regression coverage aligned with that behavior.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 01:14:35 +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
f6125c5efa
docs: refresh category model variant references
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 01:08:07 +09:00
YeonGyu-Kim
004f504e6c
fix(agents): keep oracle available on first run without cache
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 01:07:57 +09:00
YeonGyu-Kim
f4f54c2b7f
test(ralph-loop): remove volatile tool result timestamp
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 01:07:50 +09:00
YeonGyu-Kim
b9369d3c89
fix(config): preserve disabled arrays during partial parsing
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 01:07:43 +09:00
YeonGyu-Kim
88568398ac
fix: sync root package.json version before binary compile ( #2407 )
2026-03-12 01:06:30 +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
d2c2e8196b
fix(shared): update category fallback priorities
...
Align ultrabrain with GPT-5.4 xhigh and move unspecified-high to Opus-first fallback order so category routing reflects the new model policy.
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
4a67044cd6
fix: register preemptive-compaction event handler in dispatchToHooks ( #2300 )
2026-03-12 00:55:15 +09:00
YeonGyu-Kim
1c09b9869c
Merge pull request #2474 from code-yeongyu/fix/regression-check-cleanup
...
fix: tighten Anthropic provider matching and fix look-at test isolation
2026-03-12 00:37:25 +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
acamq
c55603782c
fix(auto-update): handle null JSON.parse and restore mocks on test failure
2026-03-11 08:08:30 -06:00
acamq
46a8ad279b
Merge remote-tracking branch 'origin/dev' into fix/sync-package-json-to-opencode-intent
2026-03-11 08:04:16 -06:00
acamq
0764f0e563
fix(auto-update): sync cache package.json to opencode.json intent
...
When users switch from pinned version to tag in opencode.json (e.g.,
3.10.0 -> @latest), the cache package.json still contains the resolved
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 user intent before running bun install. Uses
atomic writes (temp file + rename) with UUID-based temp names for
concurrent safety.
Critical changes:
- Treat all sync errors as abort conditions (file_not_found,
plugin_not_in_deps, parse_error, write_error) to prevent corrupting
a bad cache state further
- Remove dead code (unreachable revert branch for pinned versions)
- Add tests for all error paths and atomic write cleanup
2026-03-11 07:42:08 -06:00
YeonGyu-Kim
5ef391cb72
Merge pull request #2472 from code-yeongyu/fix/stagnation-detection-accuracy
...
fix(todo-continuation): improve stagnation detection accuracy
2026-03-11 22:05:58 +09:00
YeonGyu-Kim
387e83e2fc
Merge pull request #2471 from code-yeongyu/fix/compaction-model-filter
...
fix(compaction): guard model update during compaction
2026-03-11 22:01:53 +09:00
YeonGyu-Kim
d22867db27
fix(todo-continuation): improve stagnation detection accuracy
2026-03-11 21:59:59 +09:00
YeonGyu-Kim
b129cccc83
Merge pull request #2469 from code-yeongyu/fix/multimodal-variant-metadata
...
fix(look-at): preserve variant metadata and block non-vision models
2026-03-11 21:58:51 +09:00
YeonGyu-Kim
7dddf99d9a
Merge pull request #2470 from code-yeongyu/fix/terminal-task-retention-ttl
...
fix(background-agent): add TTL for terminal task retention
2026-03-11 21:57:33 +09:00
YeonGyu-Kim
6272e4321f
Merge pull request #2468 from code-yeongyu/fix/shared-context-limit-resolver
...
fix(shared): extract shared context limit resolver to eliminate drift
2026-03-11 21:57:32 +09:00
YeonGyu-Kim
4956280042
Merge pull request #2467 from code-yeongyu/fix/spawn-sdk-error-fail-closed
...
fix(background-agent): handle SDK error response in spawn lineage lookup
2026-03-11 21:57:30 +09:00
YeonGyu-Kim
f5a792778e
Merge pull request #2466 from code-yeongyu/fix/anti-dup-prometheus-metis
...
fix(agents): add anti-duplication rules to Prometheus and Metis
2026-03-11 21:57:28 +09:00
YeonGyu-Kim
7cca563af8
Merge pull request #2465 from code-yeongyu/fix/tmux-strict-parse
...
fix(tmux): strict integer parsing and isActive validation
2026-03-11 21:57:27 +09:00
YeonGyu-Kim
f7085450f1
fix(compaction): guard model update during compaction and validate checkpoint model
2026-03-11 21:57:06 +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
0d9f001c11
fix(background-agent): add TTL for terminal task retention to prevent unbounded growth
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-11 21:52:48 +09:00
YeonGyu-Kim
ccfb5702ac
fix: correct import path for buildAntiDuplicationSection in metis.ts
2026-03-11 21:48:08 +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
59f0f06e71
fix(shared): extract shared context limit resolver to eliminate monitor/truncator drift
...
- New context-limit-resolver.ts with resolveActualContextLimit() shared helper
- Anthropic provider detection now uses .includes('anthropic') instead of hard-coded IDs
- Both context-window-monitor and dynamic-truncator use the shared resolver
- Added missing test cases: Anthropic+1M disabled+cached limit, non-Anthropic without cache
2026-03-11 21:45:45 +09:00