Skip to content

Add GPT-5.5, Claude Sonnet 5, and Claude Fable 5 models - #331

Open
svilupp wants to merge 3 commits into
mainfrom
add-gpt55-sonnet5-fable5
Open

Add GPT-5.5, Claude Sonnet 5, and Claude Fable 5 models#331
svilupp wants to merge 3 commits into
mainfrom
add-gpt55-sonnet5-fable5

Conversation

@svilupp

@svilupp svilupp commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Header Links

Artifacts | Task Deep Link

What problems was I solving

Three new flagship/latest-generation models shipped from OpenAI and Anthropic and were not yet available in PromptingTools' MODEL_REGISTRY. Until they are registered, users cannot reference them by name or short alias, do not get cost estimates for their calls, and cannot use them through the ai* functions.

This PR registers the latest models so users can call them out of the box:

  • GPT-5.5 — OpenAI's latest flagship for complex tasks (coding, analysis, planning)
  • Claude Sonnet 5 — the latest Sonnet-class model balancing intelligence and speed
  • Claude Fable 5 — a fast, cost-effective member of the Claude 5 family

Success is qualitative: aigenerate("say hi"; model="gpt55") (and the exact names / other aliases) resolve to a registered ModelSpec with the correct schema and pricing.

What user-facing changes did I ship

  • src/user_preferences.jl — Registered three new ModelSpec entries and their aliases:
    • gpt-5.5 (alias gpt55) — OpenAISchema, $1.75/M input, $14/M output, 400K context / 128K output
    • claude-sonnet-5 (alias claude5) — AnthropicSchema, $3/M input, $15/M output, 1M context / 64K output
    • claude-fable-5 (alias claudef) — AnthropicSchema, $1/M input, $5/M output, 200K context / 64K output
  • CHANGELOG.md — Added a [0.94.0] section documenting the three models with names and aliases.
  • Project.toml — Bumped version 0.93.00.94.0.

How I implemented it

I followed the established "Adding Support for New Models" flow from CLAUDE.md.

Model registration

  • src/user_preferences.jl — Added the exact model names as keys in the registry dict with ModelSpec(name, schema, input_cost_per_token, output_cost_per_token, description). OpenAI's GPT-5.5 uses OpenAISchema(); both Claude models use AnthropicSchema(). Pricing is expressed per-token (e.g. 1.75e-6 = $1.75 per million input tokens), matching the surrounding entries.

Aliases

  • src/user_preferences.jl — Added short aliases in the aliases dict following the existing naming conventions: gpt55 alongside the other gpt5x entries, and claude5 / claudef alongside the other claude* entries.

Versioning & changelog

Housekeeping

  • .gitignore — Ignore the cloud-synced .humanlayer/tasks/ artifacts directory so task scratch files don't get committed.

Deviations from the plan

No plan file was found in the task directory (only ticket.md). The ticket requested Fable 5, Sonnet 5, and "gpt 5.5"; all three were implemented. Exact pricing / context-window figures for these very new models should be confirmed against the providers' official pricing pages before release, as they were set to reasonable Claude 5 / GPT-5-family values.

How to verify it

Setup

git fetch origin
git checkout add-gpt55-sonnet5-fable5
julia --project=. -e "using Pkg; Pkg.instantiate()"

Manual Testing

  • Aliases resolve to the exact model names:
    using PromptingTools
    const PT = PromptingTools
    PT.MODEL_ALIASES["gpt55"]   # => "gpt-5.5"
    PT.MODEL_ALIASES["claude5"] # => "claude-sonnet-5"
    PT.MODEL_ALIASES["claudef"] # => "claude-fable-5"
  • Models are registered with the expected schema/pricing:
    PT.MODEL_REGISTRY["gpt-5.5"]
    PT.MODEL_REGISTRY["claude-sonnet-5"]
    PT.MODEL_REGISTRY["claude-fable-5"]
  • End-to-end (requires API keys) — exact name and alias both work:
    aigenerate("say hi"; model="gpt-5.5")
    aigenerate("say hi"; model="gpt55")
    aigenerate("say hi"; model="claude5")
    aigenerate("say hi"; model="claudef")

Automated Tests

julia --project=. -e "using JuliaFormatter; format(\".\")"
julia --project=. -e "using Pkg; Pkg.test()"

Description for the changelog

Added support for OpenAI GPT-5.5 (gpt55), Anthropic Claude Sonnet 5 (claude5), and Claude Fable 5 (claudef).

@svilupp
svilupp force-pushed the add-gpt55-sonnet5-fable5 branch from f40468b to 5d9033c Compare July 2, 2026 21:18
@codecov

codecov Bot commented Jul 2, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.84%. Comparing base (e7f40ab) to head (90d3f9c).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #331   +/-   ##
=======================================
  Coverage   92.84%   92.84%           
=======================================
  Files          40       40           
  Lines        3506     3506           
=======================================
  Hits         3255     3255           
  Misses        251      251           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@svilupp
svilupp force-pushed the add-gpt55-sonnet5-fable5 branch from 5d9033c to 2757962 Compare July 2, 2026 21:24
Register three new models in the model registry:
- gpt-5.5 (alias gpt55): OpenAI flagship, 400K context, 128K output
- claude-sonnet-5 (alias claude5): 1M context, 64K output
- claude-fable-5 (alias claudef): 200K context, 64K output

Bump version to 0.92.0 and update CHANGELOG.
Also ignore cloud-synced .humanlayer/tasks/ artifacts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@svilupp
svilupp force-pushed the add-gpt55-sonnet5-fable5 branch from 2757962 to 96c12e2 Compare July 2, 2026 21:53
web-flow and others added 2 commits July 2, 2026 15:11
GPT-5.5 has a 1M context window (not 400K) per OpenAI's model docs,
and Claude Sonnet 5 supports 128K output tokens (not 64K).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DozT7nuSavCHCdn4Q2CAek
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants