Commit Graph

493 Commits

Author SHA1 Message Date
YeonGyu-Kim b36389ef2c fix(team-mode): keep member communication tools visible 2026-05-10 12:54:16 +09:00
YeonGyu-Kim be2acd49b5 fix(delegate-task): hide team tools from subagents 2026-05-09 16:30:40 +09:00
YeonGyu-Kim c01a89ba43 feat(atlas): mandate parallel delegation and add per-model variants
Atlas was delegating tasks one-by-one because the workflow framed parallel
as a conditional ("if tasks can run in parallel..."), letting models default
to the safer sequential path. The new shared ATLAS_PARALLEL_BY_DEFAULT block
flips the default: parallel is mandatory; sequential requires a NAMED
blocking dependency (input dependency or file conflict).

Adds two new prompt variants — kimi (K2.6 thinking-mode calibration:
commitment framing + concrete budgets) and opus-4-7 (counters 4.7's lower
default subagent count and literal-following bias). Recalibrates default
(Claude 4.6 family), gpt (GPT-5.5 outcome-first / decision rules over
absolutes), and gemini (preserves TOOL_CALL_MANDATE; replaces stale
session_id with task_id). All five variants share the parallel mandate
positioned BEFORE the workflow so "mandate above" references resolve.

Strengthens the orchestrator-direct-edit reminder hooks
(ORCHESTRATOR_DELEGATION_REQUIRED + DIRECT_WORK_REMINDER) with the central
challenge "Do you ACTUALLY need to be the one doing this?" — replacing the
previous bullet-heavy framing.

Tests now parametrized over all 5 variants. Adds prompt-routing.test
covering GPT/Gemini/Kimi/Opus 4.7/default routing and edge cases, plus a
session_id rejection test (every variant must use task_id for retries).
2026-05-08 16:50:41 +09:00
YeonGyu-Kim 2dfa6336f5 fix(metis): switch primary model to claude-sonnet-4-6 + correct AGENTS.md inaccuracies
Source code change:
- src/shared/model-requirements.ts: prepend claude-sonnet-4-6 to metis fallback
  chain so Sonnet becomes the default. Opus 4.7 max remains as the immediate
  fallback for callers who want extra reasoning.
- src/shared/model-requirements.test.ts: update assertion to expect Sonnet
  primary + Opus secondary.

AGENTS.md accuracy fixes (verified against source):
- Agent modes: Sisyphus/Hephaestus are 'primary' (not 'all'); Sisyphus-Junior
  is 'subagent' (not 'all'). Confirmed via 'const MODE: AgentMode = ...' in
  each agent file. Also clarified Prometheus has no agentSources factory and
  is built via buildPrometheusAgentConfig.
- Sisyphus fallback chain: corrected order to kimi-k2.6 → k2p5 → kimi-k2.5
  → gpt-5.5 medium → glm-5 → big-pickle (was missing kimi-k2.5).
- Librarian/Explore: added missing minimax-m2.7 step between -highspeed and
  claude-haiku-4-5.
- Metis chain: removed fictitious gemini-3.1-pro entry.
- Sisyphus-Junior chain: spelled out the actual fallback (was 'user-configurable').
- Temperatures: Sisyphus/Hephaestus do not set explicit temperature (model
  default); Sisyphus-Junior is 0.1 via SISYPHUS_JUNIOR_DEFAULTS.
- Quick category default: gpt-5.4-mini (not gpt-5.4-mini-fast).

Team-mode corrections:
- Eligibility registry has 3 verdicts: eligible (sisyphus, atlas, sisyphus-junior),
  conditional (hephaestus — needs D-36 teammate permission), hard-reject
  (oracle, librarian, explore, multimodal-looker, metis, momus, prometheus).
- Schema has 11 fields, not 4: added max_messages_per_run, max_wall_clock_minutes,
  max_member_turns, base_dir, message_payload_max_bytes, recipient_unread_max_bytes,
  mailbox_poll_interval_ms.
- Hooks: 'team-session-events' is 4 sub-handlers in src/plugin/event.ts
  (team-idle-wake-hint, team-lead-orphan-handler, team-member-error-handler,
  team-member-status-handler), not a single Continuation-tier hook.
- Tier counts now show base + team-mode: ToolGuard 14/15, Transform 5/7.
- Total: 52 base hooks, 59 with team-mode.

