Commit Graph

1777 Commits

Author SHA1 Message Date
YeonGyu-Kim 2b09f3d3c9 fix(cli-run): avoid infinite wait on missing child status
Treat child sessions missing from session.status as transient so completion polling can proceed while still blocking on explicit non-idle descendants.
2026-02-17 16:15:25 +09:00
YeonGyu-Kim 2541efb804 feat(cli-run): show agent/model header and suppress toast output 2026-02-17 16:11:34 +09:00
YeonGyu-Kim bf3cee24ce refactor: remove cli run timeout path and rely on strict completion 2026-02-17 16:01:57 +09:00
YeonGyu-Kim 3554d86bac fix: enforce continuation-aware completion gating 2026-02-17 16:01:57 +09:00
YeonGyu-Kim 0e1c55c5cb fix: harden run completion checks and graceful timeout 2026-02-17 16:01:57 +09:00
YeonGyu-Kim 873c29f3d9 fix: gate run event traces behind --verbose 2026-02-17 16:01:57 +09:00
YeonGyu-Kim 94dc6f14f5 Merge pull request #1845 from iyoda/refactor/consolidate-port-utils
refactor(mcp-oauth): consolidate duplicate port utilities into shared/port-utils
2026-02-17 15:59:51 +09:00
YeonGyu-Kim a8addb0e63 Merge pull request #1907 from BowTiedSwan/fix/json-retry-loop
feat(hooks): add json-error-recovery hook to prevent infinite retry loops
2026-02-17 15:59:44 +09:00
YeonGyu-Kim e86afe44f8 Merge pull request #1911 from jkoelker/preserve-default-agent
fix(config): normalize configured default_agent
2026-02-17 15:59:36 +09:00
YeonGyu-Kim 85afcb5f0f fix(config): scope default_agent normalization to Sisyphus mode 2026-02-17 15:50:08 +09:00
YeonGyu-Kim eb775d1a94 fix(hooks): harden json-error-recovery matching and scope 2026-02-17 15:46:21 +09:00
YeonGyu-Kim 1f46e73fa3 refactor: remove 3 orphaned files and prefix unused parameter 2026-02-17 14:09:12 +09:00
YeonGyu-Kim eef47d794d refactor: remove 3 orphaned files from call-omo-agent and delegate-task 2026-02-17 14:08:44 +09:00
YeonGyu-Kim 37d7247075 refactor: remove 16 orphaned files from background-agent 2026-02-17 14:08:38 +09:00
YeonGyu-Kim 10c98519da refactor: remove orphaned modules/ directory from background-task 2026-02-17 14:08:30 +09:00
YeonGyu-Kim 304faf71ca refactor: remove 3 orphaned files and unused import from tmux-subagent 2026-02-17 14:08:28 +09:00
YeonGyu-Kim d22c2f8a49 refactor: remove 3 orphaned files from background-agent/spawner 2026-02-17 14:08:12 +09:00
YeonGyu-Kim 7db82512be refactor(prompts): replace markdown tables with bullet lists, harden Oracle protection
Convert all markdown tables in Sisyphus and dynamic-agent-prompt-builder
to plain bullet lists for cleaner prompt rendering.

Add explicit Oracle safeguards:
- Hard Block: background_cancel(all=true) when Oracle running
- Hard Block: delivering final answer before collecting Oracle result
- Anti-Pattern: background_cancel(all=true) and skipping Oracle
- Oracle section: NEVER cancel, collect via background_output first
- Background Result Collection: split cancel/wait into separate steps
  with explicit NEVER use background_cancel(all=true) instruction
2026-02-17 13:26:37 +09:00
YeonGyu-Kim 5eb354acc6 docs: fix structural counts in AGENTS.md (hook handlers 7→8, tool dirs 14→15, core hooks 33→32, session hooks 20→19, config merge order) 2026-02-17 11:26:28 +09:00
YeonGyu-Kim 0a3c1bdd0f docs: regenerate all AGENTS.md files from comprehensive codebase exploration
- Fired 33 parallel explore agents across all major directories
- Analyzed 1164 TS files, 133k LOC, 41 hooks, 26 tools, 11 agents, 18 features
- Regenerated 13 AGENTS.md files with 905 total lines
- Root: plugin architecture, initialization flow, 7 OpenCode hook handlers
- src/: entry point orchestration, hook composition pipeline
- agents/: 11 agent inventory with tool restrictions and factory patterns
- hooks/: 41 hooks organized by 5 tiers, key complex hooks documented
- tools/: 26 tools across 14 directories, delegation categories
- features/: 18 modules mapped by complexity (HIGH/MEDIUM/LOW)
- shared/: 101 utilities in 13 categories, model resolution pipeline
- config/: 22 schema files, Zod v4 validation system
- cli/: 5 commands, doctor checks, model fallback system
- mcp/: 3-tier MCP system architecture
- plugin-handlers/: 6-phase config loading pipeline
- claude-code-hooks/: CC settings.json compatibility layer
- claude-tasks/: task schema + file-based persistence

