Lane 2 + 3 — Deprecated & New-Best-Practice Remediation 🔧

The rest of the 2026-05-31 audit after Lane 1's hard-breaks: deprecated-but-working APIs + new-best-practice upgrades across 12 clusters, applied by ork specialist sub-agents, stacked on Lane 1 (#2142). Every fix carries the verifier's caveats so it doesn't repeat the audit's own slips.

How it ran (no sugarcoat)

12 ork specialists, one per cluster. 5 of them edited their files correctly but flaked on the structured-summary return (the heavy ork system prompts didn't reliably call StructuredOutput). Rather than trust reports, an aggregate repo-wide gap-sweep verified actual state — it caught one half-applied bug (SettingsConfigDict used without import), a few cluster-internal misses (2× gpt-5.2, a Cohere comparison row), and a large body of the same deprecated patterns outside the audited clusters (123× gpt-4o/5.2, 27× z.string().email across all 111 skills). The cluster misses were completed; the repo-wide proliferation is deliberately scoped out (blind-replacing gpt-4o across comparison tables would be reckless) and filed as a follow-up.

Per-cluster fixes (Lane 2 deprecated + Lane 3 new-best-practice)

clusterork agentfixes
next-reactfrontend-ui-developerrewrote 3 fabricated APIs to real forms (revalidateTag profile-arg, proxy.ts via next/server, PPR cacheComponents+'use cache'), next-browser→next-devtools-mcp, next/image v16 defaults, pins 16.2.6/19.2.6
frontend-libsfrontend-ui-developerZod 4 z.email()/z.uuid()/z.iso.datetime(), flatten()→treeifyError() (shape-change noted), Zustand backwards-label fix, Biome types-domain, shadcn 8 styles
llm-sdkllm-integratorgoogle.generativeai→genai.Client, Responses API, Claude 4.6→4.8 / gpt-5.2→5.5 in multimodal-llm (no fabricated price), Gemini 3 Flash GA
db-migrationsdatabase-engineerPG18 uuidv7(), native temporal WITHOUT OVERLAPS/PERIOD (+btree_gist caveat, kept temporal_tables for history), in_greenlet() env.py guard, skip-scan nuance
securitydefault (sec framing)OWASP LLM 2023→2025 labels (+test-cases.json), python-jose→PyJWT (CVE), OWASP web 2025 (deser→A08 not A03), Zod v4 (.errors→.issues), LLM07/08 mappings
python-backendbackend-system-architect.dict()→model_dump(), class Config→SettingsConfigDict, utcnow()→now(UTC), get_event_loop()→get_running_loop(), Depends()→Annotated
vector-ragdata-pipeline-engineerCohere ClientV2/rerank-v4.0-pro/max_tokens_per_doc, voyage-3→3.5, pgvector halfvec/binary_quantize() guidance
langgraphworkflow-architectcreate_react_agent→langchain.agents.create_agent (system_prompt), hook-framing fix, metadata drift, defer docstring
testing-jstest-generatorremoved fabricated use.aiAgents config (CLI-only), wcag21aa→wcag22aa, jest-axe note
testing-py-llmtest-generatorhypothesis whitelist_categories→categories, pytest pin
json-renderfrontend-ui-developerimport ./app.html → buildAppHtml
infra-eventsevent-driven-architectStripe error.*→top-level, PaymentIntent→StripeClient().v1

Scoped out — filed as follow-up (NOT blind-replaced)

patternrepo-wide countwhy deferred
gpt-4o / gpt-5.2 in non-audited skills~123many are legit comparison-table rows / transcription model ids (gpt-4o-transcribe is real); needs case-by-case
z.string().email() in non-audited skills~27same Zod deprecation, but outside the 14-cluster audit scope
asyncio.get_event_loop() in distributed-systems7separate skill not in the python-backend cluster