YeonGyu-Kim
557d66fc4c
Merge pull request #3675 from code-yeongyu/fix/ralph-loop-remove-recovery-window
...
fix(ralph-loop): remove redundant recovery window that stalls loop after errors (fixes #3235 )
2026-04-27 18:53:02 +09:00
YeonGyu-Kim
c2a41a3519
Merge pull request #3674 from code-yeongyu/fix/doctor-parse-multi-slash-model
...
fix(doctor): parse provider/model with indexOf for multi-slash IDs (fixes #3380 )
2026-04-27 18:52:58 +09:00
YeonGyu-Kim
fe428ab02f
Merge pull request #3673 from code-yeongyu/fix/single-task-directive-no-refuse
...
fix(atlas): replace REFUSE language in SINGLE_TASK_DIRECTIVE with execution protocol (fixes #1262 )
2026-04-27 18:52:54 +09:00
YeonGyu-Kim
bde2955f8c
fix(ralph-loop): remove stale error recovery window
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 18:22:53 +09:00
YeonGyu-Kim
69c37e3965
test(ralph-loop): cover non-abort error continuation
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 18:22:53 +09:00
YeonGyu-Kim
e95a37fd3c
fix(doctor): parse multi-slash model IDs
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 18:21:06 +09:00
YeonGyu-Kim
c27d52e2b8
fix(atlas): replace single task refusal directive
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 18:18:40 +09:00
YeonGyu-Kim
2e6b3b7f76
Merge pull request #3669 from code-yeongyu/fix/ralph-loop-zwsp-agent
...
fix(ralph-loop): strip ZWSP from agent name before promptAsync (fixes #3253 )
2026-04-27 18:09:35 +09:00
YeonGyu-Kim
baf3e939f5
Merge pull request #3671 from code-yeongyu/fix/file-reference-env-var-expansion
...
fix(file-reference-resolver): expand $VAR env vars in @path file references (fixes #3476 )
2026-04-27 18:09:30 +09:00
YeonGyu-Kim
1f9d9e3d60
Merge pull request #3672 from code-yeongyu/fix/ralph-loop-bg-task-guard
...
fix(ralph-loop): skip continuation when background tasks are pending (fixes #3526 )
2026-04-27 18:09:29 +09:00
YeonGyu-Kim
ae7cdccbc4
Merge pull request #3670 from code-yeongyu/fix/default-agent-config-key-normalization
...
fix(plugin-handlers): normalize default_agent config key before runtime-name lookup (fixes #3313 )
2026-04-27 18:09:25 +09:00
YeonGyu-Kim
d0dee70f9d
fix(ralph-loop): skip idle continuation during background tasks
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:52:45 +09:00
YeonGyu-Kim
f429e539fa
test(ralph-loop): cover background task idle guard
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:52:45 +09:00
YeonGyu-Kim
a46b7b8240
fix(file-reference-resolver): expand env vars in path references
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:45:27 +09:00
YeonGyu-Kim
9081475ec0
fix(plugin-handlers): normalize default agent runtime lookup
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:44:15 +09:00
YeonGyu-Kim
c92f841688
fix(ralph-loop): normalize continuation agent names
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:40:46 +09:00
YeonGyu-Kim
5e4aa8b827
Merge pull request #3667 from code-yeongyu/fix/dev-browser-provider-gating
...
fix(builtin-skills): treat dev-browser as a selectable browser provider (fixes #3411 )
2026-04-27 17:35:24 +09:00
YeonGyu-Kim
f1d4eb7846
fix(skill-context): filter dev-browser as provider-gated
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:31:07 +09:00
YeonGyu-Kim
0d3eed17a5
fix(builtin-skills): gate dev-browser by provider selection
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:31:07 +09:00
YeonGyu-Kim
a835fefea5
Merge pull request #3665 from code-yeongyu/fix/posthog-arch-cpus-crash
...
fix(posthog): guard os.cpus() against Bun /sys/firmware permissions error (fixes #3496 )
2026-04-27 17:31:00 +09:00
YeonGyu-Kim
ee260fbcc7
Merge pull request #3666 from code-yeongyu/fix/minimax-kimi-thinking-param
...
fix(model-capabilities): mark minimax/non-thinking-kimi as supportsThinking:false (fixes #3590 )
2026-04-27 17:30:45 +09:00
YeonGyu-Kim
194d66826a
Merge pull request #3668 from code-yeongyu/fix/skills-override-resolution
...
fix(agents): resolve skills override into agent prompt post-merge (fixes #3544 )
2026-04-27 17:30:40 +09:00
YeonGyu-Kim
dbf0bb9b4c
test(agents): cover skills override prompt injection
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:18:37 +09:00
YeonGyu-Kim
aeb4419172
fix(agents): resolve skills after agent overrides
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:18:37 +09:00
YeonGyu-Kim
71c29c8fe0
fix(model-capabilities): disable thinking for minimax and non-thinking kimi
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:15:56 +09:00
YeonGyu-Kim
d1bc25a6ce
fix(posthog): guard CPU telemetry collection
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 17:14:00 +09:00
github-actions[bot]
d32300a6c5
@islee23520 has signed the CLA in code-yeongyu/oh-my-openagent#3664
2026-04-27 07:59:11 +00:00
YeonGyu-Kim
1da7df1aee
Revert "Merge pull request #3657 from code-yeongyu/refactor/replace-zwsp-with-real-spaces"
...
This reverts commit f1a11f2c92 , reversing
changes made to 62c19ce0ef .
2026-04-27 15:54:05 +09:00
YeonGyu-Kim
9823462994
Merge pull request #3661 from code-yeongyu/fix/doctor-heuristic-model-status
...
fix(doctor): suppress resolved model capability warnings
2026-04-27 15:44:38 +09:00
YeonGyu-Kim
a696c8a67c
fix(hooks): apply Sisyphus GPT-5.5 variant
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 15:37:39 +09:00
YeonGyu-Kim
f1a11f2c92
Merge pull request #3657 from code-yeongyu/refactor/replace-zwsp-with-real-spaces
...
refactor(agents): replace broken ZWSP sort prefixes with leading ASCII spaces
2026-04-27 15:36:51 +09:00
YeonGyu-Kim
136a54f467
fix(doctor): avoid warnings for resolved model capabilities
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 15:31:48 +09:00
YeonGyu-Kim
8e785963cf
fix(model-capabilities): recognize current provider aliases
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 15:31:48 +09:00
YeonGyu-Kim
f100a8565b
fix(agents): keep object keys clean by separating list display from runtime name
...
Discovered via post-implementation review (Oracle goal verification): the
prior commit's prefix swap (ZWSP -> ASCII spaces) inherited a pre-existing
architectural bug from the ZWSP era. `getAgentListDisplayName()` was an
alias for `getAgentRuntimeName()`, which meant every callsite that used
the "list display" name as an OBJECT KEY (config.agent keys, lookup keys,
HTTP-header-bound paths) ended up carrying the sort prefix.
This worked silently with ZWSP because zero-width characters are visually
invisible. With ASCII space prefixes, the same bug becomes user-visible
and violates the explicit RFC 7230 constraint documented in AGENTS.md:
"ZWSP MUST NOT appear in object keys (used as HTTP header values)."
Fix: separate the two concepts that were conflated.
- `getAgentListDisplayName(key)` now returns the CLEAN display name
(alias of `getAgentDisplayName`). Used for object keys, config keys,
and any path where the name will be sent over HTTP.
- `getAgentRuntimeName(key)` keeps its prefixed return value. Used ONLY
for the `.name` field that OpenCode reads for `localeCompare` sort.
`agent-key-remapper.ts` was already correct: it uses `getAgentRuntimeName`
for the `.name` field. The bug was that `getAgentListDisplayName` (used
as the object key) also returned the prefix.
Test updates:
- agent-display-names.test.ts splits the assertions: getAgentListDisplayName
asserts clean names, new getAgentRuntimeName describe asserts prefixes
- All other tests using getAgentListDisplayName as an expected object key
continue to pass because they always wanted clean names
Verification:
- bun test: 5769 pass / 10 pre-existing failures (unchanged)
- bun run typecheck: clean
- Manual: agent-key-remapper output keys verified RFC 7230 safe (no
leading whitespace, no ZWSP); name fields preserve descending-space
prefix for canonical core agent ordering
2026-04-27 15:30:20 +09:00
YeonGyu-Kim
62c19ce0ef
Merge pull request #3659 from code-yeongyu/fix/dotted-opus-frontier-tools
...
fix(agents): cover dotted opus frontier model
2026-04-27 14:48:32 +09:00
YeonGyu-Kim
80791f10bc
fix(agents): cover dotted opus frontier model
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 14:40:16 +09:00
YeonGyu-Kim
3f30dac3f1
Merge pull request #3656 from code-yeongyu/feature/hide-grep-glob-for-frontier-agents
...
fix(agents): hide grep glob for frontier agents
2026-04-27 14:31:30 +09:00
YeonGyu-Kim
acf293de96
fix(tmux): validate fallback port
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 14:24:42 +09:00
YeonGyu-Kim
ac8987a732
fix(agents): preserve explicit legacy tool denies
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 14:24:42 +09:00
github-actions[bot]
baef011326
@LathissKhumar has signed the CLA in code-yeongyu/oh-my-openagent#3658
2026-04-27 04:58:33 +00:00
YeonGyu-Kim
c65f90ee09
fix(tmux): preserve configured fallback port
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 13:51:16 +09:00
YeonGyu-Kim
467248535e
fix(agents): clear stale frontier tool denies
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 13:51:16 +09:00
YeonGyu-Kim
0e9bb5969d
refactor(agents): replace broken ZWSP sort prefixes with leading ASCII spaces
...
The ZWSP-based core agent sort prefixes silently failed to produce the
canonical sisyphus -> hephaestus -> prometheus -> atlas order.
Empirical testing of OpenCode's Agent.list() sort behavior shows that
Unicode collation treats zero-width characters as ignorable at the primary
level, so ZWSP-prefixed names sorted alphabetically with non-core agents
interleaved (e.g. Sisyphus, athena, Atlas, explore, Hephaestus, ...).
This commit replaces the ZWSP prefixes with leading ASCII spaces in
descending lengths (sisyphus=4, hephaestus=3, prometheus=2, atlas=1).
ASCII spaces sort reliably before alphabetic characters in localeCompare
under all locales and render correctly in every terminal.
Changes:
- AGENT_LIST_SORT_PREFIXES: ZWSP -> leading spaces (4-3-2-1 descending)
- stripAgentListSortPrefix: now strips both legacy ZWSP and new leading
whitespace, preserving backward compatibility with existing sessions
- normalizeStoredAgentName / normalizeRegisteredAgentName: extract a
shared stripSortPrefix helper that handles both prefix formats
- agent-config-handler: resolve user-provided default_agent display
names through getAgentConfigKey before applying the runtime prefix,
so configs like default_agent="Hephaestus - Deep Agent" are normalized
- agent-runtime-name-sort.test.ts: new regression test simulating
OpenCode's exact sortBy logic (default_agent desc + name asc localeCompare)
to verify canonical core agent order under randomised input permutations
- AGENTS.md: document the empirical finding that ZWSP was broken, why
ASCII spaces work, and the descending prefix-length contract
Existing strip functions retain ZWSP support so legacy session state and
configs continue to resolve correctly without migration.
2026-04-27 13:48:09 +09:00
YeonGyu-Kim
8a49a03100
test(skill): fresh import skill tool factory
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 13:37:51 +09:00
YeonGyu-Kim
168057870a
test(skill): stabilize command discovery spy
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 13:31:49 +09:00
YeonGyu-Kim
a2c3804b5f
test(slashcommand): isolate command discovery mocks
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 13:24:50 +09:00
YeonGyu-Kim
ecce65bb67
fix(skill): isolate injected skill discovery
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 13:24:50 +09:00
YeonGyu-Kim
f1353cd9a8
fix(tmux): use stable fallback server URL
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 13:24:50 +09:00
YeonGyu-Kim
c46b712997
fix(agents): hide grep glob for frontier agents
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-27 12:49:20 +09:00
acamq
f74d03ca90
Merge pull request #3654 from acamq/fix/failing-ci
...
test: fix remaining stale gpt-5.4 expectations after gpt-5.5 promotion
2026-04-26 13:40:55 -06:00