Doc cascade for the Metis change:
- docs/guide/orchestration.md, agent-model-matching.md, installation.md
- docs/reference/configuration.md, features.md
2026-05-08 13:06:34 +09:00
YeonGyu-Kim 838b5ae216 docs(agents): refresh hierarchical AGENTS.md with team-mode coverage
Update root + 43 directory-level AGENTS.md files to reflect current state:
- Root AGENTS.md rewritten with accurate counts (1967 TS files, 1304 source +
  663 test, 278k LOC, 120 barrel index.ts), 7-step init flow, 5-tier hook
  composition, and full Team Mode section (12 team_* tools, eligibility,
  storage layout, config gate)
- src/AGENTS.md adds team-mode init step, current per-subdir file/LOC table
- src/tools/AGENTS.md documents conditional gates (team-mode +12, task
  system +4, hashline +1, interactive_bash +1, look_at +1) with always-on
  baseline of 20
- src/hooks/AGENTS.md splits into 5 tiers + 4 conditional team-mode hooks
- src/features/team-mode/AGENTS.md surfaces 12 tools, eligible agents,
  spawn-race-safe invariants, and integration points
- src/features/builtin-skills/AGENTS.md tracks 10 skills incl. team-mode
- src/agents/AGENTS.md, src/plugin/AGENTS.md, src/config/AGENTS.md updated
  for team-mode awareness, accurate counts, and current schema field list
- All other AGENTS.md files refreshed to 2026-05-08 generation date
2026-05-08 12:08:42 +09:00
herjarsa adc6d92a8e fix(agents): copy factory mode to agent config for Desktop 1.14.x compat
OpenCode Desktop 1.14.x filters agents by `mode` field. The `mode` was
only present on the factory function as a static property, but not copied
to the generated AgentConfig object.

This fix copies `source.mode` to `base.mode` in `buildAgent()` when:
- source is a factory function (has `mode` static property)
- the generated config doesn't already define `mode`

Test: agent-builder.test.ts (4 pass)

