What a wild day.
GPT 5.3 Codex and Claude Opus 4.6 dropped on the same day. That's not a coincidence — that's the universe telling us we're living through something historic. Two frontier model providers, shipping simultaneously. Monumental.
And we adopted both the same day they shipped.
108 files changed. +4,666/-4,625 lines. A same-day sweep from one end of the codebase to the other. When the frontier moves, we move with it.
Hephaestus: The Legitimate Craftsman Evolves 🔨
New mindset: "KEEP GOING. SOLVE PROBLEMS."
Autonomous recovery got smarter. Hephaestus now tries 3 different approaches before bothering you. Stuck on a bug? He'll pivot, retry, adapt — all on his own. This is what autonomous execution should feel like.
Plus: provider-based activation. Got OpenAI, Copilot, or OpenCode connected? Hephaestus is ready. No exact model matching gymnastics required.
Custom Skills: First-Class Citizens
User-installed skills now get HIGH PRIORITY treatment in prompts. No more blending in with builtins — they're clearly separated, emphasized, and respected. Your custom workflows matter.
Safety First: Write Guard
New hook blocks agents from silently overwriting existing files. The write tool now checks before clobbering. Peace of mind.
What's New
Models
- Claude Opus 4.5 → 4.6, GPT 5.2 Codex → 5.3 Codex across 108 files
- Auto-migration:
MODEL_VERSION_MAPupgrades your configs on load automatically - Claude Opus 4.6 prioritized in anthropic fallback chains
Hephaestus
- "KEEP GOING. SOLVE PROBLEMS." mindset upgrade
- 3-approach-first recovery rule before escalating to user
- Provider-based gating: activates by connectivity, not exact model match
Skills
- Dynamic skill priority: user-installed skills emphasized with HIGH PRIORITY
formatCustomSkillsBlock()extracted as shared DRY function
Safety & UX
- Write existing file guard: blocks overwrite of existing files
- Auto port selection: finds next available when 4096 is busy
look_atimage_data support: paste/clipboard images now work
Task System
- Task global storage with
ULTRAWORK_TASK_LIST_IDsupport
Fixes
- Atlas continuation guard: stops infinite retry loops
- Compaction model-agnostic: removed hardcoded Claude model prefix
- Sisyphus-Junior: uses category model instead of UI-selected model
- Plan agent: dynamic categories/skills (not hardcoded)
- Schema sync: Zod schemas aligned
- Regex special chars escaped in pattern matcher
- Disabled tools actually enforced now
- Glob/Grep uses
process.cwd()correctly - Background agent abort handled gracefully
- Custom skills env var restoration fixed
- Provider cache handles both
string[]andobject[]formats - LSP Windows: uses Node.js child_process (avoid Bun segfault)
- Boulder state agent tracking fixed
- Model availability honors connected providers
- Auto-update uses correct config dir
- Duplicate fallback entries cleaned
Refactoring
- Dead code removal:
ollama-ndjson-parser.ts,plugin-state.ts, unused types - Schema build:
z.toJSONSchema→zodToJsonSchema formatCustomSkillsBlockDRY extraction
Docs
AGENTS.mdregenerated across all directories- Config/feature docs updated
This is what shipping looks like when the frontier moves. Two models, one day, immediate adoption.
LFG 🔥 ulw ulw
Full Changelog: v3.2.3...v3.2.4