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
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
39f6ab2b44
ralph-loop: detect oracle VERIFIED tool results
2026-04-04 19:03:57 +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
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
e17a00a906
fix(ralph-loop): scope completion detection to messages since loop start
2026-02-27 03:05:14 +09:00
YeonGyu-Kim
2295161022
fix(ralph-loop): add inFlight guard and improve completion detection to prevent infinite loops
...
Closes #2084
2026-02-26 20:58:55 +09:00
YeonGyu-Kim
88e1e3d0fa
fix(ralph-loop): only scan text parts for completion tags and handle both API shapes
...
Reasoning parts could contain completion-like text triggering false
positives. Also handles session.messages returning either an array
or {data: [...]} shape.
2026-02-11 00:45:51 +09:00
YeonGyu-Kim
f3f6ba47fe
merge: integrate origin/dev into modular-enforcement branch
...
Resolves all merge conflicts, preserving our split module structure
while integrating all dev changes:
- Custom agent summaries support (parseRegisteredAgentSummaries)
- Background notification queue (enqueueNotificationForParent)
- Atlas shared git-worktree module (collectGitDiffStats, formatFileChanges)
- Ralph-loop withTimeout + DEFAULT_API_TIMEOUT=5000
- Session recovery assistant_prefill_unsupported error type
- Atlas agentOverrides forwarding
- Config handler plan model demotion (buildPlanDemoteConfig)
- Delegate-task agentOverrides, promptSyncWithModelSuggestionRetry, variant
- LSP init timeout + stale init detection
- isPlanFamily function + task-continuation-enforcer hook
- Handoff command
2026-02-08 17:34:47 +09:00
YeonGyu-Kim
0f145b2e40
refactor(ralph-loop): split hook into state controller and event handler modules
...
Extract Ralph loop lifecycle management:
- loop-state-controller.ts: start/stop/recovery state machine
- ralph-loop-event-handler.ts: event handling logic
- continuation-prompt-builder.ts, continuation-prompt-injector.ts
- completion-promise-detector.ts, loop-session-recovery.ts
- message-storage-directory.ts
2026-02-08 16:22:10 +09:00