YeonGyu-Kim
838b5ae216
docs(agents): refresh hierarchical AGENTS.md with team-mode coverage
...
Update root + 43 directory-level AGENTS.md files to reflect current state:
- Root AGENTS.md rewritten with accurate counts (1967 TS files, 1304 source +
663 test, 278k LOC, 120 barrel index.ts), 7-step init flow, 5-tier hook
composition, and full Team Mode section (12 team_* tools, eligibility,
storage layout, config gate)
- src/AGENTS.md adds team-mode init step, current per-subdir file/LOC table
- src/tools/AGENTS.md documents conditional gates (team-mode +12, task
system +4, hashline +1, interactive_bash +1, look_at +1) with always-on
baseline of 20
- src/hooks/AGENTS.md splits into 5 tiers + 4 conditional team-mode hooks
- src/features/team-mode/AGENTS.md surfaces 12 tools, eligible agents,
spawn-race-safe invariants, and integration points
- src/features/builtin-skills/AGENTS.md tracks 10 skills incl. team-mode
- src/agents/AGENTS.md, src/plugin/AGENTS.md, src/config/AGENTS.md updated
for team-mode awareness, accurate counts, and current schema field list
- All other AGENTS.md files refreshed to 2026-05-08 generation date
2026-05-08 12:08:42 +09:00
YeonGyu-Kim
ee938aa097
fix full-suite isolation regressions
2026-05-07 18:36:03 +09:00
YeonGyu-Kim
ebe26eab17
fix(ralph-loop): guard runtime error retries
2026-05-07 11:50:44 +09:00
YeonGyu-Kim
83ec352899
merge dev into continuation runtime retry
...
# Conflicts:
# src/hooks/ralph-loop/non-abort-error-continuation.test.ts
2026-05-07 11:34:33 +09:00
YeonGyu-Kim
2c70938d81
test(ralph-loop): cover ultrawork runtime retry
2026-05-07 11:27:46 +09:00
YeonGyu-Kim
47b5c56660
fix(ralph-loop): retry runtime errors immediately
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 16:27:45 +09:00
YeonGyu-Kim
8e1719968b
fix(ralph-loop): retry runtime errors immediately
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 16:23:01 +09:00
YeonGyu-Kim
e395eadfa4
feat(ralph-loop): add loop session recovery state tracker
...
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-05-04 01:44:01 +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
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
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
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
cb8f44ed95
refactor(ralph-loop test): clarify race-condition predicate naming
...
Rename the local wait predicate to avoid confusion with deprecated auth-prompt condition fields.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-18 01:42:01 +09:00
YeonGyu-Kim
4da3005797
fix(plugin): harden metadata recovery and extraction
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-16 13:52:12 +09:00
YeonGyu-Kim
62c60ae9d8
fix: numeric skill names, ultrawork missing run_in_background, ZWSP agent lookups
...
- #3354 : Coerce data.name to String in loadSkillFromPath/loadSkillFromPathAsync
to prevent crash when YAML parses numeric skill names (e.g., name: 12306)
- #3416 : Add required run_in_background parameter to all task() examples in
ultrawork prompts (default, gpt, gemini, planner) to match tool schema
- #3379/#3417/#3418/#3337/#3335: Strip ZWSP (U+200B) before agent name
comparisons in agent-tool-restrictions, sync-prompt-sender, tool-execute-after,
tool-execute-before, oracle-verification-detector, call-omo-agent,
recovery-prompt-config, and agent-variant to prevent ZWSP-prefixed display
names from breaking exact-match lookups
2026-04-15 10:46:41 +09:00
YeonGyu-Kim
0c5cd3a1c4
chore(agents): update all AGENTS.md generation dates to 2026-04-11
...
🤖 Generated with OhMyOpenCode assistance
2026-04-11 22:33:22 +09:00
YeonGyu-Kim
1a04a6effb
test(ralph-loop): update iteration cap expectation to 500
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-08 13:33:09 +09:00
YeonGyu-Kim
d490b4dc20
fix(ralph-loop): harden Oracle VERIFIED detection
...
Replace fragile regex text matching with structured detection for Oracle verification evidence.
- Add oracle-verification-detector.ts with parseOracleVerificationEvidence()
- Use structured parsing instead of multiple regex patterns
- Add comprehensive test coverage for edge cases
- Update completion-promise-detector.ts to use isOracleVerified()
- Update pending-verification-handler.ts to use structured extraction
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-08 13:24:50 +09:00
YeonGyu-Kim
14f4390a34
fix(ultrawork): add iteration cap to prevent infinite loops
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-08 13:22:41 +09:00
YeonGyu-Kim
aa528e42c0
fix: propagate variant field in all promptAsync continuation paths ( #3081 )
...
All 5 continuation paths now send variant as top-level body field:
- boulder-continuation-injector.ts
- ralph-loop/continuation-prompt-injector.ts
- todo-continuation-enforcer/continuation-injection.ts
- unstable-agent-babysitter-hook.ts
- session-recovery/resume.ts
Plus type/helper updates in atlas, todo-continuation-enforcer,
unstable-agent-babysitter, and session-recovery.
TDD: 18 regression tests added, all pass. tsc clean.
2026-04-07 15:10:38 +09:00
YeonGyu-Kim
0c1202e480
fix(tests): resolve CI test isolation failures in OAuth refresh and ralph-loop
...
- provider.test.ts: reset discovery cache before/after refresh tests to prevent
cross-test contamination via module-level discoveryCache singleton
- completion-promise-session-negative.test.ts: update negative test case to use
non-oracle agent (hephaestus) since oracle tool_result VERIFIED detection was
intentionally added in 56f2a9df
2026-04-06 17:48:38 +09:00
YeonGyu-Kim
56f2a9df3a
fix(ralph-loop): detect oracle VERIFIED tool results in session messages
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-06 17:18:47 +09:00
YeonGyu-Kim
3697809c11
docs(hooks): update hook inventory to match current 52 hooks
...
- Session: 23 -> 24 (add legacyPluginToast)
- Tool Guard: 12 -> 14 (add bashFileReadGuard, readImageResizer,
todoDescriptionOverride, webfetchRedirectGuard)
- Transform: 4 -> 5 (add toolPairValidator)
- Remove deleted dirs: anthropic-image-context, beast-mode-system
- Add new dirs: legacy-plugin-toast, todo-description-override,
tool-pair-validator, webfetch-redirect-guard
2026-04-05 14:12:30 +09:00
YeonGyu-Kim
39f6ab2b44
ralph-loop: detect oracle VERIFIED tool results
2026-04-04 19:03:57 +09:00
YeonGyu-Kim
69c9ad4449
test(ralph-loop): add transcript detector coverage
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:41:50 +09:00
YeonGyu-Kim
2da5f12c1f
test(ralph-loop): split session completion detector coverage
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:41:42 +09:00
YeonGyu-Kim
617abbe864
fix(ralph-loop): remove dead semantic completion fallback
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-04 15:41:36 +09:00
YeonGyu-Kim
4a029258a4
fix: resolve 5 remaining pre-publish blockers (14, 15, 17, 21, 25c)
...
- completion-promise-detector: restrict to assistant text parts only,
remove tool_result from completion detection (blocker 14)
- ralph-loop tests: flip tool_result completion expectations to negative
coverage, add false-positive rejection tests (blocker 15)
- skill tools: merge nativeSkills into initial cachedDescription
synchronously before any execute() call (blocker 17)
- skill tools test: add assertion for initial description including
native skills before execute() (blocker 25c)
- docs: sync all 4 fallback-chain docs with model-requirements.ts
runtime source of truth (blocker 21)
Verified: bun test (4599 pass / 0 fail), tsc --noEmit clean
2026-03-28 15:57:27 +09:00
YeonGyu-Kim
d2c576c510
fix: resolve 25 pre-publish blockers
...
- postinstall.mjs: fix alias package detection
- migrate-legacy-plugin-entry: dedupe + regression tests
- task_system: default consistency across runtime paths
- task() contract: consistent tool behavior
- runtime model selection, tool cap, stale-task cancellation
- recovery sanitization, context-limit gating
- Ralph semantic DONE hardening, Atlas fallback persistence
- native-skill description/content, skill path traversal guard
- publish workflow: platform awaited via reusable workflow job
- release: version edits reapplied before commit/tag
- JSONC plugin migration: top-level plugin key safety
- cold-cache: user fallback models skip disconnected providers
- docs/version/release framing updates
Verified: bun test (4599 pass), tsc --noEmit clean, bun run build clean
2026-03-28 15:24:18 +09:00
MoerAI
95801a4850
fix(ralph-loop): extract text from parsed entry instead of testing raw JSONL
2026-03-26 18:16:07 +09:00
MoerAI
774d0bd84d
fix(ralph-loop): restrict semantic completion to DONE promise and assistant entries
...
- Gate semantic detection on promise === 'DONE' in both transcript and
session message paths to prevent false positives on VERIFIED promises
- Restrict transcript semantic fallback to assistant/text entries only,
skipping tool_use/tool_result to avoid matching file content
- Add regression test for VERIFIED promise not triggering semantic detection
2026-03-25 16:49:53 +09:00
MoerAI
aaaeb6997c
fix(ralph-loop): add semantic completion detection as fallback for natural language ( fixes #2489 )
2026-03-23 20:46:10 +09:00
YeonGyu-Kim
f6c24e42af
fix(ralph-loop): detect promise tags in tool_result parts for ulw verification
...
Oracle's <promise>VERIFIED</promise> arrives as a tool_result part from the
task() tool call, not as a text part. Both detectCompletionInSessionMessages
and collectAssistantText only scanned type=text parts, missing the
verification signal entirely. This caused ulw loops to fail verification
even when Oracle successfully emitted VERIFIED.
Include tool_result parts in promise detection alongside text parts.
Exclude tool_use parts to avoid false positives from instructional text.
2026-03-18 19:03:30 +09:00
YeonGyu-Kim
ce8957e1e1
fix(ralph-loop): harden oracle verification flow
...
Capture oracle verification sessions more reliably and accept parent-session VERIFIED evidence so ULW loops do not retry after successful review.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-18 17:45:59 +09:00
YeonGyu-Kim
3caae14192
fix(ralph-loop): abort stale Oracle sessions before ulw verification restart
...
When Oracle verification fails in ulw-loop mode, the previous Oracle
session was never aborted before restarting. Each retry created a new
descendant session, causing unbounded session accumulation and 500
errors from server overload.
Now abort the old verification session before:
- restarting the loop after failed verification
- re-entering verification phase on subsequent DONE detection
2026-03-18 12:49:27 +09:00
YeonGyu-Kim
4bc7b1d27c
fix(ulw-loop): add fallback for Oracle verification session tracking
...
The verification_session_id was never reliably set because the
prompt-based attempt_id matching in tool-execute-after depends on
metadata.prompt surviving the delegate-task execution chain. When
this fails silently, the loop never detects Oracle's VERIFIED
emission.
Add a fallback: when exact attempt_id matching fails but oracle
agent + verification_pending state match, still set the session ID.
Add diagnostic logging to trace verification flow failures.
Add integration test covering the full verification chain.
2026-03-17 16:21:40 +09:00
YeonGyu-Kim
1812c9f054
test(ralph-loop): cover overlapping ultrawork loops
...
Lock down stale-session and overwrite cases so a previous ULW verification flow cannot complete or mutate a newer loop.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 17:05:02 +09:00
YeonGyu-Kim
f31537f14c
fix(ralph-loop): continue ultrawork until oracle verifies
...
Keep /ulw-loop iterating after the main session emits DONE so completion still depends on an actual Oracle VERIFIED result.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-12 17:00:25 +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
8ec2c44615
fix(ulw-loop): retry parent session after failed verification
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-07 05:46:05 +09:00
YeonGyu-Kim
898b628d3d
fix(ulw-loop): track Oracle verification sessions explicitly
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-03-06 22:37:41 +09:00
YeonGyu-Kim
c17f7215f2
test(ulw-loop): cover Oracle verification flow
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-06 22:00:21 +09:00
YeonGyu-Kim
a010de1db2
feat(ulw-loop): require Oracle verification before completion
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-06 22:00:14 +09:00
YeonGyu-Kim
23dcd99c9a
docs(agents): refresh generated AGENTS guides
...
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-03-06 17:59:05 +09:00
YeonGyu-Kim
33d39597ae
docs(agents): regenerate AGENTS.md hierarchy with updated metrics and model configs
...
- 1208→1243 TS files (+35), 143k→155k LOC (+12k)
- Update all agent models: Sisyphus, Hephaestus, Oracle, Librarian, Atlas, Metis, Momus
- Add 6 new hook directories (39→45 dirs): beast-mode-system, hashline-edit-diff-enhancer, anthropic-image-context, task-reminder, compaction-todo-preserver, runtime-fallback
- Update category models: visual-engineering/artistry gemini-3-pro→gemini-3.1-pro
- Add 2 config schema files: fallback-models.ts, runtime-fallback.ts
- Timestamp: 2026-03-02 | Commit: 1c2caa09
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-03-02 23:40:38 +09:00
YeonGyu-Kim
f2a1412bf1
test(ralph-loop): harden completion detector PluginInput mock
2026-02-27 03:12:22 +09:00
YeonGyu-Kim
190c6991ac
fix(ralph-loop): persist session message count at loop start
2026-02-27 03:08:30 +09:00
YeonGyu-Kim
e17a00a906
fix(ralph-loop): scope completion detection to messages since loop start
2026-02-27 03:05:14 +09:00