2641 Commits

Author SHA1 Message Date
YeonGyu-Kim
d9ee0d9c0d docs: rewrite agent-model matching as technical guide for agents
Rewrite agent-model-matching.md as a technical reference that:
- Documents actual fallback chains from model-requirements.ts
- Explains model-specific prompt routing (Prometheus/Atlas GPT detection)
- Covers safe vs dangerous model substitutions with rationale
- Includes task categories (visual-engineering, deep, quick, etc.)
- Guides agents on how to explain model choices to users
- Adds provider priority chain

Also update installation.md to reference the guide when users
want custom model configuration, with explanation of what is
safe to change and why.
2026-02-19 15:01:34 +09:00
YeonGyu-Kim
3b8846e956 fix: correct Atlas model recommendations
Atlas primary model is Kimi K2.5, not Opus. Updated TL;DR table
and detailed breakdown to reflect actual recommended order:
Kimi K2.5 > Sonnet > GPT.
2026-02-19 15:00:05 +09:00
YeonGyu-Kim
b1008510f8 docs: add agent-model matching guide for newcomers
- Add docs/guide/agent-model-matching.md with TL;DR table, detailed
  breakdown per agent, configuration examples, decision tree, common
  pitfalls, and default fallback chains
- Update README.md to reference the guide in TOC, Just Install This
  section, and Features overview
2026-02-19 15:00:05 +09:00
YeonGyu-Kim
fb596ed149
fix(todo-continuation-enforcer): check isContinuationStopped in injectContinuation to close /stop-continuation race
fix(todo-continuation-enforcer): check isContinuationStopped in injectContinuation to close /stop-continuation race
2026-02-19 14:25:16 +09:00
YeonGyu-Kim
a551fceca9 test(todo-continuation-enforcer): cover isContinuationStopped race during countdown
Adds a regression test for the race where /stop-continuation fires after
handleSessionIdle passes the flag check but before injectContinuation runs.
Verifies no injection occurs when the flag becomes true mid-countdown.
2026-02-19 14:08:03 +09:00
YeonGyu-Kim
9fa9dace2c fix(todo-continuation-enforcer): check isContinuationStopped in injectContinuation to close race window
When /stop-continuation is invoked during the 2s countdown, the stop flag
was never checked inside injectContinuation, so the injection would still
fire after the countdown elapsed.

Propagate isContinuationStopped from handleSessionIdle through startCountdown
into injectContinuation, where it is now re-checked before any API call.
2026-02-19 14:07:52 +09:00
YeonGyu-Kim
31dc6e206d feat(hashline): enable hashline-edit by default
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-02-19 10:46:40 +09:00
YeonGyu-Kim
f9c78de171 fix(run): set default stabilization to 1s and coerce non-positive values
- Change MIN_STABILIZATION_MS from 0 to 1_000 to prevent premature exits
- Coerce non-positive minStabilizationMs to default instead of treating as disabled
- Fix stabilization logic: track firstWorkTimestamp inside the meaningful-work branch
- Add tests for default stabilization behavior and zero-value coercion

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-02-19 10:46:40 +09:00
YeonGyu-Kim
bd2e23584b docs: update AGENTS.md metadata
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-02-19 10:46:40 +09:00
YeonGyu-Kim
2034cf137a docs: add module-level AGENTS.md for config-manager, keyword-detector, ralph-loop, session-recovery, todo-continuation-enforcer
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-02-19 10:46:40 +09:00
YeonGyu-Kim
a28e989f83 docs: add module-level AGENTS.md for mcp-oauth, atlas, rules-injector, background-task, call-omo-agent, lsp
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-02-19 10:46:40 +09:00
YeonGyu-Kim
73514ed329 docs: update AGENTS.md metadata
Generated: 2026-02-19 | Commit: 5dc437f4 | 1158 TS files, 133k LOC

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-02-19 10:46:40 +09:00
YeonGyu-Kim
d5bd9cae98 feat(cli): enable timestamped run output by default 2026-02-19 10:46:40 +09:00
github-actions[bot]
d485ba2d4c
@maximharizanov has signed the CLA in code-yeongyu/oh-my-opencode#1953 2026-02-18 20:52:50 +00:00
github-actions[bot]
69d6a2d181
@gustavosmendes has signed the CLA in code-yeongyu/oh-my-opencode#1952 2026-02-18 19:04:38 +00:00
Sisyphus
575fc383e0
Merge pull request #1950 from code-yeongyu/fix/remove-dead-ultrawork-model-override
refactor: remove dead ultrawork-model-override and non-max20 opus-4-6 code
2026-02-19 03:33:23 +09:00
YeonGyu-Kim
6df7f73f81 refactor: remove dead ultrawork model override code
Remove ultrawork-model-override hook and per-agent ultrawork model swap
config that relied on zen opencode.ai free tier (no longer functional).

