Commit Graph

5274 Commits

Author SHA1 Message Date
YeonGyu-Kim ecce65bb67 fix(skill): isolate injected skill discovery
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 13:24:50 +09:00
YeonGyu-Kim f1353cd9a8 fix(tmux): use stable fallback server URL
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 13:24:50 +09:00
YeonGyu-Kim c46b712997 fix(agents): hide grep glob for frontier agents
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 12:49:20 +09:00
acamq f74d03ca90 Merge pull request #3654 from acamq/fix/failing-ci
test: fix remaining stale gpt-5.4 expectations after gpt-5.5 promotion
2026-04-26 13:40:55 -06:00
acamq 0afacfa756 test: fix remaining stale gpt-5.4 expectations after gpt-5.5 promotion
Commit 708891dab fixed most test expectations after the gpt-5.5 model
promotion but missed 13 tests across 6 files that still expected
openai/gpt-5.4 in DEFAULT_CATEGORIES and AGENT_MODEL_REQUIREMENTS.

Updates all remaining stale expectations to openai/gpt-5.5:
- agents/utils.test.ts: atlas/metis resolution, buildAgent category,
  override.category expansion (5 tests)
- plugin-handlers/config-handler.test.ts: ultrabrain config resolution
  and fallback (2 tests)
- shared/agent-variant.test.ts: sisyphus chain variant and category
  fallback (2 tests)
- shared/model-capability-guardrails.test.ts: built-in requirement
  model ID assertion (1 test)
- tools/look-at/multimodal-fallback-chain.test.ts: multimodal-looker
  hardcoded variant metadata (1 test)
- cli/config-manager/generate-omo-config.test.ts: sisyphus model and
  fallback_models expectations (2 tests)
2026-04-26 13:20:46 -06:00
github-actions[bot] 25e1fa9c3d @gutierrezx7 has signed the CLA in code-yeongyu/oh-my-openagent#3651 2026-04-26 11:58:38 +00:00
YeonGyu-Kim b32620ca47 Merge pull request #3640 from ismetanin/docs/fix-kimi-code-link 2026-04-26 13:32:57 +09:00
github-actions[bot] 6a0272feb1 @ismetanin has signed the CLA in code-yeongyu/oh-my-openagent#3640 2026-04-25 13:13:03 +00:00
Ivan Smetanin 3577f30243 docs(readme): fix Kimi Code subscription link and price
The Kimi Code subscription link had drifted across the 5 README
translations: the English README pointed to https://www.kimi.com/kimiplus/sale
at $0.99, while the Japanese, Korean, Russian, and Simplified Chinese
versions pointed to https://www.kimi.com/membership/pricing with a
referral tracking ID, also at $0.99 with an "only this month" qualifier.

