Commit Graph

2842 Commits

Author SHA1 Message Date
YeonGyu-Kim 5fa2a71700 docs: remove quotio/cliproxyapi references from READMEs 2026-02-21 05:59:19 +09:00
YeonGyu-Kim 97245394e7 Merge pull request #2007 from code-yeongyu/fix/1901-ralph-loop-fresh-context
feat(ralph-loop): add strategy option for fresh context per iteration
2026-02-21 05:41:12 +09:00
YeonGyu-Kim 02c7439edb Merge pull request #2006 from code-yeongyu/fix/1920-auto-update-pinned
fix(auto-update): treat only explicit semver pins as user-pinned
2026-02-21 05:40:53 +09:00
YeonGyu-Kim 53fc9ff69a Merge pull request #2005 from code-yeongyu/fix/1803-session-recovery-unavailable-tool
fix(session-recovery): handle unavailable_tool (dummy_tool) errors
2026-02-21 05:40:32 +09:00
YeonGyu-Kim 023bb5a246 fix(ralph-loop): use shared isRecord, fix quoted argument parsing for prompt and completion-promise 2026-02-21 05:36:11 +09:00
YeonGyu-Kim 32350c2484 ci: trigger CI run 2026-02-21 05:36:11 +09:00
YeonGyu-Kim 2610399803 fix(ralph-loop): bind selectSession to tui context, use sourceSessionID for tool inheritance, handle flag-only arguments, fix test provider mocks 2026-02-21 05:36:11 +09:00
YeonGyu-Kim 73ab0d2cec fix(rebase): remove duplicated hooks exports and event dispatch artifact 2026-02-21 05:36:11 +09:00
YeonGyu-Kim 6ad7b0e9b2 fix(session-recovery): fix SDK fallback part.tool mapping and nosuchtoolarror typo 2026-02-21 05:35:28 +09:00
YeonGyu-Kim 35813a0f60 test(executor): add afterEach cleanup to prevent timer leaks on assertion failure 2026-02-21 05:35:28 +09:00
YeonGyu-Kim 5249d9d9bf ci: trigger CI run 2026-02-21 05:35:28 +09:00
YeonGyu-Kim 63f73ccea0 test(auto-compact): restore module mocks after hook test
Prevent cross-file mock.module leakage by restoring Bun mocks after recovery-hook test, so executor tests always run against the real module implementation.
2026-02-21 05:35:28 +09:00
YeonGyu-Kim a93c7fd478 test(auto-compact): localize fake timers per async case
Stop patching global timers in every lock-management test. Use scoped fake timers only in continuation tests so lock/notification assertions remain deterministic in CI.
2026-02-21 05:34:46 +09:00
YeonGyu-Kim c4a05a2fe2 test: stabilize parallel-sensitive CI specs
Relax verbose event assertions to target custom-event logs only and run compact lock-management specs serially to avoid global timer races in CI.
2026-02-21 05:34:46 +09:00
YeonGyu-Kim 419711c2da fix(plugin): repair event dispatch parse error
Remove duplicated dispatchToHooks declaration that broke TypeScript parsing, and isolate chat-headers tests from marker cache collisions with unique message IDs.
2026-02-21 05:34:34 +09:00
YeonGyu-Kim 4a4e9dc862 fix(ralph-loop): use inherited fallback context and SDK TUI session selection 2026-02-21 05:33:53 +09:00
YeonGyu-Kim 817292c87a fix(ci): restore missing hook exports and align config-handler test fixtures 2026-02-21 05:33:53 +09:00
YeonGyu-Kim e7697567d5 feat(ralph-loop): add strategy option for fresh context per iteration
Closes #1901

Add 'default_strategy' config option (default: 'continue') to control whether ralph-loop creates a new session per iteration ('reset') or keeps the same session ('continue'). The 'reset' strategy keeps the model in the smart zone by starting with fresh context for each iteration.