Removed:
- src/hooks/ultrawork-model-override/ (hook, test, index)
- ultrawork field from AgentOverrideConfigSchema
- ultrawork-model-override from HookNameSchema
- UltraworkConfig type from model-fallback-types
- Non-max20 sonnet+ultrawork-opus codepath from model-fallback
- Claude subscription model table from installation docs
- All references in plugin-interface, create-session-hooks, schema.json
- Related test cases and updated snapshots
2026-02-19 03:17:40 +09:00
github-actions[bot]
5dc437f45d release: v3.7.4 v3.7.4 2026-02-18 17:09:59 +00:00
github-actions[bot]
ebd97c85cc
@kang-heewon has signed the CLA in code-yeongyu/oh-my-opencode#1936 2026-02-18 16:43:59 +00:00
YeonGyu-Kim
b4183339e7 fix(tests): stabilize auto-update-checker isolation under bun 2026-02-19 01:40:58 +09:00
YeonGyu-Kim
8c726f5589
Merge pull request #1946 from code-yeongyu/fix/failing-tests-v3.8.0
fix(tests): update atlas hook and auto-update-checker tests
2026-02-18 23:36:10 +09:00
YeonGyu-Kim
6e16087779 fix(tests): update atlas hook and auto-update-checker tests
- atlas hook: update verification reminder assertions to match new
  4-phase QA system (MANDATORY -> PHASE 1/2, LIE -> LYING)
- auto-update-checker: add missing revertPinnedVersion mock export
  to fix SyntaxError in background-update-check tests

Note: 4 auto-update-checker tests fail only when run alongside
checker.test.ts due to bun mock.module isolation issue (pre-existing
in v3.7.3, not a regression)
2026-02-18 23:13:16 +09:00
YeonGyu-Kim
b0e8f5ec7b feat(run): print agent/model/duration on assistant completion 2026-02-18 21:10:21 +09:00
YeonGyu-Kim
6bf365595f refactor: replace opencode/glm-4.7-free with opencode/big-pickle model
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-18 21:10:21 +09:00
YeonGyu-Kim
096db59399 fix(run): inherit main-session tool permissions for continuation prompts 2026-02-18 21:10:21 +09:00
YeonGyu-Kim
7622eddb0d refactor(agents): convert all markdown tables to bullet lists across 12 agent files
Tables in template literal prompts render poorly in some LLM contexts.
Replaced 43 table instances with equivalent bullet list format preserving
all information. Affected: hephaestus, atlas/default, atlas/prompt-section-builder,
sisyphus-junior/gpt, librarian, explore, metis, prometheus/behavioral-summary,
prometheus/identity-constraints, prometheus/interview-mode, prometheus/plan-generation,
prometheus/plan-template.
2026-02-18 21:10:21 +09:00
YeonGyu-Kim
0d49c0cec2
Merge pull request #1535 from acamq/feature/start-work-plan-name-clean
feat(prometheus): include plan name in /start-work guidance
2026-02-18 18:20:08 +09:00
YeonGyu-Kim
305d036577
Merge pull request #1549 from MoerAI/fix/windows-path-absolute-check
fix(hooks): use path.isAbsolute() for cross-platform path detection on Windows
2026-02-18 18:04:13 +09:00
YeonGyu-Kim
a493227fe4
Merge pull request #1822 from Strocs/fix/non-interactive-env-hook-duplication
fix(non-interactive-env): prevent environment variable duplication on repeated executions
2026-02-18 18:03:50 +09:00
YeonGyu-Kim
94a5a32806
Merge pull request #1940 from alaa-alghazouli/fix-readme-installation-commands
fix(readme): swap installation instructions for humans and AI
2026-02-18 18:03:21 +09:00
YeonGyu-Kim
943a4da349
Merge pull request #1938 from POBIM/fix/delegate-task-agent-overrides
fix(delegate-task): pass plugin agent overrides into task resolver
2026-02-18 18:03:13 +09:00
YeonGyu-Kim
75ff6e1be1 feat(atlas): enforce 4-phase critical QA with mandatory hands-on verification
Rewrite Atlas GPT verification from a checklist to a 4-phase protocol:
Phase 1 (Read Code First), Phase 2 (Automated Checks), Phase 3 (Hands-On QA),
Phase 4 (Gate Decision). Hands-on QA is now mandatory for user-facing changes,
not 'if applicable'. Hook message reinforces subagent distrust and requires
actually running deliverables before proceeding to next task.
2026-02-18 17:50:26 +09:00
YeonGyu-Kim
d837498318 feat(agents): boost sisyphus parallel tool call intensity, remove incorrect subagent_type enforcement from hephaestus 2026-02-18 17:47:08 +09:00
YeonGyu-Kim
617e53605a feat(cli): use sonnet-4-6 with ultrawork opus-4-6 for non-max20 Claude subscribers 2026-02-18 17:47:08 +09:00
YeonGyu-Kim
376bd7428a test(hooks): add ultrawork-model-override unit tests 2026-02-18 17:47:08 +09:00
YeonGyu-Kim
e863fe2013 feat(hooks): add ultrawork-model-override hook for per-agent model swap 2026-02-18 17:47:08 +09:00
YeonGyu-Kim
aad938a21f
Merge pull request #1941 from code-yeongyu/fix/issue-1939-initial-pane-spawn
fix(tmux): skip agent area width guard when 0 agent panes exist
2026-02-18 17:46:57 +09:00
YeonGyu-Kim
a717a95e13 fix: clear spy call history in completion-verbose-logging test
spyOn(console, 'log') accumulates calls across test files in bun:test.
Add mockClear() after spy creation to prevent cross-file contamination
when run in the same bun test batch as completion.test.ts.
2026-02-18 17:43:16 +09:00
YeonGyu-Kim
7b3a64b77e test(tmux): add boundary tests for exact split threshold with 0 agent panes 2026-02-18 17:33:26 +09:00
YeonGyu-Kim
e2e89b1f57 fix(tmux): skip agent area width guard when 0 agent panes exist
When no agent panes exist, mainPane.width equals windowWidth, making
agentAreaWidth zero. The early return guard blocked initial pane creation
before the currentCount === 0 handler could execute.