Closes: #3835
Related: #3762, #3812, #3794, #3475, #3474, #3829, #3831, #3824, #3826, #3721, #3806, #3188
2026-05-07 16:18:41 +02:00
YeonGyu-Kim ee938aa097 fix full-suite isolation regressions 2026-05-07 18:36:03 +09:00
YeonGyu-Kim 5eea7024d5 feat(agents): add GPT-5.2 specialized prompts for oracle and momus
- Add isGpt5_2Model type guard\n- ORACLE_GPT_5_2_PROMPT consolidating all knowledge from Claude default, GPT-5.4 generic, and GPT-5.5 variants (XML-tagged blocks, concrete verbosity clamps, long-context re-grounding, anti-narration tool rules, high-risk self-check)\n- MOMUS_GPT_5_2_PROMPT preserving blocker-finder philosophy with new tool_usage_rules block for parallel reference verification\n- Momus GPT-5.2 reasoningEffort set to xhigh per evaluation rigor needs

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 11:55:54 +09:00
YeonGyu-Kim 37d981ef1f Merge pull request #3634 from auyua9/fix/ast-grep-pattern-hints
fix(ast-grep): restore pattern hints in tools
2026-05-06 17:15:17 +09:00
YeonGyu-Kim 7e43beaa9e Merge pull request #3620 from MoerAI/fix/sisyphus-prompt-plan-reference
fix(agents): reference prometheus instead of conditional plan alias in prompts (fixes #3596)
2026-05-06 17:15:05 +09:00
Samuele Domenico Ruffino 1e93d37df6 docs(opencode-go): update docs and fallback chain tables to reflect glm-5.1, kimi-k2.6, qwen3.5-plus 2026-05-06 16:50:33 +09:00
ilseob lee 766cdaf893 docs: align GPT-5.5 model references 2026-05-06 16:33:07 +09:00
YeonGyu-Kim 44216a538e Merge pull request #3578 from xiaolai/fix/nlpm-agents-missing-frontmatter
docs(agents): add YAML frontmatter to AGENTS.md documentation files
2026-05-06 15:44:57 +09:00
YeonGyu-Kim 924dd853db fix(hephaestus): restore autonomy prompt section
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-06 14:20:50 +09:00
YeonGyu-Kim 75fc915fb6 test(agents): expand hephaestus and utils tests for team-mode 2026-05-06 14:19:39 +09:00
YeonGyu-Kim 527ab51a54 feat(agents): adapt momus agent for team-mode context 2026-05-06 14:19:39 +09:00
YeonGyu-Kim 98a69b939a feat(agents): adapt agent-skill-resolution for team-mode skills 2026-05-06 14:19:39 +09:00
YeonGyu-Kim a110c739e1 feat(agents): register team-mode in builtin and general agent definitions 2026-05-06 14:19:39 +09:00
YeonGyu-Kim 6327a7aca7 feat(agents): add available-skills resolution with tests 2026-05-06 14:19:39 +09:00
YeonGyu-Kim caaa3d4c08 refactor(hephaestus): tighten GPT-5.5 prompt for outcome-first density
Compress 6 discovery sections into one Discovery & Retrieval section, remove three-way echo of "drive the artifact" between Goal, Manual QA Gate, and Forbidden stops (now once + cross-ref), split persona prose into Tone vs Autonomy & Collaboration per OpenAI's GPT-5.5 prompting guide, trim Output formatting from 13 prior-restating bullets to 5 environment-specific ones, and defer the Oracle wait policy to the dynamic oracleSection so it lives in a single source of truth.

Add buildFrontendGuidanceSection: conditional injection that only emits the anti-slop frontend block when `visual-engineering` category is unavailable, since the category-skills guide already forces visual work to delegate when the category exists.

Static prose drops 277 -> ~175 lines (-37%); every Hephaestus identity item preserved (Manual QA Gate surface map, Intent table + commitment line, three-attempt failure protocol, Hard invariants, no defensive code, AGENTS.md and dirty worktree handling, four dynamic placeholders).
2026-05-06 13:54:24 +09:00
YeonGyu-Kim bae62ab582 fix(agents): allow Momus and Metis delegation
Keep Momus and Metis read-only for file edits while allowing task-based invocation for planning review workflows.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-01 19:27:25 +09:00
YeonGyu-Kim c7da46ea5a Merge pull request #3679 from MoerAI/fix/file-uri-rejection-explanation
fix(resolve-file-uri): explain project boundary restriction in rejection warning (fixes #3554)
2026-05-01 19:18:43 +09:00
YeonGyu-Kim 1a64060cc2 feat(agents): strengthen gpt-5.5 prompts with manual QA gate, dig-deeper trio, anti-fallback
- Add Manual QA Gate as a non-negotiable surface-tool mapping
  (interactive_bash for TUI, playwright for browser, curl for HTTP,
  driver script for library) to Hephaestus, Sisyphus-Junior, and
  Sisyphus' direct-execution mode.
- Restore the dig-deeper trio (tool persistence / dig deeper /
  dependency checks) as orthogonal paragraphs so each carries its
  own cognitive trigger instead of a fused single statement.
- Harden investigate-before-acting from a soft phrase to a dedicated
  block: never speculate about unread code, re-read on every
  task hand-off, the worktree may have changed.
- Add 'Parallelize aggressively' as its own block. Reads, searches,
  diagnostics, and background sub-agents all batch into a single
  response by default.
- Add 'No defensive code, no speculative legacy' to discourage
  speculative backward-compatibility branches and unrequested
  defensive validation.
- Absorb review-intent and frontend anti-slop coverage so the
  prompt stays self-sufficient when the omo agent prompt replaces
  the provider prompt.
- Replace literal apply_patch instructions with GPT_APPLY_PATCH_GUIDANCE
  (use edit/write tools) so the prompt no longer contradicts the
  apply_patch deny that the agent permission applies on GPT models.
- Sisyphus-Junior gains a Review tasks block and a default-behavior
  fallback for when the runtime category context is missing or sparse.
- Sisyphus gains an explicit Hard invariants block listing type-
  suppression bans, destructive-git bans, and Oracle-completion gating.
- Restore dynamic injections that round out the orchestrator/worker
  context: category+skills delegation guide, delegation table,
  Oracle dynamic guidance, key triggers, non-Claude planner
  reminder. Hephaestus regains optional category delegation while
  keeping direct execution as the default.
- Drop em dashes; search guidance points at rg directly throughout.
2026-04-30 20:30:57 +09:00
YeonGyu-Kim 90c2c9c31a Merge pull request #3697 from code-yeongyu/feat/sisyphus-kimi-k2-6
feat(sisyphus): add Kimi K2.x prompt variant
2026-04-28 15:04:29 +09:00
YeonGyu-Kim 7a3a835a22 feat(sisyphus): add Kimi K2.x prompt variant
- New src/agents/sisyphus/kimi-k2-6.ts based on gpt-5-4.ts 8-block architecture
- New src/agents/sisyphus-junior/kimi-k2-6.ts worker variant
- Preserves 4 pillars: intent gate + verbalization, parallel tools, verification
- Adds <re_entry_rule>: suppress re-verbalization for already-resolved turns
- Adds <exploration_budget>: hard stop conditions alongside aggressive parallelism
- Tiered <verification_loop> (V1/V2/V3): V3 keeps full rigor with harsh enforcement
- Adds <token_economy>: verbalization explicitly excluded from trim mandate
- isKimiK2Model in types.ts: matches kimi, k2p5/k2p6 variants (case-insensitive)
- Routing in sisyphus.ts + sisyphus-junior/agent.ts
- Tests: 3 new kimi routing cases in sisyphus-junior/index.test.ts (all pass)

Motivation: K2.x was post-trained with Toggle RL (~25-30% token reduction) and a
GRM scoring appropriate detail + intent inference. Reusing Claude-style prompts
double-taxes the model — external strictness on top of RL-learned strictness causes
over-deliberation on already-resolved requests. The re-entry rule and exploration
budget fix this without weakening verification rigor.

Refs: kimi.com/blog/kimi-k2-6, arxiv 2602.02276 §4.4.2 (Toggle, GRM)
2026-04-28 14:57:17 +09:00
YeonGyu-Kim 2483dc7360 fix(agents): restore Opus Sisyphus prompt contracts
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-28 13:39:52 +09:00
YeonGyu-Kim c3fabaafaa refactor(agents): rewrite Hephaestus gpt-5.5 around outcome-first delegation contract 2026-04-28 13:29:35 +09:00
YeonGyu-Kim 6103df05f2 feat(agents): restore deep-work emphasis on Hephaestus gpt-5.5
The Codex 5.2 restyle in ad9df3f68 watered down the four deep-work
exhortations from gpt-5.4 (tool_call_philosophy, tool_persistence,
dependency_checks, dig_deeper) into a single bullet, leaving the
'deep worker' identity without behavioral teeth.

Restore them as Codex-style sub-sections under Exploration:
- Tool-call discipline: more calls = more accuracy, retry on partial,
  read more files than needed.
- Dig deeper: don't stop at first plausible answer, check second-order
  issues, prefer root over symptom (with concrete example).
- Dependency checks: resolve prerequisites before acting.
- Anti-duplication: extracted from inline paragraph to its own block.

LSP clean. 267 -> 315 lines.
2026-04-28 10:37:16 +09:00
YeonGyu-Kim 7a89b98165 refactor(agents): re-style Hephaestus gpt-5.5 in Codex 5.2 prompt structure
Previous prose-dense rewrite went too far in stripping bullet structure.
Codex 5.1/5.2 prompts (the closest reference for an OpenAI deep-worker
prompt) actually use bullets liberally - just well-grouped (4-6 per list)
with prose introductions on each section. Restructure 5.5 to mirror that
style and tone while preserving Hephaestus's identity and all behavioral
rules from the prior round.

Sections lifted directly from Codex 5.1/5.2 organization:
- # How you work / ## Personality at the top for tonal priming
- # AGENTS.md spec as a standalone section with its own bullets
- ## Autonomy and Persistence with prose intro + Three-attempt sub-protocol
- ## Responsiveness with Frequency, Tone, Content, Examples sub-blocks
  (examples rewritten to Hephaestus voice: 'Walking the agents/ tree',
  'Found the dispatch in createSisyphusAgent', etc.)
- ## Plan tool with 'use a plan when' bullet list
- ## Validating your work with approval-mode granularity
  (non-interactive / interactive / test-related)
- ## Presenting your work with categorical Final answer rules
  (Section Headers / Bullets / Monospace / File references / Tone /
  Verbosity / Don't)
- # Tool Guidelines as separate top-level section

Hephaestus-specific content preserved verbatim:
- Forge god identity, deep-worker / executor framing
- task() restricted to research subagents only
- Three-attempt failure protocol
- End-to-end usage gate (interactive_bash / playwright / curl / driver)
- Anti-duplication rule on parallel exploration

Amp-derived rules kept compact in their own ## Pragmatism and Scope:
- Smallest correct change, duplication > premature abstraction
- Default-no-tests with explicit exceptions
- WIP-not-legacy rule
- Multi-agent dirty worktree safety

Metrics: 110 -> 267 lines (still -14% from original 312), 4 -> 100 bullets
(grouped Codex-style, not scattered), 24 headers. 38/38 verification
checks pass; LSP clean.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-28 10:37:16 +09:00
YeonGyu-Kim 4aae402547 refactor(agents): rewrite Hephaestus gpt-5.5 prose-dense from Codex 5.2 + Amp distillation
Prior 5.5 prompt enumerated rules across 60+ bullets and 312 lines, which
fights GPT-5.5's strength: it follows prose instructions reliably and does
not need rule-by-rule cataloging. Rewrite as flowing paragraphs while
preserving the deep-worker identity and every load-bearing behavior.

Identity preserved:
- Forge god mythology ("Your boulder is code", "forge it until done")
- Direct executor, not orchestrator (research subagents only)
- Senior-colleague tone, end-to-end persistence

Behaviors preserved (compressed to prose):
- Three-attempt failure protocol → 1 paragraph
- Anti-duplication on parallel exploration
- End-to-end usage gate (interactive_bash / playwright / curl / driver)
- Implementation gate: when delegated, execute directly, no draft loop

Net additions distilled from Amp + Codex 5.2 evolution:
- Pragmatism block: smallest correct change, duplication > premature
  abstraction, do not over-engineer, do not validate impossible scenarios
- Default-no-tests: add tests only when user asks, fixes a subtle bug,
  or protects an important boundary; never to codebases without tests
- WIP-not-legacy: earlier unreleased shapes in the same turn are drafts,
  not legacy contracts requiring backward compatibility
- Multi-agent worktree: continue task without reverting unknown changes
- Code-review mode trigger: "review" → findings-first, severity-sorted
- Personality-first opener (Codex 5.2 pattern) for tonal priming

Metrics: 312 → 110 lines (-65%), 60+ bullets → 4 bullets, 21,803 → 15,654
chars (-28%). 26/26 verification checks pass.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-28 10:37:16 +09:00
YeonGyu-Kim 6775dd12bb feat(agents): mandate end-to-end usage validation on Hephaestus gpt-5.5 delegation
Hephaestus is the autonomous deep-worker - everything it receives is a
delegation. Existing 'Manual behavior' bullet vaguely said 'actually run
it' but left the validation surface unspecified, which lets a checked-in
diff plus passing tests masquerade as completion on user-visible work.

Add a dedicated 'End-to-end usage is the gate' subsection in Codex prose
style (no threats/CAPS, contract frames). Surface determines tool:

- TUI / CLI → interactive_bash (tmux), drive it like a real user
- Web / browser / UI → playwright skill, drive a real browser session
- HTTP API / service → curl or integration script against running service
- Library / SDK → minimal driver script

Reinforce in Forbidden stops trailer: when receiving a delegation,
execute directly and validate through the gate; do not loop back with
a draft when the work is yours to do.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 21:38:50 +09:00
YeonGyu-Kim c3b98c4bfb feat(agents): mandate surface-matched manual QA tools on Opus 4.7 full delegation
The existing FULL DELEGATION manual-QA rule said 'use it yourself' but
left the choice of tool implicit. Make it explicit and non-optional, so
the agent cannot satisfy the gate by reading the source instead of
running the artifact.

Surface → tool mapping:
- TUI / CLI work → interactive_bash (tmux). Launch in real terminal,
  send keystrokes, run happy path, try bad input, hit --help.
- Web / browser / UI work → playwright skill. Drive a real browser,
  click elements, fill forms, watch console, screenshot if helpful.
- HTTP API / service work → curl or integration script against the
  running service.
- Library / SDK work → minimal driver script that imports + executes.
- Other surfaces → ask how a real user would discover it works, then
  do that.

Frame the gate as a contract violation when bypassed: reporting
'implementation complete' without using the matching tool is the same
failure pattern as deleting a failing test for a green build.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 21:38:49 +09:00
YeonGyu-Kim 9e7b39102b feat(agents): require manual end-to-end QA on full-delegation Opus 4.7 tasks
Existing <verification> required tests pass + lsp clean + build green, but
that is insufficient for end-to-end delegation. Tests cover known cases;
they do not cover whether the user-visible feature actually works.

Add a NON-NEGOTIABLE rule: when the user hands off end-to-end ("ulw",
"implement and finish", "do the whole thing", "make it work", "ship it"),
verification escalates to:

1. BUILD the actual artifact
2. USE IT YOURSELF as a real user would
3. VERIFY end-to-end behavior matches the spec
4. TASK NOT DONE until usage confirms it works

Reporting "implementation complete" without having USED the artifact is
explicitly framed as a contract violation. Defects discovered during this
QA pass are the agent's to fix in the same turn.

This complements the existing 'lsp_diagnostics catches type errors, not
logic bugs' line by giving full-delegation cases a sharper, named gate.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 21:30:48 +09:00
YeonGyu-Kim 9feb9f6fe5 refactor(agents): distill SMART production-prompt patterns into Opus 4.7 Sisyphus
Replace verbose v1 prompt with prose-dense, strong-directive version
that pulls in production-grade rules from a captured SMART agent prompt
while keeping all OhMyOpenCode-specific orchestration content.

Net additions:
- <autonomy_and_persistence>: redirect-as-refinement, never-revert-others-work,
  diagnose-before-retry. Critical for multi-agent worktree safety.
- <investigate_before_acting>: never speculate, ground every claim in tool output.
- <pragmatism_and_scope>: anti-overengineering rules. DUPLICATION > PREMATURE
  ABSTRACTION. Pairs naturally with Opus 4.7 literal-following.
- <verification>: report faithfully, never game tests, evidence requirements.
- <executing_actions_with_care>: reversibility framework with destructive examples.
- <using_subagents>: tighter spawning rules + summarize-result mandate.
- <file_links>: fluent file:// linking format for clickable references.

Trims:
- Mythology and redundant identity bullets compressed in <role>.
- <self_knowledge> stripped of redundancies (parallel/effort/progress/tone
  duplicated elsewhere); kept only literal-following + fewer-subagents.
- <example_subagent_spawning> reduced from 4 examples to 1.
- <example_session_continuity> dropped (prose covered it).
- <communication_style> compressed from 30 lines to 5 strong directives.
- Code Changes redundant rules removed (already in hardBlocks).

Strong-directive style: bold/CAPS on load-bearing rules per user preference.

Net result: 20,527 chars (down from 26,310 v1) yet richer behavioral coverage.
40/40 sacred-behavior + SMART-addition checks pass. LSP clean.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 21:26:58 +09:00
YeonGyu-Kim 2024c0cb84 feat(agents): wire Claude Opus 4.7 support into Sisyphus agent
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 21:15:38 +09:00
YeonGyu-Kim 41d4cbe811 feat(agents): add Claude Opus 4.7 native Sisyphus prompt builder
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 21:15:35 +09:00
YeonGyu-Kim 215c8f2315 feat(agents): add isClaudeOpus47Model type guard
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 21:15:31 +09:00
MoerAI 111b796820 fix(resolve-file-uri): explain project boundary restriction in rejection warning (fixes #3554)
Root cause: when a file:// prompt URI resolves outside the project root, resolvePromptAppend returns the warning '[WARNING: Path rejected: $URI]' with no indication of WHY the path was rejected. Issue #3554 reports that this is confusing because the docs explicitly advertise support for absolute, home-relative, and cross-project file:// paths, yet the code intentionally restricts file:// prompt resolution to the project boundary (commit 98659783, security hardening).

Fix: extend the warning message so it now includes the resolved project root and an explicit hint that file:// prompts must reside within the project boundary. The security restriction itself is preserved unchanged.

Verification: added a regression test that asserts the rejection warning matches /outside project root/i. Test fails before the fix, passes after. Full resolve-file-uri.test.ts suite: 11 pass / 0 fail. typecheck clean.
2026-04-27 20:33:06 +09:00
YeonGyu-Kim dbf0bb9b4c test(agents): cover skills override prompt injection
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 17:18:37 +09:00
YeonGyu-Kim aeb4419172 fix(agents): resolve skills after agent overrides
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 17:18:37 +09:00
YeonGyu-Kim 80791f10bc fix(agents): cover dotted opus frontier model
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 14:40:16 +09:00
YeonGyu-Kim ac8987a732 fix(agents): preserve explicit legacy tool denies
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 14:24:42 +09:00
YeonGyu-Kim 467248535e fix(agents): clear stale frontier tool denies
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 13:51:16 +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 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
auyua9 5bbac51e6d test: align model expectations with GPT-5.5 defaults 2026-04-26 02:00:41 +08:00
YeonGyu-Kim fbd4cfba9e Update OpenAI defaults to GPT-5.5 2026-04-25 00:41:32 +09:00
MoerAI 32e56c0e60 fix(agents): reference prometheus instead of conditional plan alias in prompts (fixes #3596) 2026-04-24 18:56:21 +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 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