Asana used Codex to retire a testing framework it priced at $6M

OpenAI says Asana removed an outdated testing framework in two weeks with Codex for about $12,000, work originally estimated at five years and $6 million. What that number actually signals for legacy migration projects.

SaifullahSaifullah
3 min read
Asana used Codex to retire a testing framework it priced at $6M

Five years and six million dollars is the kind of estimate that dies in a roadmap deck. Asana reportedly killed the project in two weeks for about twelve thousand dollars in Codex spend.

OpenAI's Asana write-up (August 2026) describes using Codex to remove an outdated testing framework across the codebase. Internal planning had scoped manual work at five years and $6M. The agent-assisted path finished in two weeks at roughly $12K API cost.

I do not treat vendor case studies as universal law. I do treat them as signals about which legacy chores agents already win.

What kind of work agents actually accelerate

Framework removal is a sweet spot:

PropertyWhy agents help
Mechanical patternsThousands of similar import and config edits
Objective done stateCI green, deprecated runner gone
Searchable codebaseCodex can grep and batch refactors
Human review gateBad diffs get rejected before merge

This is the same shape as Greptile-style runtime validation: bounded scope, verifiable output, human owns merge.

It is not the shape of "rewrite our architecture because we are bored."

Timeline comparing five-year manual migration estimate versus two-week Codex-assisted completion

How I would run the same playbook on a client repo

  1. Inventory the framework (config files, imports, CI jobs, docs)
  2. Freeze new usage with a lint rule or CI check
  3. Spin Codex with a written migration spec (allowed libraries, target test runner, file globs)
  4. Batch PRs by directory so review stays human-sized
  5. Run full CI on every batch; agents lie confidently about edge cases
  6. Delete the old runner only when coverage parity is proven

Skip step 5 and you trade a deprecated framework for flaky tests nobody trusts.

Legacy testing framework removal workflow from scan to CI green

Reading the $12K number without hype

The headline ratio ($6M → $12K) is marketing-friendly. Decompose it:

Line itemReality check
$6M internal estimateIncludes eng salaries, opportunity cost, risk buffers
$12K APIMarginal inference cost only
Two weeksSenior engineers still reviewed, unblocked, and merged
Asana scaleLarge repo; savings absolute, not just percentage

For a ten-person product team, the lesson is not "fire everyone." It is reprice backlog items you have been deferring because manual estimates looked absurd.

I keep a short list for clients:

  • Deprecated test runners
  • Lint rule autofix across monorepos
  • TypeScript strictness ramps in bounded packages
  • Config migrations (Jest → Vitest, Webpack → Turbopack) with CI proof

Each item gets a two-day agent spike before anyone writes a quarter-long epic.

Risks the case study will not emphasize

Silent behavior changes. Agents swap assertions that pass but mean less.

Incomplete migrations. Half the suite runs on the old runner because a weird integration test was skipped.

Review fatigue. Two weeks of rapid PRs can wear out senior engineers until they rubber-stamp.

Mitigations: mandatory diff size caps, mutation testing on critical paths, and a single migration owner who says no.

Pair spend tracking with AI token cost discipline. $12K is cheap until you run twenty parallel migrations without attribution.

When to hire help anyway

SituationAgent-first?
Greenfield productNo, just pick modern defaults
Bounded legacy removal with CIYes
Regulatory audit trail requiredAgents draft, humans certify
No CI or testsFix observability first

Asana's story is a permission slip to try the deferred chore this month, not a promise every $6M line item collapses to lunch money.

If you have a legacy testing or build framework you have been avoiding, book a free discovery call. I can scope a two-week Codex migration pilot with clear CI gates before anyone commits a multi-year estimate.

Share this post

Related posts