Uses new Function() to prevent the static ESM loader from seeing
the bun: protocol import at parse time. In Electron/Node.js, the
import() call is evaluated at runtime and gracefully returns null
when bun:sqlite is unavailable.
Fixes#3829, likely fixes#3762
- DEEP_CATEGORY_PROMPT_APPEND_GPT_5_3_CODEX preserving all DEEP knowledge (atomic task treatment, root cause bias, ambition scaled, completion bar, status sparse) plus codex-specific additions: bias to action, parallel-batch exploration, code implementation discipline, worktree safety, plan closure, pragmatic final-message format\n- resolveDeepCategoryPromptAppend now routes codex first, then 5.5, else legacy (preserves existing 5.5 and 5.4 test invariants)\n- Tests: assert codex no longer falls back to legacy, content tests mirroring the 5.5 pattern (style markers, knowledge preservation, parallel-batch framing, materially different from siblings)
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
- 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>
All 5 prompts have been applied to the live codebase:
- sisyphus.md -> src/agents/sisyphus/gpt-5-5.ts
- sisyphus-junior -> src/agents/sisyphus-junior/gpt-5-5.ts
- hephaestus.md -> src/agents/hephaestus/gpt-5-5.ts
- oracle.md -> src/agents/oracle.ts (ORACLE_GPT_5_5_PROMPT inline)
- deep.md -> src/tools/delegate-task/openai-categories.ts (DEEP_CATEGORY_PROMPT_APPEND_GPT_5_5)
The drafts/ directory served its purpose as a design spec staging area
and is no longer the source of truth.
Agent names like \hephaestus\ cause 'Agent not found' errors because
sanitizeSubagentType() was only called in subagent-resolver.ts but not
in the direct manager.launch() path or background-executor.ts.
- manager.ts: strip leading/trailing backslash/quote chars from input.agent
before validation so \hephaestus\ → hephaestus
- background-executor.ts: call sanitizeSubagentType(args.subagent_type)
instead of passing raw value to manager.launch()
- agent-display-names.ts: reuse sanitizeSubagentType in stripAgentListSortPrefix
- Add unit tests for all three fix points
Fixes: sessions dying with 'Agent not found: \hephaestus\'
The documented chains were missing entries and had wrong providers:
- Librarian was missing openai/gpt-5.4-mini-fast, vercel/minimax-m2.7-highspeed,
and the last two entries. Also had opencode/ instead of vercel/ for
minimax-m2.7-highspeed.
- Explore had github-copilot|xai/grok-code-fast-1 as primary (which doesn't
exist in the fallback chain) and was missing openai/gpt-5.4-mini-fast.
Both now match the exact runtime chains from model-requirements.ts.
Restore consistent assertion style in librarian and explore tests.
Multi-provider entries like ["opencode-go", "vercel"] should use
toContain() not providers[0].toBe() to match the established pattern.
kimi-k2.6 is referenced in fallback chains but missing from the bundled snapshot (which only has kimi-k2.5). Added supplemental entry with specs matching models.dev data.
The previous banner ('Meet Dori. He ships to 56k stars.' + 'The first AI
agent maintainer of a 56k-star repo.') hard-coded the star count into the
image, which dates instantly as the repo grows.
Regenerate the banner to use only the timeless catchphrases that appear on
sisyphuslabs.ai/en:
- Headline: 'Meet Dori. / Not a demo. / Subscribes to everything.'
- Tagline: 'Just tell him what to do.'
Same SISYPHUS LABS wordmark, greek-column motif, @dori chat mockup, and
Merged badge. No star references anywhere in the image.
- Refresh README alt text to match the new banner copy.
- Bump cache-bust query (?v=3 -> ?v=4) so existing readers re-fetch.
- Apply consistently across all five language READMEs (en/ko/ja/ru/zh-cn).