Supports --strategy flag for per-command override.
2026-02-21 05:33:53 +09:00
YeonGyu-Kim c8de972837 fix(config-handler): preserve disable_omo_env wiring in agent setup 2026-02-21 05:33:52 +09:00
YeonGyu-Kim 4b7596233c fix(session-recovery): harden unavailable tool recovery flow 2026-02-21 05:33:52 +09:00
YeonGyu-Kim dae64e35ac fix(plugin): remove stale hook wiring for missing hooks 2026-02-21 05:33:52 +09:00
YeonGyu-Kim 04648fb7b9 fix(session-recovery): wire unavailable_tool recovery in hook 2026-02-21 05:33:52 +09:00
YeonGyu-Kim 88e4c38f37 fix(session-recovery): recover unavailable_tool with synthetic tool_result 2026-02-21 05:33:52 +09:00
YeonGyu-Kim 8ba5d00274 fix(session-recovery): detect unavailable_tool errors 2026-02-21 05:33:52 +09:00
YeonGyu-Kim 2f91be1bdb fix(doctor): align isPinned logic with auto-updater to treat channel tags as not pinned 2026-02-21 05:31:53 +09:00
YeonGyu-Kim 14edde17c5 Merge pull request #2004 from code-yeongyu/fix/1804-1962-migration-overwrite
fix(migration): remove non-existent gpt-5.3-codex migration from MODEL_VERSION_MAP
2026-02-21 05:31:00 +09:00
YeonGyu-Kim 9e672b21d9 test: restore mocked modules in recovery-hook to prevent cross-test leakage 2026-02-21 05:12:07 +09:00
YeonGyu-Kim b21c24cca3 ci: isolate recovery-hook.test.ts to prevent mock.module leakage
recovery-hook.test.ts uses mock.module() at top level which patches the
executor module in the shared bun module cache. When run in the same
batch as executor.test.ts, executeCompact becomes the mocked no-op version,
causing all lock management tests to fail.

Move it to the isolated step (each file gets its own bun process) and
enumerate the remaining anthropic-context-window-limit-recovery test files
explicitly to avoid including recovery-hook.test.ts in the batch.
2026-02-21 05:11:50 +09:00
YeonGyu-Kim 506696a6dc ci: isolate recovery-hook.test.ts to prevent mock.module leakage
recovery-hook.test.ts uses mock.module() at top level which patches the
executor module in the shared bun module cache. When run in the same
batch as executor.test.ts, executeCompact becomes the mocked no-op version,
causing all lock management tests to fail.

Move it to the isolated step (each file gets its own bun process) and
enumerate the remaining anthropic-context-window-limit-recovery test files
explicitly to avoid including recovery-hook.test.ts in the batch.
2026-02-21 05:11:50 +09:00
YeonGyu-Kim 05f9937c23 ci: isolate recovery-hook.test.ts to prevent mock.module leakage
recovery-hook.test.ts uses mock.module() at top level which patches the
executor module in the shared bun module cache. When run in the same
batch as executor.test.ts, executeCompact becomes the mocked no-op version,
causing all lock management tests to fail.

Move it to the isolated step (each file gets its own bun process) and
enumerate the remaining anthropic-context-window-limit-recovery test files
explicitly to avoid including recovery-hook.test.ts in the batch.
2026-02-21 05:11:40 +09:00
YeonGyu-Kim 59f3e69d8e test(events): use baseline snapshot pattern for console spy isolation
Replace exact call count assertions with delta-based checks:
- capture errorSpy.mock.calls.length before processing events
- slice to only check calls made during this test's execution
- use try/finally to guarantee mockRestore() even on assertion failure

This prevents test pollution from cross-file spy leakage in CI batch runs.
2026-02-21 05:09:12 +09:00
YeonGyu-Kim a407db10e9 test(events): use baseline snapshot pattern for console spy isolation
Replace exact call count assertions with delta-based checks:
- capture errorSpy.mock.calls.length before processing events
- slice to only check calls made during this test's execution
- use try/finally to guarantee mockRestore() even on assertion failure

This prevents test pollution from cross-file spy leakage in CI batch runs.
2026-02-21 05:09:10 +09:00
YeonGyu-Kim 94af966e01 test(events): use baseline snapshot pattern for console spy isolation
Replace exact call count assertions with delta-based checks:
- capture errorSpy.mock.calls.length before processing events
- slice to only check calls made during this test's execution
- use try/finally to guarantee mockRestore() even on assertion failure

This prevents test pollution from cross-file spy leakage in CI batch runs.
2026-02-21 05:08:58 +09:00
YeonGyu-Kim 699b721ada test: fix flaky timer isolation and dynamic-import non-determinism
- executor.test.ts: capture globalThis.setTimeout/clearTimeout at module level
- events.test.ts: replace dynamic await import with static top-level import
2026-02-21 04:57:18 +09:00
YeonGyu-Kim f5b1eb4818 test: fix flaky timer isolation and dynamic-import non-determinism
- executor.test.ts: capture globalThis.setTimeout/clearTimeout at module level
- events.test.ts: replace dynamic await import with static top-level import
2026-02-21 04:57:10 +09:00
YeonGyu-Kim cfae1c8255 docs: restore coding on steroids narrative with future-betting manifesto in all READMEs 2026-02-21 04:54:21 +09:00
YeonGyu-Kim ce55256eaf docs: update all 31 AGENTS.md files with current project state 2026-02-21 04:38:18 +09:00
YeonGyu-Kim 989284ee08 docs: update Korean and Chinese README taglines with future-betting message
Complete the integration of multi-model future vision into all 4 READMEs:
- Korean: Full tagline with orchestration, cheaper/smarter models, open market
- Chinese: Full tagline with model orchestration and future betting

