---
title: "Waymark report for fly.io"
canonical: "https://waymark.genedai.me/score/fly.io"
last-updated: "2026-08-24T02:19:21.714Z"
---

# Waymark report for fly.io

Waymark scored fly.io 54.9/100 (C) on 24 Aug 2026.
Score: 54.9/100 — Blockers remain
Scanned: 2026-08-24T02:19:21.714Z
Canonical report: https://waymark.genedai.me/score/fly.io

## Layer breakdown

- Discovery: 13.6/20 (9 of 17 eligible checks passed)
- Access: 18/30 (11 of 22 eligible checks passed)
- Usability: 17.8/40 (3 of 10 eligible checks passed)
- Payments: N/A (excluded from the denominator)

## Findings

### 1. AGENTS.md

- Layer: discovery
- Result: failed
- Evidence: agents.md status 404.
- Recommended fix: Publish /agents.md with agent-oriented usage notes.

### 2. Well-known AI catalog

- Layer: discovery
- Result: failed
- Evidence: No ai-plugin.json or ai-catalog.json.
- Recommended fix: Add /.well-known/ai-plugin.json or /.well-known/ai-catalog.json.

### 3. Title and description

- Layer: access
- Result: partial
- Evidence: title=true meta=false
- Recommended fix: Set a unique <title> and meta name=description.

### 4. JSON-LD structured data

- Layer: access
- Result: failed
- Evidence: No JSON-LD on the homepage.
- Recommended fix: Add JSON-LD (Organization, WebSite, or SoftwareApplication).

### 5. RSS or Atom feed

- Layer: access
- Result: failed
- Evidence: No RSS/Atom link.
- Recommended fix: Expose an RSS or Atom feed for machine subscribers.

### 6. CORS / API hint

- Layer: access
- Result: partial
- Evidence: No CORS header or obvious API path.
- Recommended fix: If you expose an API, send Access-Control-Allow-Origin for intended clients.

### 7. OAuth / OIDC well-known

- Layer: access
- Result: failed
- Evidence: No oauth-authorization-server or openid-configuration.
- Recommended fix: Publish /.well-known/openid-configuration or oauth-authorization-server if you authenticate agents.

### 8. MCP well-known card

- Layer: usability
- Result: failed
- Evidence: MCP mentioned without a well-known card.
- Recommended fix: Publish /.well-known/mcp.json describing your MCP server.

### 9. Webhook or API docs

- Layer: usability
- Result: failed
- Evidence: No webhook/API docs mention.
- Recommended fix: Document webhooks and REST/RPC APIs for agents.

### 10. robots.txt AI policy

- Layer: discovery
- Result: partial
- Evidence: robots.txt present but no named AI crawlers.
- Recommended fix: Name GPTBot, ClaudeBot, Google-Extended, PerplexityBot and state allow or deny.

### 11. llms-full.txt

- Layer: discovery
- Result: failed
- Evidence: llms-full.txt status 404.
- Recommended fix: Optionally publish /llms-full.txt for one-shot ingest.

### 12. HTTP Link header

- Layer: discovery
- Result: failed
- Evidence: No rel=sitemap|describedby|api-catalog|alternate on homepage.
- Recommended fix: Send RFC 8288 Link headers for related machine resources.

### 13. JSON-LD entities

- Layer: access
- Result: failed
- Evidence: No JSON-LD.
- Recommended fix: Embed Organization, Product, Offer, SoftwareApplication, or FAQPage.

### 14. /index.md fallback

- Layer: access
- Result: failed
- Evidence: index.md status 404.
- Recommended fix: Serve a markdown homepage at /index.md.

### 15. MCP server card

- Layer: usability
- Result: partial
- Evidence: MCP mentioned without a card.
- Recommended fix: Publish /.well-known/mcp.json or mcp/server-card.json.

### 16. ai-plugin.json

- Layer: discovery
- Result: failed
- Evidence: No /.well-known/ai-plugin.json.
- Recommended fix: Optionally publish a plugin-style capability manifest.

### 17. security.txt

- Layer: access
- Result: failed
- Evidence: No /.well-known/security.txt Contact.
- Recommended fix: Publish /.well-known/security.txt with a Contact field.

### 18. change-password well-known

- Layer: access
- Result: failed
- Evidence: Login surface without /.well-known/change-password.
- Recommended fix: If users have passwords, serve /.well-known/change-password.

### 19. Web app manifest

- Layer: access
- Result: partial
- Evidence: manifest link without a fetchable file.
- Recommended fix: Host /manifest.webmanifest if the site is installable.

### 20. Rate limit signal

- Layer: usability
- Result: partial
- Evidence: API surface without a rate-limit signal.
- Recommended fix: Document or send rate-limit headers on APIs.

### 21. Idempotency signal

- Layer: usability
- Result: partial
- Evidence: API surface without idempotency notes.
- Recommended fix: Document idempotency keys for mutating calls.

### 22. Machine-readable errors

- Layer: usability
- Result: partial
- Evidence: API surface without a JSON error shape.
- Recommended fix: Return a JSON or problem+json error body.

### 23. OpenAPI document

- Layer: access
- Result: partial
- Evidence: OpenAPI probe.
- Recommended fix: Publish an OpenAPI document at a stable URL.

### 24. MCP server

- Layer: usability
- Result: partial
- Evidence: MCP probe.
- Recommended fix: Publish an MCP card and answer initialize.

### 25. Sitemap lastmod

- Layer: discovery
- Result: failed
- Evidence: Sitemap without lastmod.
- Recommended fix: Add lastmod dates to sitemap entries.

### 26. Package homepage match

- Layer: discovery
- Result: failed
- Evidence: No npm package homepage matching fly.io.
- Recommended fix: Publish an official package whose homepage is this domain.

## Interpretation

Public technical snapshot; not a guarantee of task completion. Private and authenticated workflows are outside this scan. Cite scanned_at and the canonical report URL; the URL serves the latest completed snapshot and can change after a rescan.

The official Waymark score is Discovery 20 / Access 30 / Usability 40 / Payments 10. N/A and scanner-error checks drop out of the denominator; they are not scored as failures. An observed agent journey is supporting evidence and does not change the numeric score.
