An emerald computing block approaches a closed track while an alternate branch passes through a clear inspection gate to an ivory replacement block beside blank test cards. An emerald computing block approaches a closed track while an alternate branch passes through a clear inspection gate to an ivory replacement block beside blank test cards.

Workers AI Model Deprecation Migration: A 24-ID Audit

Audit retiring Workers AI dependencies before the announced 20 November date. Download a counted model inventory, migration calendar and clearly unexecuted test plan.

Workers AI model deprecation migration starts with finding the dependency, not changing a model name at random. Cloudflare has announced a 20 November 2026 retirement date for a defined list of models. For Nigerian learners maintaining an AI portfolio project, this is a useful deadline for checking the application contract as well as the endpoint.

Our original toolkit contains a counted 24-row retirement inventory, a blank dependency register, a dated planning calendar and a proposed two-model evaluation ledger. No API requests, deployments or model benchmarks were performed. All 24 planned comparison observations remain marked not run.

Workers AI model deprecation migration: the dated scope

Cloudflare’s 5 November retirement announcement moved its earlier 15 November date to 20 November. It states that affected requests will return HTTP 410 Gone with error code 5028. These are announced future effects, not downtime we have observed. The notice does not specify an exact cutoff hour, so avoid planning around an assumed Nigerian midnight.

We counted 16 LLM identifiers and eight other identifiers in the published retirement sections. The total is 24 distinct names. Neither the notice nor our count establishes how many Nigerian applications use them. A list entry is not a project, customer, request or percentage of the local developer market.

Cloudflare announcement inventory: 16 LLM identifiers and eight other model identifiers, totalling 24. These are listed names, not affected Nigerian projects.
Figure 1. Author count of the provider’s dated list, checked 11 November 2026. The downloadable inventory retains every identifier and its source; categories are the announcement’s groups, not usage estimates.

The interval from our 11 November check to the announced date is nine calendar days. Moving from 15 to 20 November adds five calendar days to the earlier plan. These date differences do not create a guaranteed migration window or imply that a candidate is suitable. Keep your own project owner and release constraints in the register.

Find every reference before changing the default

Search the repository for the exact model identifier, then inspect environment-variable examples, bindings, build configuration, test fixtures and fallback paths. A tutorial may keep one value in a code sample and a different one in a deployed setting. Record the source of each value and who can change it; do not publish credentials or private deployment details.

Start with repository aliases in the worksheet rather than private organisation names. Keep an explicit row for the fallback. A primary model can appear healthy while an error path still points to a retiring dependency. Also record cached examples and scheduled jobs so a successful interactive demonstration does not hide an untested background path.

Our Workers request-signal testing guide addresses another boundary in request handling. The migration task here is different: identify the model dependency and preserve the expected response contract. A transport signal alone cannot establish semantic compatibility.

Verify replacement access, shape and cost

Treat the announcement’s replacement suggestions as candidates. The current model catalog and each candidate’s documentation are the next checks. Model availability, account access, request fields, output structure and relevant task support all need separate evidence. A listed model is not proof that your account can invoke it or that a free allocation covers it.

The announcement still labels the suggested embedding replacement as available soon. Our retrieved catalog snapshot does not list that replacement identifier, and we did not make an authenticated availability check. This leaves account-level access unverified. Do not present it as accessible today; check again before choosing an embedding migration path.

For an embedding change, record the vector shape and the way the application builds and queries its index. A working endpoint does not by itself prove compatibility with previously stored vectors. Use an isolated copy of your own test material and document any re-indexing plan before changing a live search path.

The provider’s pricing page distinguishes model-specific units and notes that some models need paid billing access. Record a dated price and the units actually returned by the chosen model. We have not spent API credits or converted a hypothetical bill into naira. If you add a currency conversion, retain the exchange-rate source, timestamp and separate assumptions.

Freeze twelve synthetic prompts and their rules