Add currentCount > 0 condition so the guard only fires when agent panes
already exist, allowing the bootstrap handler to evaluate canSplitPane.

Closes #1939
2026-02-18 17:30:05 +09:00
YeonGyu-Kim
5bb0e69dea fix(cli-run): silence wait noise and suppress raw arrow escape input 2026-02-18 17:25:13 +09:00
github-actions[bot]
8f74dbbcae
@alaa-alghazouli has signed the CLA in code-yeongyu/oh-my-opencode#1940 2026-02-18 08:21:29 +00:00
alaa-alghazouli
5141c42e3c
fix(readme): swap installation instructions for international languages 2026-02-18 09:18:21 +01:00
alaa-alghazouli
28097e9461
fix(readme): swap installation instructions for humans and AI 2026-02-18 09:18:21 +01:00
github-actions[bot]
e20fba3ab3
@POBIM has signed the CLA in code-yeongyu/oh-my-opencode#1938 2026-02-18 08:12:02 +00:00
pobim
eb6f093273 fix(delegate-task): pass agent overrides to subagent resolver 2026-02-18 15:00:09 +07:00
YeonGyu-Kim
a60a153d19 refactor(hooks): rename sisyphus-gpt-hephaestus-reminder to no-sisyphus-gpt
Shorter hook name, disableable via disabled_hooks config, migration added
for backward compatibility. Also forces agent switch to Hephaestus on
Sisyphus + GPT detection. Docs updated with new hook name.
2026-02-18 16:33:16 +09:00
YeonGyu-Kim
a49e05fd56 fix(hooks): fix sisyphus-gpt-hephaestus-reminder never matching agent name
Use getAgentConfigKey() to normalize display names (e.g. 'Sisyphus (Ultraworker)')
back to config keys before comparison. Update toast to 10s duration with clearer
line-broken messaging.
2026-02-18 16:26:47 +09:00
YeonGyu-Kim
dacada152a fix(cli-run): attach to default server when auto port range exhausted 2026-02-18 16:02:57 +09:00
YeonGyu-Kim
ada8c127aa refactor(cli-run): remove redundant opencode bin path shim 2026-02-18 16:00:33 +09:00