🤖 Generated with assistance of oh-my-opencode
2026-02-17 11:17:01 +09:00
YeonGyu-Kim 21144ed1e3 fix: read anthropic 1m flag from live model cache state 2026-02-17 10:51:01 +09:00
YeonGyu-Kim d979bd945a test: cover model-cache and env fallback context limits 2026-02-17 10:51:01 +09:00
YeonGyu-Kim ce5e6857ad fix: use model cache context flag for runtime context limits 2026-02-17 10:51:01 +09:00
YeonGyu-Kim 8e55f4ee5d fix: export fallback availability from traced module 2026-02-17 10:47:09 +09:00
Jason Kölker d1ce02e116 fix(config): normalize configured default_agent
Agent keys are remapped to display names, so preserving `default_agent`
values could still select a missing key at runtime.

This regression surfaced after d94a739203 remapped `config.agent` keys
to display names without canonicalizing configured defaults.

Normalize configured `default_agent` through display-name mapping before
fallback logic and extend tests to cover canonical and display-name
inputs.
2026-02-17 01:45:47 +00:00
YeonGyu-Kim fcf3adf43a fix: add fallback resolution warnings for unavailable models 2026-02-17 10:29:48 +09:00
YeonGyu-Kim 6abe98fb4c fix(tmux): stop layout override after spawn, use configured main pane size
Remove applyLayout(select-layout main-vertical) call after spawn which
was destroying grid arrangements by forcing vertical stacking. Now only
enforceMainPaneWidth is called, preserving the grid created by manual
split directions. Also fix enforceMainPaneWidth to use config's
main_pane_size percentage instead of hardcoded 50%.
2026-02-17 09:50:17 +09:00
YeonGyu-Kim 34f212c2cb fix(tmux): use actual pane dimensions and configured min width for grid calculation
Agent area width now uses real mainPane.width instead of hardcoded 50%
ratio. Grid planning, split availability, and spawn target finding now
respect user's agent_pane_min_width config instead of hardcoded
MIN_PANE_WIDTH=52, enabling 2-column grid layouts on narrower terminals.
2026-02-17 09:48:18 +09:00
YeonGyu-Kim bbb89c5465 update: always wait for Oracle results instead of blanket background_cancel(all=true) 2026-02-17 09:42:59 +09:00
bowtiedswan 081f31bfc8 feat(hooks): add json-error-recovery hook to prevent infinite retry loops 2026-02-16 21:35:58 +02:00
YeonGyu-Kim c7ed266806 fix: stop tracking sessions that never become ready
When session readiness times out, immediately close the spawned pane and skip tracking to prevent stale mappings from causing reopen and close anomalies.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-17 03:40:55 +09:00
YeonGyu-Kim b29d3ce382 fix: size main pane using configured layout percentage
Main pane resize now uses main_pane_size instead of a hardcoded 50 percent fallback so post-split layout remains stable and predictable.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-17 03:40:46 +09:00
YeonGyu-Kim 3974fce4fb fix: align split targeting with configured pane width
Use the configured agent pane width consistently in split target selection and avoid close+spawn churn by replacing the oldest pane when eviction is required.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-17 03:40:37 +09:00
YeonGyu-Kim 51c29887eb refactor: route status porcelain map parsing through line parser 2026-02-17 03:29:10 +09:00
YeonGyu-Kim 5a3350f00e test: add dedicated status porcelain line parser with coverage 2026-02-17 03:29:01 +09:00
YeonGyu-Kim 2287392203 update: Hephaestus completion guarantee, Sisyphus-Junior Hephaestus-style rewrite, snake_case tools
Hephaestus:
- Add Completion Guarantee section with Codex-style persistence framing
- Add explicit explore/librarian call syntax examples (subagent_type, not category)
- Use positive 'keep going until resolved' over negative 'NEVER stop'
- Fix tool names: TaskCreate/TaskUpdate → task_create/task_update

Sisyphus-Junior GPT:
- Full Hephaestus-style rewrite: autonomy, reporting, parallelism, tool usage
- Remove Blocked & Allowed Tools section and 'You work ALONE' messaging
- Add Progress Updates, Ambiguity Protocol, Code Quality sections
- Fix tool names: TaskCreate/TaskUpdate → task_create/task_update

Sisyphus-Junior Default:
- Remove buildConstraintsSection and blocked actions messaging
- Fix tool names: TaskCreate/TaskUpdate → task_create/task_update

