YeonGyu-Kim
cb87385086
test(ci): isolate runtime and rules dependencies
2026-05-15 18:36:32 +09:00
YeonGyu-Kim
a02686e729
test(ci): remove suite-order mock coupling
2026-05-15 18:21:04 +09:00
YeonGyu-Kim
f1fb1e08eb
fix(ralph-loop): send registered agent display name on continue
...
Continuation injector previously called normalizeAgentForPromptKey,
which collapsed agent inputs like "Sisyphus - Ultraworker" or
"sisyphus" down to the lowercase config key (e.g. "sisyphus").
OpenCode's promptAsync rejects that with "Agent not found", so the
ralph-loop continue prompt silently failed to dispatch on parent
sessions whose inherited message used a known display name.
Switch to normalizeAgentForPrompt and add a small wrapper that:
- preserves any agent string already in canonical " - " display form
verbatim (covers ZWSP-prefixed inheritance and user-defined custom
agents)
- otherwise normalizes config keys / legacy parenthesized names to the
registered display name OpenCode expects.
Update the existing regression tests so that ZWSP-prefixed and clean
inherited agents both assert the registered display name reaches
promptAsync.
2026-05-15 18:19:58 +09:00
YeonGyu-Kim
b3b2da89c9
test(ci): avoid global module mock leaks
2026-05-15 17:54:59 +09:00
YeonGyu-Kim
8dcbccf063
fix(tmux): inject pane action dependencies
2026-05-15 17:54:43 +09:00
YeonGyu-Kim
7a94cc72be
fix(background-agent): stabilize parent wakes
2026-05-15 17:54:32 +09:00
YeonGyu-Kim
c0544a703a
fix(background-agent): defer retry notifications
2026-05-15 17:29:37 +09:00
YeonGyu-Kim
462b55efc7
Merge pull request #4040 from code-yeongyu/cleanup/typescript-ai-slop-20260515
...
Refactor TypeScript cleanup patterns
2026-05-15 16:42:10 +09:00
YeonGyu-Kim
b6a0be562d
test: remove decorative dividers
...
Drop section-divider comments that duplicated test group labels without adding behavior context.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 16:31:13 +09:00
YeonGyu-Kim
a9886ccbb7
refactor(plugin): remove metadata assertions
...
Guard optional plugin metadata and pane identifiers before passing them to cleanup and warning paths.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 16:31:13 +09:00
YeonGyu-Kim
0a3d1875f7
refactor(tools): narrow optional values
...
Avoid non-null assertions in tool and doctor code by preserving narrowed locals through each use site.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 16:31:13 +09:00
YeonGyu-Kim
d92e78c956
refactor(sdk): narrow response fallbacks
...
Replace unsafe unknown-array assertions with generic fallback types and explicit todo status narrowing.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 16:31:13 +09:00
YeonGyu-Kim
4785767a0c
refactor(interactive-bash): reuse tmux parser
...
Route interactive bash tracking through the existing tmux parser so session name narrowing is shared and type-safe.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 16:31:13 +09:00
YeonGyu-Kim
d8f52aae7f
test: run suite without split runner
2026-05-15 16:26:57 +09:00
YeonGyu-Kim
150ccefa05
fix(delegate-task): allow hidden plan task
2026-05-15 16:03:31 +09:00
YeonGyu-Kim
c25cb8dcef
fix(background-task): clarify task id contracts
2026-05-15 15:41:30 +09:00
YeonGyu-Kim
15e7330ff0
fix(team-mode): gate status injection by keyword
2026-05-15 15:35:35 +09:00
YeonGyu-Kim
1e7a7a22af
Merge pull request #4037 from code-yeongyu/fix/internal-initiator-dedupe
...
fix(background-agent): avoid branched parent wakes
2026-05-15 15:01:59 +09:00
YeonGyu-Kim
cd1c1a5921
fix(background-agent): avoid branched parent wakes
2026-05-15 14:39:55 +09:00
YeonGyu-Kim
9f6d0d2281
docs(agents-md): refresh hierarchical knowledge base for v4.1.2
...
- Bump root AGENTS.md header: 2026-05-14 → 2026-05-15, commit 5ffbe0e24 → 53a740636 , release v4.1.1 → v4.1.2
- Update file counts: 2034 (1337+697) → 2041 (1340+701), LOC ~292k → ~294k
- Fix STRUCTURE: openclaw lives at src/openclaw/ (not src/features/); list more accurate feature modules in the parenthetical
- Clarify interactive_bash gate: tmux binary on PATH via isInteractiveBashEnabled() (not 'tmux enabled')
- Fix docs/reference/features.md hook counts: Tool Guard 14→16, Total base 52→54, total with team-mode 59→61
- Bump 'Generated' date on all 43 subdir AGENTS.md files to 2026-05-15
- Preserve promptAsync injection cautions verbatim (per request)
2026-05-15 13:48:11 +09:00
YeonGyu-Kim
3dd8a5cabf
chore(rules): forbid flaky tests, time sleeps, and prompt pinning
...
Adds .sisyphus/rules/test-discipline.md, auto-injected by
rulesInjector hook whenever an agent reads or edits a test file
(**/*.test.ts, __tests__/**, src/testing/**, test-setup.ts,
script/run-ci-tests.ts).
Rules enforced:
- 'bun test' must pass in one process, one run, no isolation flags
- no setTimeout/sleep in test bodies unless time is the SUT
- event tests must subscribe-before-trigger with explicit timeout
- no .only/.skip/process-isolation to mask state leaks
- prompt-builder tests must assert behavior, not text snapshots
Also un-ignores .sisyphus/rules/ so project-scope rules can be
checked in while keeping .sisyphus/{draft,run-continuation,...}
ignored.
2026-05-15 13:46:26 +09:00
YeonGyu-Kim
53a7406362
no prompt async
2026-05-15 13:35:10 +09:00
YeonGyu-Kim
ced722e254
Merge pull request #4034 from code-yeongyu/fix/promptasync-duplicate-output
...
fix(prompt-async): gate duplicate internal prompts
2026-05-15 13:26:06 +09:00
YeonGyu-Kim
c2aa180e7e
fix(prompt-gate): pin duplicate prompt dispatches
...
Keep prompt reservations briefly after successful dispatch so rapid idle/message/error transitions cannot inject the same follow-up twice.
Route all production session prompt calls through the shared gate, restore skipped background resume state, release holds after abort/recovery paths, and preserve Ralph/ULW loop state when a dispatch is deferred.
Add regression coverage for session routing, static prompt route auditing, team-mode live messaging, model suggestion retries, call-omo-agent reuse, background parent wakes, runtime fallback, compaction recovery, Atlas, and Ralph/ULW loops.
2026-05-15 13:19:10 +09:00
YeonGyu-Kim
05189700fb
fix(prompt-gate): hold reservations after dispatch
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
c6e3b7e1f7
docs(agents-md): warn on prompt injection
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
edf3e530d4
fix(hooks): gate sync injected prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
0b48f80569
fix(call-omo-agent): gate reused sync prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
439e72839b
fix(runtime-fallback): gate retry prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
30adce9cad
fix(prompt-gate): share message reservations
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
dd6271bbf4
fix(babysitter): gate reminder prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
a524754eca
fix(todo-continuation): gate idle prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
b0b61182b4
fix(ralph-loop): gate continuation prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
960baf39bb
fix(atlas): gate boulder continuation prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
b0a484b403
fix(session-recovery): gate resume prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
db28a32cff
fix(recovery): gate compaction prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
c75f548863
fix(fallback): gate model retry prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
f1a62a9cd1
fix(team-mode): gate member wake prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
174cbd0fbd
fix(background-agent): gate parent wake prompts
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
b2fdd728d0
fix(prompt-async): add session idle gate
2026-05-15 12:55:56 +09:00
YeonGyu-Kim
2567415a94
Merge pull request #4033 from code-yeongyu/perf/ci-test-build-time-20260515
...
perf(ci): shard CI test runner
2026-05-15 12:17:29 +09:00
YeonGyu-Kim
e80c2811b1
ci: fail closed on sharded test gate
2026-05-15 12:07:58 +09:00
YeonGyu-Kim
7ae8207acc
Merge pull request #4030 from code-yeongyu/fix/promptasync-concurrency-20260515
...
fix(fallback): dedupe overlapping fallback continuations
2026-05-15 11:53:36 +09:00
YeonGyu-Kim
23dfe7eec2
fix(fallback): skip duplicate fallback re-arms
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 11:45:21 +09:00
YeonGyu-Kim
fdd40815ba
ci: split test workflow across shards
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 11:41:35 +09:00
YeonGyu-Kim
53de295b21
perf(ci): add sharded test runner phases
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 11:41:35 +09:00
YeonGyu-Kim
b7482ea727
test(fallback): type chat output assertions
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 11:28:18 +09:00
YeonGyu-Kim
26bb6231b6
fix(fallback): preserve provider-specific fallback retries
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 11:14:26 +09:00
YeonGyu-Kim
005d16dd96
fix(fallback): dedupe providerless fallback errors
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 11:14:26 +09:00
YeonGyu-Kim
da339204bb
fix(fallback): dedupe overlapping fallback continuations
...
Guard model fallback continuation dispatch so overlapping message.updated/session.error surfaces issue only one abort+promptAsync cycle for the same failed fallback.
Refs https://github.com/code-yeongyu/oh-my-openagent/issues/4019
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-15 11:14:26 +09:00