Normalized all 5 to the canonical https://www.kimi.com/code at $19,
preserving each language's localized "Kimi Code Subscription" wording.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 14:07:34 +01:00
github-actions[bot] c3b3417097 @ihoooohi has signed the CLA in code-yeongyu/oh-my-openagent#3637 2026-04-25 10:50:03 +00:00
github-actions[bot] 48b0cfeaf5 @darianstlex has signed the CLA in code-yeongyu/oh-my-openagent#3626 2026-04-24 17:59:48 +00:00
YeonGyu-Kim 33ac355645 Preserve migration history during config migration 2026-04-25 00:41:32 +09:00
YeonGyu-Kim fbd4cfba9e Update OpenAI defaults to GPT-5.5 2026-04-25 00:41:32 +09:00
github-actions[bot] 17d3350985 @hackerh3 has signed the CLA in code-yeongyu/oh-my-openagent#3600 2026-04-24 15:07:38 +00:00
acamq 7bbe11ac01 Merge pull request #3623 from MoerAI/fix/session-model-recovery-guard
fix(chat-message): remove unreachable guard that blocked session model recovery (fixes #3561)
2026-04-24 07:52:39 -06:00
MoerAI 7fa21efc2a fix(chat-message): remove unreachable guard that blocked session model recovery (fixes #3561) 2026-04-24 19:06:08 +09:00
YeonGyu-Kim 708891dabe test: fix stale expectations after gpt-5.5 model promotion
Updates test expectations across agent, cli, shared, plugin, and tools tests

to match gpt-5.5 as the new default for oracle, hephaestus, and deep agents.

Includes snapshot updates for model-fallback tests.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-24 16:17:44 +09:00
YeonGyu-Kim 6b46b9b4be fix(model-capabilities): add gpt-5.5 capability snapshot
Adds missing capability entry for gpt-5.5 to supplemental-entries.ts.

This model was promoted as default for oracle, hephaestus, and deep agents,

but the capability snapshot was missing, causing resolution failures.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-24 16:17:37 +09:00
YeonGyu-Kim 3875b40c17 feat(migration): auto-upgrade openai/gpt-5.4 to openai/gpt-5.5
Now that oracle, hephaestus, and the deep category ship gpt-5.5-native
prompts and default to gpt-5.5 in their fallback chains, user configs
that pin openai/gpt-5.4 should follow the same upgrade on next load.

The existing migration pipeline (migrateModelVersions) picks this up
automatically from MODEL_VERSION_MAP, records the upgrade in the
sidecar file to stay idempotent, and leaves gpt-5.4-mini / -mini-fast
/ -nano alone since those cost-tier variants are intentional picks
and do not have direct gpt-5.5 counterparts yet.
2026-04-24 13:13:14 +09:00
YeonGyu-Kim 3bab66b96c feat(models): promote gpt-5.5 as default for oracle, hephaestus, and deep
Now that each of these agents ships a native gpt-5.5 prompt variant,
their default OpenAI model is bumped from gpt-5.4 to gpt-5.5. The
gpt-5.4 entries are removed from the same-provider position in each
fallback chain (a single provider doesn't need both version entries -
if gpt-5.5 isn't available there, cross-provider fallback kicks in).

- oracle.fallbackChain: gpt-5.5 high (openai) -> gemini-3.1-pro -> claude -> glm
- hephaestus.fallbackChain: gpt-5.5 medium (openai only, requiresProvider)
- deep category.fallbackChain: gpt-5.5 medium -> claude -> gemini
- deep category.config: openai/gpt-5.5 medium

No changes to sisyphus, sisyphus-junior, ultrabrain, momus, or other
agents that still point at gpt-5.4; those stay on the shared regex-
based routing in the gpt-5-4 prompt family.
2026-04-24 13:06:50 +09:00
YeonGyu-Kim 1ff60d5afe feat(agents): add gpt-5.5 native oracle prompt
Inline ORACLE_GPT_5_5_PROMPT constant added to oracle.ts (Oracle is
a single-file agent, no sub-directory variant split).

Distinctive elements over ORACLE_GPT_PROMPT:
- Confidence signaling (high/medium/low) added as a required field
  alongside the existing effort estimate (borrowed from Codex's
  review_prompt.md)
- Codex-style section headers (# General, ## Decision framework,
  ## Response structure, etc.) replacing the XML-tagged structure
- Prose-first output more explicitly encouraged
- Three-tier response structure (Essential / Expanded / Edge cases)
  preserved with the same hard numerical limits
- Follow-up session behavior explicitly documented

createOracleAgent() branches on isGpt5_5Model first, then isGptModel,
falling back to the thinking-enabled claude default.
2026-04-24 13:06:35 +09:00
YeonGyu-Kim c57d08c0b4 feat(agents): add gpt-5.5 native sisyphus-junior prompt
The base prompt is category-agnostic; the actual category context (deep,
quick, ultrabrain, writing) layers on top at runtime via the
promptAppend parameter resolved by resolvePromptAppend.

Distinctive elements:
- Closing '# Category context' section explicitly telling the agent
  to read the appended block as overriding defaults on conflict
- Orchestrator-facing final-answer structure (What changed / Key
  decisions / Verification / Observations / Blockers) instead of a
  user-facing conversational close
- Sparse commentary cadence; the orchestrator synthesizes progress
  for the user, so mid-task narration is mostly noise

getSisyphusJuniorPromptSource() checks gpt-5-5 before the gpt-5.4 /
gpt-5.3-codex path so the new prompt takes precedence for gpt-5.5
deployments.
2026-04-24 13:06:18 +09:00
YeonGyu-Kim a432e29ae3 feat(agents): add gpt-5.5 native hephaestus prompt
Ground-up rewrite that follows the same Codex-style section structure
as the new gpt-5-5 sisyphus prompt, tuned for Hephaestus's autonomous
deep-worker role.

Distinctive elements:
- 'Autonomy and Persistence' section with named 'Forbidden stops' list
  (replaces gpt-5-4's FORBIDDEN/CORRECT table rhetoric)
- 'Three-attempt failure protocol' codified
- 'Exploration-first approach' with explicit 5-15 minute expectation
- 'Dig deeper' subsection for root-cause bias
- 'Ambition vs precision' distinction for greenfield vs existing
  codebase work

getHephaestusPromptSource() now checks gpt-5-5 before gpt-5-4; the
regex-based gpt-5-4 path stays as the catch-all for other native
versions.
2026-04-24 13:06:02 +09:00
YeonGyu-Kim 98964eb6f8 feat(agents): add gpt-5.5 native sisyphus prompt
Ground-up rewrite styled after OpenAI Codex's gpt-5.4 prompt
architecture: '# General' -> '## Autonomy and Persistence' -> '## Task
execution' -> '## Validating your work' -> '# Working with the user' ->
'# Tool Guidelines' section hierarchy.

Key differences from the gpt-5-4 variant:
- Prose-first output, bullets only when content is list-shaped
- Contract frames replace threat frames (GPT-5.5 follows instructions
  well; NEVER/FORBIDDEN rhetoric adds entropy without compliance gain)
- Explicit opener blacklist for 'Done -', 'Got it', 'Great question'
- '{{ personality }}' slot reserved for future persona substitution
- '{{ taskSystemGuide }}' slot switches todo/task tools per harness cfg
- Codex-compatible clickable file reference format

Sisyphus factory now checks isGpt5_5Model before isGptNativeSisyphusModel,
so gpt-5.5 models route to the new prompt while gpt-5.4, gpt-5.6+, and
other matches stay on the existing gpt-5-4 prompt.
2026-04-24 13:05:49 +09:00
YeonGyu-Kim 69e6f386b3 feat(agents): reintroduce isGpt5_5Model for per-version prompt routing
The GPT_NATIVE_SISYPHUS_RE regex already matches gpt-5.5 (and future
5.6+), which is correct for shared behavior. However, gpt-5.5 now has
its own prompt family separate from gpt-5.4, so we need a narrower
check to route exclusively to the gpt-5-5 variants before falling
through to the regex-matched gpt-5-4 path.

The regex stays as the catch-all for future versions; isGpt5_5Model
is the precise-match guard for the current release.
2026-04-24 13:05:31 +09:00
YeonGyu-Kim 81c5ed44f0 docs(drafts): add gpt-5.5 native prompt drafts
Ground-up rewrites of sisyphus, hephaestus, oracle, and deep-category
prompts styled after OpenAI Codex's gpt-5.4 prompt architecture. Drafts
include shared sisyphus-junior base plus a deep category-context append
that layers on top of it.

Design principles captured in README: Codex-style section structure,
single {{ personality }} slot, prose-first output, contract frames over
threat frames, explicit opener blacklist, and "why, not just what"
justification for every rule.
2026-04-24 13:05:20 +09:00
YeonGyu-Kim ed23e8b453 release: v3.17.5 2026-04-24 11:59:01 +09:00
acamq bcbd99bda0 Merge pull request #3605 from Jay1/jay/gpt-5-5-native-sisyphus
feat(agents): add GPT-5.5 native Sisyphus support
2026-04-23 20:52:14 -06:00
YeonGyu-Kim fd4ef0f16b test(agents): update explore and librarian prompt assertions to match refactored prompts 2026-04-24 11:46:51 +09:00
acamq 563b6569d3 refactor(agents): replace per-version GPT checks with regex pattern
Replace isGpt5_4Model + isGpt5_5Model + OR-composed isGptNativeSisyphusModel
with a single regex matching GPT-5.x where x >= 4. Automatically covers
future versions (5.6, 5.7, 5.10+) without code changes.

Constraint: Must continue to reject gpt-5.3-codex and gpt-5.x where x < 4
Rejected: Per-version functions | not scalable, each new version adds a function + OR clause
Confidence: high
Scope-risk: narrow
2026-04-23 20:37:06 -06:00
github-actions[bot] ae77f6bc79 @lucasyounger has signed the CLA in code-yeongyu/oh-my-openagent#3606 2026-04-24 02:02:09 +00:00
Jay☕ 132c860bee Merge branch 'dev' into jay/gpt-5-5-native-sisyphus 2026-04-23 20:55:59 -04:00
github-actions[bot] 99f25fe0b7 @Jay1 has signed the CLA in code-yeongyu/oh-my-openagent#3605 2026-04-24 00:52:58 +00:00
Jay1 f6b2ce7b6b feat(agents): add gpt-5.5 native sisyphus support
Route GPT-5.5 through the existing GPT-5.4-native Sisyphus and Hephaestus prompt family while keeping one shared model-family helper.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-23 20:49:11 -04:00
github-actions[bot] 7641fc52a1 @leecoder has signed the CLA in code-yeongyu/oh-my-openagent#3604 2026-04-23 23:47:42 +00:00
github-actions[bot] 448fb0fa9d @uf-hy has signed the CLA in code-yeongyu/oh-my-openagent#3603 2026-04-23 23:36:35 +00:00
github-actions[bot] bbcbfe5d7a @fede-ciliberti has signed the CLA in code-yeongyu/oh-my-openagent#3581 2026-04-23 16:33:54 +00:00
github-actions[bot] f66bc8a840 @samuele-ruffino96 has signed the CLA in code-yeongyu/oh-my-openagent#3595 2026-04-23 13:59:02 +00:00
github-actions[bot] fd6e34a804 @ParkSnoopy has signed the CLA in code-yeongyu/oh-my-openagent#3591 2026-04-23 10:06:58 +00:00
YeonGyu-Kim a941774e99 chore(cleanup): remove obsolete team-mode workspace artifacts
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-22 12:56:20 +09:00
YeonGyu-Kim 52ee201611 chore(gitignore): add .dori-sync/ directory
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-22 12:56:12 +09:00
YeonGyu-Kim 1ecf5ab8f2 refactor(ast-grep): inline tool descriptions and simplify pattern hints
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-22 12:56:10 +09:00
YeonGyu-Kim 70e18e95c4 refactor(agents): simplify librarian code search guidance
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-22 12:56:07 +09:00
YeonGyu-Kim acd867ec9d refactor(agents): simplify explore tool strategy guidance
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-22 12:56:04 +09:00
YeonGyu-Kim f0dd0464d8 refactor(librarian): teach proper ast_grep_search discipline
ast_grep_search was mentioned exactly once in the librarian prompt
(bundled as 'grep/ast_grep_search for function/class') with no syntax
guidance. When the librarian cloned a repo and tried to match code
shape, it fell into the same regex-in-AST trap as the main agent.

Two targeted edits, no rewrite of the surrounding request-classification
flow:

- Phase 1 TYPE B 'Find the implementation' now separates ast_grep_search
  (code shape) from grep (text/literals) and reminds the LLM that AST
  patterns use $VAR and $$$ and are not regex.
- TOOL REFERENCE adds a dedicated ast_grep_search row with valid
  examples and the explicit regex anti-pattern list, alongside tightened
  guidance for grep_app and grep so the LLM picks the right tool for
  cross-repo vs single-repo, text vs shape.
2026-04-22 12:29:00 +09:00
YeonGyu-Kim 5ef2a3fa7c refactor(explore): make ast_grep_search discipline the core of Tool Strategy
The previous Tool Strategy was a neutral 5-bullet list that treated
ast_grep_search and grep as equals. LLMs read 'structural patterns
(function shapes, class structures)' and reach for ast_grep_search
first, then call it with regex ('foo|bar', '.*', '\\w') and silently
get zero results.

Rewrite so the default is clear - grep first, ast_grep_search only for
true AST shape matching - and enumerate the regex anti-patterns with
their corrective switches. Add an explicit rule: if ast_grep_search
returns zero matches and the printed hint says the pattern is regex-
shaped, switch to grep instead of retrying with another regex variant.

Preserves the existing absolute-path requirement, <results> block
format, and read-only / no-emoji constraints.
2026-04-22 12:27:41 +09:00
YeonGyu-Kim 2f4b1c3158 feat(ast-grep): rewrite tool descriptions to prevent regex-style misuse
The previous description (41 words) told the LLM to write 'complete AST
nodes' but did not explain that regex syntax is the #1 failure mode. It
also shipped a bug: the Python example 'def $FUNC($$$):' had a trailing
colon that the hint system actively flags as wrong.

Extract descriptions into tool-descriptions.ts and rewrite:
- Open with 'This is NOT regex' so the constraint is unmissable
- List the four regex patterns that do not work (|, .*, \\w, [a-z])
  with the corrective action for each
- Tell the LLM to switch to grep when the pattern is text-shaped
- Fix the Python example (no trailing colon) and add Go and Rust rows
  since the failing reports came from Go codebases
- Shorten the pattern-param description with the same anti-regex list

Also harden the LSP reference for the new test files using the
bun-types triple-slash directive already used elsewhere.
2026-04-22 12:26:24 +09:00
YeonGyu-Kim 95ccbbfe8c feat(ast-grep): detect regex-style pattern misuse before returning empty results
LLMs frequently call ast_grep_search with regex-style patterns like
'func.*build|BuildMode|projectReferences' instead of AST patterns. The
search silently returns zero matches with no useful feedback, so the
model retries with a different regex-shaped pattern and loops.

Extract hint generation into pattern-hints.ts and add detectors for the
four dominant misuse modes:
- regex escapes (\\w, \\d, \\s, \\b)
- character-class ranges ([a-z], [0-9])
- regex wildcards (.* .+) with no meta-vars
- pure alternation (foo|bar|baz with no structural syntax)

Heuristics are designed to be safe on valid AST patterns: bitwise OR
'$A | $B' and Rust closures '|x| x + 1' are not flagged. Language-
specific shape hints (trailing-colon Python, body-less JS/TS/Go/Rust
functions) are preserved and extended to Go and Rust.
2026-04-22 12:23:51 +09:00
github-actions[bot] e0bcf3e2f9 @aschina has signed the CLA in code-yeongyu/oh-my-openagent#3560 2026-04-21 10:06:24 +00:00
YeonGyu-Kim 93dc103092 Merge pull request #3552 from code-yeongyu/feature/explore-librarian-gpt-5-4-mini-fast-primary
feat(agents): route explore + librarian primary to openai/gpt-5.4-mini-fast
2026-04-21 14:29:13 +09:00