feelsodev
6d3b355762
fix: add google provider model transform across all resolution paths
...
transformModelForProvider only handled github-copilot provider, leaving
google provider models untransformed. This caused ProviderModelNotFoundError
when google/gemini-3-flash was sent to the API (correct ID is
gemini-3-flash-preview).
Changes:
- Add google provider to transformModelForProvider with idempotent regex
negative lookahead to prevent double -preview suffix
- Fix category-default path in model-resolution-pipeline when
availableModels is empty but connected provider exists
- Fix getFirstFallbackModel first-run path that constructed raw model IDs
without transformation
- Fix github-copilot provider gemini transforms to also use idempotent
regex (was vulnerable to double-transform)
- Extract transformModelForProvider to shared module (single source of
truth, imported by cli and shared layers)
- Add 20 new test cases: unit tests for both providers, runtime
integration tests for category-default and fallback-chain paths,
double-transform prevention for both providers
2026-02-21 02:29:02 +09:00
feelsodev
63994cf2dd
refactor: move transformModelForProvider to shared for runtime access
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-21 02:29:02 +09:00
VespianRex
8ccb1eaef0
Address review feedback for fallback fixes
2026-02-20 17:46:12 +02:00
VespianRex
ff78a7f46a
Fix model fallback across main/background/sync agents
2026-02-20 17:45:53 +02:00
YeonGyu-Kim
864d58740d
Merge pull request #1844 from liu-qingyuan/fix/tmux-split-defer-fifo
...
fix(tmux): prefer split-or-defer with FIFO deferred attach
2026-02-20 11:55:32 +09:00
YeonGyu-Kim
bce12d2fdc
Merge pull request #1953 from maximharizanov/fix/copilot-initiator-attribution
...
fix(copilot): mark internal hook injections as agent-initiated
2026-02-20 11:54:01 +09:00
YeonGyu-Kim
f30c656ebf
fix(config): promote hashline_edit to top-level flag
...
Move hashline_edit out of experimental so it is a stable top-level config with default-on runtime behavior and explicit disable support. Add migration and tests to preserve existing experimental.hashline_edit users without breaking configs.
2026-02-20 11:12:33 +09:00
liu-qingyuan
7bfbea1a06
fix(tmux): prefer split-or-defer with FIFO deferred attach
2026-02-20 07:09:49 +08:00
Maxim Harizanov
8b4a1972ea
fix(copilot): keep notifications visible and detect marker via message lookup
2026-02-19 13:17:02 +02:00
Maxim Harizanov
dcfe72e989
fix(copilot): mark internal background notifications as agent-initiated
2026-02-19 13:17:02 +02:00
YeonGyu-Kim
b66d338c59
test(models): sync librarian fallback expectation
2026-02-19 18:40:42 +09:00
YeonGyu-Kim
0af912a87d
feat(ultrawork): implement per-message model override with deferred DB retry strategy
...
- Add per-message ultrawork mode detection via keyword matching
- Implement deferred DB override strategy using microtask retry loop
- Fall back to setTimeout after 10 microtask retries for robustness
- Update agent configuration schema with ultrawork model/variant fields
- Integrate with chat.message hook to apply overrides on detection
- Add comprehensive tests for all override scenarios
- Generated schema includes ultrawork configuration
🤖 Generated with assistance of OhMyOpenCode (https://github.com/code-yeongyu/oh-my-opencode )
2026-02-19 18:40:42 +09:00
YeonGyu-Kim
cb2519f44f
refactor(models): expand provider listings for robust fuzzy matching
...
Add alternative providers to free-tier and cross-provider models:
- k2p5: add friendli as alternative to kimi-for-coding
- kimi-k2.5-free, minimax-m2.5-free, big-pickle, gpt-5-nano: add opencode-zen-abuse
- grok-code-fast-1: add venice as alternative to github-copilot
- glm-5: add opencode as alternative to zai-coding-plan
2026-02-19 18:40:42 +09:00
YeonGyu-Kim
327de261a2
refactor(atlas): remove gemini-3-pro from fallback chain
2026-02-19 18:40:42 +09:00
YeonGyu-Kim
5ff9d66788
refactor(multimodal-looker): reorder fallback to k2p5 → kimi-free → gemini-flash → gpt-5.2 → glm-4.6v
2026-02-19 18:40:42 +09:00
YeonGyu-Kim
035a213dec
refactor(explore): add minimax-m2.5-free as #2 fallback after grok-code-fast-1
2026-02-19 18:40:42 +09:00
YeonGyu-Kim
fa8a24b0af
refactor(librarian): switch fallback to minimax-m2.5-free → gemini-3-flash → big-pickle
2026-02-19 18:40:42 +09:00
YeonGyu-Kim
94611a9f93
refactor(models): upgrade zai-coding-plan default from glm-4.7 to glm-5
2026-02-19 18:40:42 +09:00
YeonGyu-Kim
fd67e6aff5
feat(prometheus): add GPT-5.2 optimized prompt with model-based routing
...
- Create gpt.ts with XML-tagged, principle-driven prompt (Codex plan mode style)
- Add getPrometheusPrompt() routing: GPT models → GPT prompt, others → default
- Promote gpt-5.2 (high) to #2 in prometheus fallback chain
- Follow Atlas GPT variant pattern (isGptModel detection)
2026-02-19 18:40:42 +09:00
YeonGyu-Kim
2df6655d1e
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
1003a03cc6
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
dba7a1e07c
fix(run): inherit main-session tool permissions for continuation prompts
2026-02-18 21:10:21 +09:00
YeonGyu-Kim
2fbee82494
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
8ea24d26d2
chore: upgrade claude-sonnet-4-5 to claude-sonnet-4-6 across codebase
2026-02-18 15:51:24 +09:00
YeonGyu-Kim
1f46e73fa3
refactor: remove 3 orphaned files and prefix unused parameter
2026-02-17 14:09:12 +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
YeonGyu-Kim
fcf3adf43a
fix: add fallback resolution warnings for unavailable models
2026-02-17 10:29:48 +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
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
3dd9814ff7
Merge branch 'dev' into fix/1671-tmux-layout
2026-02-17 01:58:59 +09:00
YeonGyu-Kim
c211b31d3e
Merge branch 'dev' into fix/1671-tmux-layout
2026-02-17 01:54:08 +09:00
YeonGyu-Kim
0fa188e5ee
Merge branch 'dev' into fix/1679-copilot-fallback
2026-02-17 01:54:05 +09:00
YeonGyu-Kim
9d3ac67da7
fix: detect AppData directory paths without trailing separators
2026-02-17 01:45:14 +09:00
YeonGyu-Kim
1c8e7dba9e
fix: apply tmux layout config during pane spawning ( #1671 )
2026-02-17 01:36:01 +09:00
YeonGyu-Kim
2f08c1d316
fix: use correct project directory for Windows subagents ( #1718 )
2026-02-17 01:29:25 +09:00
YeonGyu-Kim
1fa59efff5
fix: handle all model versions in normalizeModelName for fallback chains ( #1679 )
2026-02-17 01:27:10 +09:00
YeonGyu-Kim
9cc941e0cf
refactor: remove dead file task-id-validator.ts and unused isModelAvailable from model-name-matcher
2026-02-16 22:33:44 +09:00
YeonGyu-Kim
5fafa572a4
refactor: remove unused imports from injector, tool-result-storage-sdk, session-notification-utils, model-resolver
2026-02-16 22:11:05 +09:00
YeonGyu-Kim
49b6c108e2
Normalize agent name comparisons to handle display name keys
...
Hooks and tools now use getAgentConfigKey() to resolve agent names (which may
be display names like 'Atlas (Plan Executor)') to lowercase config keys
before comparison.
- session-utils: orchestrator check uses getAgentConfigKey
- atlas event-handler: boulder agent matching uses config keys
- category-skill-reminder: target agent check uses config keys
- todo-continuation-enforcer: skipAgents comparison normalized
- subagent-resolver: resolves 'metis' -> 'Metis (Plan Consultant)' for lookup
2026-02-16 20:43:09 +09:00
YeonGyu-Kim
2c9e6638f6
Revert name fields from agent configs, add getAgentConfigKey reverse lookup
...
Remove crash-causing name fields from 6 agent configs (sisyphus, hephaestus,
atlas, metis, momus, prometheus). The name field approach breaks opencode
because Agent.get(agent.name) uses name as lookup key.
Add getAgentConfigKey() to agent-display-names.ts for resolving display names
back to lowercase config keys (e.g. 'Atlas (Plan Executor)' -> 'atlas').
2026-02-16 20:42:45 +09:00
YeonGyu-Kim
0a06b82ec2
Update agent display names: add Hephaestus (Deep Agent), rename Atlas to (Plan Executor), rename Momus to (Plan Critic)
2026-02-16 20:12:24 +09:00
YeonGyu-Kim
0b10245c34
refactor: create normalizeSDKResponse helper and replace scattered patterns across 37 files
2026-02-16 18:20:19 +09:00
YeonGyu-Kim
700c310205
fix: add retry-once logic to isSqliteBackend for startup race condition
2026-02-16 16:52:25 +09:00
YeonGyu-Kim
de9a77e1af
fix: reduce HTTP API timeout from 30s to 10s
2026-02-16 16:52:23 +09:00
YeonGyu-Kim
9c2a92c235
docs: regenerate all 13 AGENTS.md files from deep codebase exploration
2026-02-16 16:13:40 +09:00