What changed
68 files across 16 skills. Mechanical fixes applied everywhere they were real code; model-id modernization applied only to plain "use this model" defaults; everything specialized or deliberate was left and logged.
| pattern | fix | result |
|---|---|---|
gpt-5.2 (plain default) | → gpt-5.5 | 0 plain remaining |
gpt-4o (plain default) | → gpt-5.5 | 0 remaining |
gpt-5.2-mini / gpt-4o-mini | → gpt-5-mini | cheap-tier preserved |
z.string().email()/.uuid()/.url()/.datetime() | → z.email() / z.uuid() / z.url() / z.iso.datetime() | 0 (3 left are migration-doc comments) |
asyncio.get_event_loop() | → get_running_loop() / time.monotonic() | 0 remaining |
Pydantic class Config: | → model_config = SettingsConfigDict / ConfigDict (per base class) | 0 remaining |
datetime.utcnow() | → datetime.now(UTC) | 0 remaining |
Left intentionally (judgment, not laziness)
gpt-5.2-codex×20 (dedicatedgpt-5-2-codex.md+ its sibling rows) — specialized model; deferred to a separate codex-lineup pass rather than create an incoherent "gpt-5.5 standard beside gpt-5.2-codex" doc.gpt-5.2-realtime/gpt-4o-transcribe×2 — current specialized voice/transcription models; mapping them togpt-5.5would strip the capability.gpt-3.5-turbo×1 — a deliberate cheap/legacy fallback-tier cost illustration in a token-budget script.- 3×
z.string().emailinzod-v4-api.md— these are comments documenting what the new form replaced (the code is alreadyz.email()).
Heaviest skills
| skill | residual fixed |
|---|---|
| agent-orchestration | 38× gpt-5.2→5.5, 2× *-mini→gpt-5-mini (codex file left) |
| rag-retrieval | gpt ids + gpt-5.2-mini→gpt-5-mini + class Config |
| security-patterns | Zod 4 across 6 files (SKILL/validation rules/examples/script) |
| distributed-systems / architecture-patterns | get_event_loop→get_running_loop, utcnow→now(UTC), gpt ids |
| api-design / monitoring-observability | class Config→ConfigDict, gpt ids |
Audit status after this
Lane 1 (#2142) + Lane 2/3 (#2143) + this residual sweep = the entire 2026-05-31 library-currency audit remediated. Only the explicitly-deferred codex/realtime model-lineup verification remains (its own small pass).