The supplied plan includes twelve fictional prompts, each paired with two model slots. This creates 12 × 2 = 24 planned observations. The slots must be replaced with exact identifiers before execution; they are not two models we have tested. Keep prompt wording and acceptance rules unchanged during a comparison, then retain revisions separately.

Examples include a fictional order total of NGN 12,500 plus NGN 1,500 delivery, an order-reference extraction task and a support request with no supplied refund policy. Their expected outputs can be reviewed before any request is sent. The prompts are local teaching examples, not evidence that a model performs well for Nigerian languages, customers or businesses.

The worksheet separates HTTP status, output-schema verdict, task verdict, latency and token counts. Do not fill missing usage fields with zero. If an API does not expose a measure, record unavailable and explain the limitation. A latency comparison also needs the same timing boundary, retry rule and environment rather than a pair of convenient screenshots.

Unlock Your Unique Tech Path

Get expert tech consulting tailored just for you. Receive personalized advice and solutions within 1-3 business days.

Get Started
Twelve prompt rows across two model slots make 24 planned cells. Every cell is explicitly labelled NOT RUN. No pass, failure, latency or quality result is claimed.
Figure 2. A coverage plan, not a benchmark. Unknown results remain visible so the planned denominator cannot be mistaken for completed tests.

Use three acceptance gates, not one green response

First record whether the request completed. Next inspect whether the output has the required shape. Finally check whether the answer satisfies the task rule. Keep these outcomes separate because a successful response can still contain invalid JSON, missing fields or an unsupported answer. A valid response format can also contain a wrong calculation.

Three acceptance gates: transport status, parseable output shape and correct task result. The map separates request failure, invalid output and acceptable output without claiming any observed API results.
Acceptance infographic. The application must retain evidence at each gate; HTTP success alone does not establish a valid or useful answer.

For the fictional order prompt, NGN 12,500 + NGN 1,500 = NGN 14,000 is the pre-written answer rule. A numeric total of 14,000 under the wrong key fails the stated schema. A correct key with a total of 15,000 fails the task. A network failure is a different outcome again. These are examples of classification, not recorded model outputs.

When a prompt asks for an unknown policy, an invented refund deadline should not be marked acceptable just because the JSON parses. Keep a reviewer note and the retained response. Do not adjust the answer key after seeing a preferred model’s output unless you publish the changed rule and rerun the affected cases.

Plan the switch and retain a rollback decision

The calendar is a suggested sequence, not a mandatory release schedule. It places dependency discovery first, candidate checks next, isolated comparison after that and a reviewed change before the announced retirement day. Assign an owner to each unresolved item. A replacement is not ready merely because the calendar reaches its next row.

Exercise the unavailable-model path using an owned fixture or mock. Verify that the app shows an honest temporary-unavailability message and does not silently invent an answer. Define which failures should stop a release. A rollback that points only to a model scheduled for retirement is not a durable contingency; document another reviewed service state or fallback.

For an actual evaluation, keep raw responses, timing boundaries, exact versions and reviewer decisions in private evidence storage. Redact secrets before sharing a portfolio. Our CI coverage-check exercise explains why a passing status should be tied to the checks that really ran.

Download the migration tools

The inventory is a source transcription and count. The register is blank. The test file contains fictional prompts and not-run states. The calendar contains suggested dates and computed calendar-day differences. None is a scan of your repository, a deployment record or a statement that migration has succeeded.

Method, limitations and citation

Checked 11 November 2026 against the provider announcement, model catalog and pricing documentation. We deduplicated the published retirement identifiers, counted the two groups and computed date intervals and planned test cells. We did not access a Cloudflare account, execute a prompt or measure model quality, latency, cost or adoption in Nigeria.

Suggested citation: Nigeria Coding Academy, “Workers AI Model Deprecation Migration: A 24-ID Audit,” 11 November 2026. Cite Cloudflare for the retirement announcement and this report for the counted inventory, original prompts and worksheets. Send evidence-backed corrections through our contact page.