Tests: update all assertions for new prompt structure (31/31 pass)
2026-02-17 03:12:32 +09:00
YeonGyu-Kim 3e06d280a9 fix: prevent overlapping poll cycles in managers
Guarding polling re-entry avoids stacked async polls under slow responses, and unref on pending-call cleanup timer reduces idle wakeups.
2026-02-17 03:06:40 +09:00
YeonGyu-Kim 14374095af update: soften Hephaestus brevity bias — replace 'brief/briefly' with 'clear' throughout
Replace 7 instances of brief/briefly that caused over-terse behavior:
- 'briefly restate' → 'restate'
- 'brief summary' → 'clear summary'
- 'briefly state the WHY' → 'explain the WHY' (×2)
- 'brief context' → 'clear context'
- 'Brief updates' → 'Clear updates (a few sentences)'
- 'keep it brief and clear' → 'keep it clear and helpful'
2026-02-17 02:58:42 +09:00
YeonGyu-Kim d2ae3999a2 update: Hephaestus prompt — restore intent gate, strengthen parallelism and reporting
- Restore Assumptions Check and When to Challenge the User from Sisyphus intent gate
- Add proactive explore/librarian firing to CORRECT behavior list
- Strengthen parallel execution with GPT-5.2 tool_usage_rules (parallelize ALL independent calls)
- Embed reporting into each Execution Loop step (Tell user pattern)
- Strengthen Progress Updates with plain-language and WHY-not-just-WHAT guidance
- Add post-edit reporting to Output Contract and After Implementation
- Fix Output Contract preamble conflict (skip empty preambles, but DO report actions)
2026-02-17 02:56:22 +09:00
YeonGyu-Kim 71e4f975bb refactor: diet Hephaestus prompt — remove redundancy, add progress updates and skill examples
- Remove router nudge (reasoning configuration section)
- Remove redundant sections: Role & Agency, Judicious Initiative, Success
  Criteria, Response Compaction, Soft Guidelines
- Merge Identity + Core Principle into compact Identity section
- Restore autonomous behavior policy (FORBIDDEN/CORRECT) from Role & Agency
- Add Progress Updates section with friendly tone and concrete examples
- Add Skill Loading Examples table (frontend-ui-ux, playwright, git-master, tauri)
- Condense Parallel Execution, Execution Loop, Verification, Failure Recovery
- Update Output Contract with friendly communication style

651 → 437 lines (33% reduction), behavior preserved
2026-02-17 02:46:11 +09:00
YeonGyu-Kim 289fcdffe8 fix: skip startup toasts in CLI run mode for auto-update-checker
Add OPENCODE_CLI_RUN_MODE environment variable check to skip all startup
toasts and version checks when running in CLI mode. This prevents
notification spam during automated CLI run sessions.

Includes comprehensive test coverage for CLI run mode behavior.

🤖 Generated with OhMyOpenCode assistance
2026-02-17 02:34:39 +09:00
YeonGyu-Kim d3f24aa608 fix: add directory parameter and improve CLI run session handling
- Add directory parameter to session API calls (session.get, session.todo,
  session.status, session.children)
- Improve agent resolver with display name support via agent-display-names
- Add tool execution visibility in event handlers with running/completed
  status output
- Enhance poll-for-completion with main session status checking and
  stabilization period handling
- Add normalizeSDKResponse import for consistent response handling
- Update types with Todo, ChildSession, and toast-related interfaces

🤖 Generated with OhMyOpenCode assistance
2026-02-17 02:34:35 +09:00
YeonGyu-Kim 014e35609e fix: invoke claude-code-hooks PreCompact in session compacting handler
The experimental.session.compacting handler was not delegating to
claudeCodeHooks, making PreCompact hooks from .claude/settings.json
dead code. Also fixed premature early-return when compactionContextInjector
was null which would skip any subsequent hooks.
2026-02-17 02:14:01 +09:00
YeonGyu-Kim 0ff159e150 fix: prefer a runnable opencode binary for cli run 2026-02-17 02:12:36 +09:00
YeonGyu-Kim bba157f51e fix: include provider-models cache for Hephaestus availability 2026-02-17 02:03:03 +09:00
YeonGyu-Kim e0ec44bea9 fix: skip compaction messages in parent-session context lookup 2026-02-17 02:03:03 +09:00
YeonGyu-Kim 3dd9814ff7 Merge branch 'dev' into fix/1671-tmux-layout 2026-02-17 01:58:59 +09:00
YeonGyu-Kim b10696250e Merge pull request #1899 from code-yeongyu/fix/1700-vertex-anthropic
fix: recognize google-vertex-anthropic as Claude provider (#1700)
2026-02-17 01:58:26 +09:00
YeonGyu-Kim 538c3c231c Merge pull request #1897 from code-yeongyu/fix/1679-copilot-fallback
fix: handle all model versions in normalizeModelName for fallback chains (#1679)
2026-02-17 01:58:24 +09:00
YeonGyu-Kim db045497c3 Merge branch 'dev' into fix/1700-vertex-anthropic 2026-02-17 01:54:11 +09:00