All READMEs now consistently convey: we ride all models, not just Claude.
The future is multi-model orchestration, not picking one winner.
2026-02-21 04:35:14 +09:00
YeonGyu-Kim a492451193 docs: integrate future-betting manifesto into README taglines
Remove separate 'The Bet' sections and weave the multi-model future
vision directly into the existing 'steroids/prison' taglines:

- English: Expanded tagline with model orchestration and future betting
- Korean: '우리가 보는 미래' 섹션 제거, 태그라인에 통합
- Japanese: '私たちが賭ける未来' セクション削除、タグライン統合
- Chinese: '我们押注的未来' 部分删除,整合到标语中

Key message: Models get cheaper/smarter every month. No provider
will dominate. We ride them all. Built for the open market.
2026-02-21 04:34:45 +09:00
YeonGyu-Kim 0b3a1d3934 fix(rebase): restore missing hook export and fix duplicate function in event handler 2026-02-21 04:19:00 +09:00
YeonGyu-Kim 7875547bd3 fix(rebase): restore missing hook export and fix duplicate function in event handler 2026-02-21 04:18:20 +09:00
YeonGyu-Kim 99b01b09e5 docs: add future-betting manifesto to all READMEs and overview
Add 'The Bet' section to all 4 language READMEs (en, ko, ja, zh-cn):
- Models getting cheaper every month
- Models getting smarter every month
- No single provider will dominate the future
- We leverage ALL models, not just Claude
- Architecture gets more valuable as models specialize
- We're building for the open multi-model future

Also update overview.md to move 'Better Than Pure Codex' into
Hephaestus section and add 'Better Than Pure Claude Code' section
with fundamental multi-model advantage explanation.
2026-02-21 04:17:33 +09:00
YeonGyu-Kim 96a9c989aa fix: include line number in hashline computation 2026-02-21 04:14:54 +09:00
YeonGyu-Kim d5e3039035 docs: add hyperlinks to IntentGate and Hash-Anchored Edit Tool table rows
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-21 04:11:02 +09:00
YeonGyu-Kim 32290a525d fix(auto-update): support prerelease versions without numeric suffix in fallback 2026-02-21 04:10:27 +09:00
YeonGyu-Kim 7f4055ab37 fix(auto-update): treat only explicit semver pins as user-pinned
Fixes #1920

Installer-written exact versions (e.g., oh-my-opencode@3.5.2) were incorrectly treated as user-pinned, blocking auto-updates for all installer users.

Fix isPinned to only block auto-update when pinnedVersion is an explicit semver string (user's intent). Channel tags (latest, beta, next) and bare package name all allow auto-update.

Fix installer fallback to return bare PACKAGE_NAME for stable versions and PACKAGE_NAME@{channel} for prerelease versions, preserving channel tracking.
2026-02-21 04:09:50 +09:00
YeonGyu-Kim 5caf3a3b30 fix(migration): remove non-existent gpt-5.3-codex from MODEL_VERSION_MAP
Fixes #1804, fixes #1962

The migration entry 'gpt-5.2-codex → gpt-5.3-codex' caused the plugin to silently overwrite user configs on every startup with a model that doesn't exist in the OpenAI API. Users explicitly setting gpt-5.2-codex (the correct current model) were forced to revert their config manually every session.
2026-02-21 04:08:44 +09:00
YeonGyu-Kim e18f643b18 docs: restructure and rewrite all documentation from scratch
Consolidate 12 docs into 8, eliminating ~70% duplicate content.
Fix all broken doc links across 4 README translations.

New structure:
- docs/guide/: overview, installation (with agent-model setup), orchestration
- docs/reference/: features, configuration, cli
- docs/manifesto.md, docs/troubleshooting/ollama.md

Deleted: agent-model-matching, understanding-orchestration-system,
orchestration-guide, category-skill-guide, task-system, cli-guide,
configurations, ultrawork-manifesto, features, ollama-streaming-issue
2026-02-21 04:07:06 +09:00
YeonGyu-Kim ff2873d777 docs: add IntentGate documentation to translated READMEs
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-21 03:59:49 +09:00
YeonGyu-Kim 2a54bb2366 docs: add IntentGate feature documentation
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-21 03:59:34 +09:00