Readiness categories and scoring
CF Ready computes a weighted overall score from five active categories. Open findings deduct points by severity; blockers zero out their category and prevent production-ready status.
Category weights
| Category | Weight | What it covers |
|---|---|---|
| Migration | 35% | Runtime blockers, framework compatibility, vinext/OpenNext paths, hosting target |
| Security | 30% | Secrets, env files, CORS, source maps, headers, npm audit |
| AI readiness | 20% | robots.txt, llms.txt, OpenAPI, MCP server card, auth.md |
| SEO | 10% | Metadata, sitemap, structured data, alt text, headings |
| Deployment | 5% | wrangler config, CI workflows, deploy scripts, rollback plan |
| Observability | 0% | Reserved — not included in overall score today |
Overall score = sum of (category score × weight), rounded to an integer. Categories with weight 0 are skipped entirely.
Severity deductions
Each open finding deducts from its category score starting at 100:
| Severity | Deduction | Category effect |
|---|---|---|
| Blocker | 100 | Category score forced to 0 (regardless of other findings) |
| High | 25 | Subtract 25 per open finding |
| Medium | 10 | Subtract 10 per open finding |
| Low | 5 | Subtract 5 per open finding |
| Info / Passed | 0 | No deduction |
Category scores are clamped to 0–100 after deductions. Findings with status fixed, accepted-risk, or ignored do not deduct.
Production ready rules
productionReady is false when any of these conditions apply:
- Any open finding with blocker severity (any category)
- When
security.blockOnSecretsistrue(default): any open security finding with blocker or high severity - When
security.blockOnCriticalDependenciesistrue(default): finding IDsecurity-critical-dependenciesis open
A high overall score does not imply production ready if blockers or security gates fail. The markdown report shows ✅ or ❌ based on these rules.
Observability
The observability category exists in the schema with weight 0. Findings can be tagged to this category in future releases, but they do not affect the overall score today. See Roadmap for planned observability checks.
Category details: Migration · Security · AI readiness · SEO · Reports