Commit Graph

6054 Commits

Author SHA1 Message Date
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 5ffbe0e2453a740636, 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
YeonGyu-Kim c6c7a103dd Merge pull request #4015 from code-yeongyu/fix/background-output-bg-id-20260514
fix(background-task): retry transient missing output tasks
2026-05-15 10:01:40 +09:00
YeonGyu-Kim 8f90c1e92a fix(background-task): log missing output retry 2026-05-15 09:56:01 +09:00
github-actions[bot] d03555902e @sandikodev has signed the CLA in code-yeongyu/oh-my-openagent#4029 2026-05-14 21:07:49 +00:00
github-actions[bot] bd2f10551e @scw1109 has signed the CLA in code-yeongyu/oh-my-openagent#4020 2026-05-14 12:49:01 +00:00
YeonGyu-Kim d8652863a2 Merge remote-tracking branch 'origin/dev' into fix/background-output-bg-id-20260514 2026-05-14 19:11:44 +09:00
YeonGyu-Kim ca178f411c Merge pull request #4016 from code-yeongyu/fix-bg-noti-coalesce
fix(background-agent): coalesce rapid-fire idle parent notifications
2026-05-14 19:02:10 +09:00
YeonGyu-Kim 9b279d2f00 chore(deps): sync lockfile metadata
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-14 18:58:00 +09:00
YeonGyu-Kim 8ea1e0fd6a chore: sync bun.lock with v4.1.2 release
Bun's --frozen-lockfile failed on origin/dev because v4.1.2 (c75deee54)
bumped the platform binary versions in package.json without refreshing
bun.lock. Regenerated via `bun install` to unblock CI on dev-based PRs.

Required for `bun install --frozen-lockfile` (used by ci.yml test +
typecheck jobs) to succeed.
2026-05-14 18:55:52 +09:00
YeonGyu-Kim 268c89c945 fix(background-agent): coalesce rapid-fire idle parent notifications
When many background tasks complete in rapid succession while the parent
session is idle, each completion fired its own promptAsync call, stacking
N consecutive `<system-reminder>` user messages with no assistant turn
between. Hyperplan + many parallel explore subagents made this very
visible to the user.

Route the idle-path through the existing pendingParentWakes queue with a
100ms debounce window. Notifications arriving during the debounce join
the same batch, the 150ms settle window also coalesces newcomers, and a
single batched prompt fires to the parent. Busy-path semantics are
unchanged (still 1s retry).

Prior attempts (1c05c60dc, ea55c385b, a337635e3) all coalesced only the
busy-defer path, leaving the idle-immediate-send path uncoalesced.
2026-05-14 18:52:28 +09:00
YeonGyu-Kim 1ea192b3f4 fix(background-task): retry transient missing output tasks
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-14 18:51:38 +09:00
YeonGyu-Kim b9beea1039 feat(team-mode): drive immediate teardown and recreate-to-reshape loop
Reframe the skill's Lifecycle section so the lead treats teams as
ephemeral, one-per-phase units. The moment a phase ends or the shape
no longer fits, call team_delete and spawn a fresh team. Restructure
through delete-then-create, never in place.

Also fixes a misframing in old step 5: team_shutdown_request is a
per-session self-shutdown signal, not a 'wind down the team' command.
team_delete is what tears the whole team down.
2026-05-14 18:22:30 +09:00
github-actions[bot] c75deee54c release: v4.1.2 2026-05-14 06:38:21 +00:00
YeonGyu-Kim 9a1f8f679f fix(web): route installation links to docs section 2026-05-14 14:18:13 +09:00
YeonGyu-Kim 63ced1d2a0 Merge pull request #4010 from code-yeongyu/chore/safe-tooling-upgrades-biome-tsgo-20260514-132516
chore(tooling): refresh safe deps and checks
2026-05-14 13:57:31 +09:00
YeonGyu-Kim 96d7249581 Merge pull request #4009 from code-yeongyu/fix/ralph-loop-compaction-race
fix(ralph-loop): guard compaction continuation ownership
2026-05-14 13:50:09 +09:00
YeonGyu-Kim f10251b59d chore(tooling): refresh safe deps and checks 2026-05-14 13:46:11 +09:00