Commit Graph

2875 Commits

Author SHA1 Message Date
YeonGyu-Kim
7e68690c70 fix(hashline-edit): address Cubic review issues - boundary echo, chunking dedup, empty stream alignment
- Fix single-line anchor-echo stripping to trigger empty-insert validation

- Fix trailing boundary-echo stripping for boundary-only payloads

- Extract shared chunking logic to hashline-chunk-formatter

- Align empty stream/iterable handling with formatHashLines

- Add regression tests for all fixes
2026-02-22 03:54:31 +09:00
YeonGyu-Kim
22b4f465ab feat(hashline-edit): add anchor insert modes and strict insert validation 2026-02-22 03:38:47 +09:00
github-actions[bot]
d6939229b3 release: v3.8.0 v3.8.0 2026-02-21 17:56:31 +00:00
YeonGyu-Kim
0d76874632 ci(publish): isolate executor.test.ts to prevent mock contamination 2026-02-22 02:53:38 +09:00
YeonGyu-Kim
121e1cb879 fix(delegate-task): aggressive tool description to prevent missing category/subagent_type
Problem: Agents frequently omit both 'category' and 'subagent_type' parameters
when calling the task() tool, causing validation failures. The JSON Schema
marks both as optional, and LLMs follow schema structure over description text.

Solution (Option A): Add aggressive visual warnings and failure-mode examples
to the tool description:
- ⚠️ CRITICAL warning header
- COMMON MISTAKE example showing what will FAIL
- CORRECT examples for both category and subagent_type usage
- Clear explanation that ONE must be provided

Tests: All 153 existing tests pass (no behavior change, only prompt improvement)
2026-02-22 02:51:03 +09:00
YeonGyu-Kim
30491d769b ci: isolate executor.test.ts to prevent mock contamination in batch runs 2026-02-22 02:46:54 +09:00
YeonGyu-Kim
b6b970d9cd fix(test): use static imports and strategy-level spies in executor.test.ts for CI stability 2026-02-22 02:42:59 +09:00
YeonGyu-Kim
dd9df78564 fix(test): harden executor.test.ts mock isolation for CI batch runs 2026-02-22 02:31:27 +09:00
YeonGyu-Kim
538b1005ef fix(test): flush fake timer microtasks in todo continuation tests 2026-02-22 02:18:47 +09:00
YeonGyu-Kim
27d5379215 refactor(hooks): remove beast-mode system integration
Remove the beast-mode-system hook and all transform wiring so Copilot-specific prompt injection is fully eliminated from the runtime pipeline.
2026-02-22 01:57:22 +09:00
YeonGyu-Kim
9b56b748ec chore: regenerate JSON schema for runtime_fallback union type 2026-02-22 01:54:51 +09:00
YeonGyu-Kim
976798d0e3 feat(config): disable runtime_fallback by default (opt-in) 2026-02-22 01:54:34 +09:00
YeonGyu-Kim
309869a79f docs(config): document runtime_fallback boolean shorthand
Add simple boolean configuration examples for runtime_fallback:
- true/false for quick enable/disable
- Object format for advanced configuration
2026-02-22 01:45:32 +09:00
YeonGyu-Kim
9f10997987 feat(config): allow runtime_fallback to be configured as boolean
Enable simple boolean configuration for runtime_fallback:
- "runtime_fallback": true - Enable with defaults
- "runtime_fallback": false - Disable
- "runtime_fallback": { ... } - Advanced object config (existing)

Updated schema, event handler, chat-message handler, and session hooks
to handle both boolean and object formats.
2026-02-22 01:44:53 +09:00
github-actions[bot]
aff49ef488 @cruzanstx has signed the CLA in code-yeongyu/oh-my-opencode#2021 2026-02-21 15:09:31 +00:00
YeonGyu-Kim
1c7eb55f9c fix(hooks): use model cache availability with timeout for first-run cache creation
Replace fire-and-forget pattern with await + 10s timeout for initial

cache creation. Check model cache availability (not connected providers)

to properly coordinate with model-cache-warning hook.

Remove non-null assertion and add proper error logging.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-21 18:32:10 +09:00
YeonGyu-Kim
f0204b0514 fix(hooks): swap execution order to create cache before checking
Ensure cache creation runs before cache warning check to prevent false

'Model Cache Not Found' warnings on first run.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-21 18:32:01 +09:00
YeonGyu-Kim
0b4ebc3538 docs: reorganize configuration.md for better readability
- Add Table of Contents with clear navigation structure
- Reorganize sections into logical groups:
  - Getting Started (File Locations, Quick Start Example)
  - Core Concepts (Agents, Categories, Model Resolution)
  - Task System (Background Tasks, Sisyphus Agent, Sisyphus Tasks)
  - Features (Skills, Hooks, Commands, Integrations)
  - Advanced (Runtime Fallback, Hashline Edit, Experimental)
  - Reference (Environment Variables, Provider-Specific)
- Improve section headers and descriptions
- Add cross-references within document
- Maintain all original content without omissions
- Add clarifying comments to Quick Start Example
2026-02-21 17:23:28 +09:00
YeonGyu-Kim
5a3fddf03b docs: reorganize overview.md for better first-time user experience
- Add Quick Start section with clear installation link
- Add 'How It Works: Agent Orchestration' section linking to orchestration.md
- Add 'Agent Model Matching' section with JSON configuration examples
- Restructure content flow for better readability
- Add example JSON config to agent-model-matching.md
- Maintain original voice and strong opinions while improving organization
- All links now properly reference related docs
2026-02-21 17:14:15 +09:00
YeonGyu-Kim
8ae2f4fa39 docs: update README and installation guide
Update README with Anthropic blocking mention and revised model descriptions.
Fix markdown table alignment in both README and installation guide.

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-02-21 17:07:44 +09:00
YeonGyu-Kim
6a31e911d8 feat(hooks): add task-reminder hook for task tool usage tracking
Injects a reminder after 10 tool turns without task tool usage. Tracks
per-session counters and cleans up on session deletion.

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-02-21 17:07:39 +09:00
YeonGyu-Kim
865ced72e4 feat(hooks): add hashline-edit-diff-enhancer for Write tool diff metadata
Captures file content before/after Write tool execution and injects unified
diff into tool output metadata. TUI reads metadata.diff for rendering.

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-02-21 17:07:34 +09:00
YeonGyu-Kim
90dccfbdaf feat(delegate-task): pass directory option through skill discovery
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-02-21 17:07:29 +09:00
YeonGyu-Kim
dc76e2cd11 docs: rewrite configuration.md for clarity and concision
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-21 17:05:30 +09:00
YeonGyu-Kim
dfb2f54cf8 docs: restore agent-model matching guide
Restore docs/guide/agent-model-matching.md that was accidentally deleted
in commit 880c5e3b (docs restructure). Updated broken links to point to
current documentation structure.
2026-02-21 17:05:11 +09:00
YeonGyu-Kim
1205e60fb9 fix: resolve publish blockers for v3.7.4→v3.8.0 release (#2014)
fix: resolve publish blockers for v3.7.4→v3.8.0 release
2026-02-21 16:43:19 +09:00
YeonGyu-Kim
66aebb1b59 fix: resolve ultrabrain review findings
- Remove runtime-fallback gate from session.status retry handler — runtime-fallback
  has no session.status handler, so gating it causes retry signals to be silently dropped
- Fix background_output full_session arg description: default is true, not false
2026-02-21 16:40:15 +09:00
YeonGyu-Kim
fe415319e5 fix: resolve publish blockers for v3.7.4→v3.8.0 release
- Fix #1991 crash: optional chaining for task-history sessionID access
- Fix #1992 think-mode: add antigravity entries to HIGH_VARIANT_MAP
- Fix #1949 Copilot premium misattribution: use createInternalAgentTextPart
- Fix #1982 load_skills: pass directory to discoverSkills for project-level skills
- Fix command priority: sort scopePriority before .find(), project-first return
- Fix Google provider transform: apply in userFallbackModels path
- Fix ralph-loop TUI: optional chaining for event handler
- Fix runtime-fallback: unify dual fallback engines, remove HTTP 400 from retry,
  fix pendingFallbackModel stuck state, add priority gate to skip model-fallback
  when runtime-fallback is active
- Fix Prometheus task system: exempt from todowrite/todoread deny
- Fix background_output: default full_session to true
- Remove orphan hooks: hashline-edit-diff-enhancer (redundant with hashline_edit
  built-in diff), task-reminder (dead code)
- Remove orphan config entries: 3 stale hook names from Zod schema
- Fix disabled_hooks schema: accept arbitrary strings for forward compatibility
- Register json-error-recovery hook in tool-guard pipeline
- Add disabled_hooks gating for question-label-truncator, task-resume-info,
  claude-code-hooks
- Update test expectations to match new behavior
2026-02-21 16:24:18 +09:00
YeonGyu-Kim
ee5df1683e refactor: remove slashcommand tool implementation 2026-02-21 14:38:18 +09:00
YeonGyu-Kim
552ad3a09c refactor: remove unused 'message' variable from chat-message.ts 2026-02-21 14:31:42 +09:00
YeonGyu-Kim
2d79d64bb2 fix(build): correct JSON schema target from draft-07 to draft-7
Fix invalid target warning in schema generation.
Schema regenerated with correct draft-7 target.
2026-02-21 14:19:52 +09:00
YeonGyu-Kim
c1c7d18133 fix: resolve 4 publish blockers — CLI bin, schema export, security vulns, doc link
- Remove leading ./ from bin entry (npm strips invalid paths)
- Write schema to dist/ for export map compatibility (keep assets/ for GitHub URL)
- Remove unused codex dep + bump @modelcontextprotocol/sdk to ^1.25.2
- Fix broken relative link in configuration.md (../guide/installation.md)

🤖 Generated with assistance of OhMyOpenCode (https://github.com/code-yeongyu/oh-my-opencode)
2026-02-21 13:59:53 +09:00
YeonGyu-Kim
8623f58a38 fix: resolve 5 deployment blockers (runtime-fallback race, hashline legacy, tmux spawn, db open)
- runtime-fallback: guard session.error with sessionRetryInFlight to prevent
  double-advance during active retry; expand session.stop abort to include
  sessionAwaitingFallbackResult; remove premature pendingFallbackModel clearing
  from auto-retry finally block
- hashline-edit: add HASHLINE_LEGACY_REF_PATTERN for backward-compatible
  LINE:HEX dual-parse in parseLineRef and normalizeLineRef
- tmux-subagent: defer session on null queryWindowState; unconditionally
  re-queue deferred session on spawn failure (not just close+spawn)
- ultrawork-db: wrap new Database(dbPath) in try/catch to handle corrupted DB
- event: add try/catch guards around model-fallback logic in message.updated,
  session.status, and session.error handlers
2026-02-21 05:59:30 +09:00
YeonGyu-Kim
546cefd8f8 docs: remove quotio/cliproxyapi references from READMEs 2026-02-21 05:59:19 +09:00
YeonGyu-Kim
5adbbad277 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
e58c2efa70 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
92c3d3917b 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
940e49b44c 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
1db5a666dc ci: trigger CI run 2026-02-21 05:36:11 +09:00
YeonGyu-Kim
590dc04be7 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
daa0d48026 fix(rebase): remove duplicated hooks exports and event dispatch artifact 2026-02-21 05:36:11 +09:00
YeonGyu-Kim
db9df55e41 fix(session-recovery): fix SDK fallback part.tool mapping and nosuchtoolarror typo 2026-02-21 05:35:28 +09:00
YeonGyu-Kim
d08fa728b4 test(executor): add afterEach cleanup to prevent timer leaks on assertion failure 2026-02-21 05:35:28 +09:00
YeonGyu-Kim
1970d6d72b ci: trigger CI run 2026-02-21 05:35:28 +09:00
YeonGyu-Kim
fbe7e61ab4 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
d618678844 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
4aec627b33 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
e21bbed3ab 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
7bb427078a fix(ralph-loop): use inherited fallback context and SDK TUI session selection 2026-02-21 05:33:53 +09:00
YeonGyu-Kim
6ad615958f fix(ci): restore missing hook exports and align config-handler test fixtures 2026-02-21 05:33:53 +09:00