# Egoist Machines readiness report

Canonical: https://mudpie.ai/agent-readiness/reports/egoist-machines/
Observed: 2026-09-20–2026-09-21 UTC
Scope: logged-out public read-only
Source export: [JSON](https://mudpie.ai/agent-readiness/reports/egoist-machines/index.json)

## Score

**85.1/100** diagnostic score for one scored pilot row. This is not a field user-experience score, execution result, adoption measure, or cohort target.

| Status | Count |
| --- | ---: |
| Pass | 55 |
| Partial | 22 |
| Fail | 3 |
| N/A | 3 |
| Owner-only | 4 |
| Unknown | 0 |

The source export retains its original statuses; owner-only is the reader label for <code>not_publicly_verifiable</code>.

## Weighted dimensions

| Dimension | Weight | Earned / applicable | Rate |
| --- | ---: | ---: | ---: |
| SEO | 40% | 35.5 / 40 | 88.8% |
| AEO | 25% | 19.875 / 24 | 82.8% |
| AGENT | 25% | 20 / 22.25 | 89.9% |
| RELIABILITY | 10% | 5.625 / 8.75 | 64.3% |

## Actual observations

- Mobile Lighthouse LCP was 6,990ms median and 7,093ms p90; desktop median was 1,603ms. This is a lab observation, not field telemetry.
- The saved sitemap crawl found five 404 URLs and the deliberately missing Markdown resource returned a generic HTML 404 body.
- Public llms, Markdown, OpenAPI and OIDC surfaces were discoverable; registration, execution and adoption were not measured.
- Keyboard traversal, FAQ state, mobile layout and the controlled text stress run passed within the saved logged-out scope.

## Check ledger

| Check | Dimension | Status | Points | Actual observation |
| --- | --- | --- | ---: | --- |
| seo.http.preferred_origin | seo | Pass | 2 | HTTP/HTTPS and apex/www Egoist variants resolve to the HTTPS apex origin without a loop; sampled homepage bodies share the same hash. |
| seo.http.core_page | seo | Pass | 2 | The saved homepage returned HTTP 200 with text/html. |
| seo.http.not_found | seo | Pass | 2 | The deliberate missing path returned HTTP 404. |
| seo.http.machine_errors | seo | Partial | 1 | The advertised Markdown resource family's deliberately missing `/llms-missing.md` returned a real 404 HTML response rather than a successful 200 machine document; status is correct, but the body is generic rather than a typed Markdown error. |
| seo.http.robots_headers | seo | Pass | 1 | The sampled pages are indexable and have no restrictive X-Robots-Tag. |
| seo.canonical.page | seo | Pass | 2 | Homepage, docs, and privacy pages each declare one canonical URL. |
| seo.canonical.target | seo | Pass | 2 | All sampled canonical targets equal their saved HTTP 200 final URLs. |
| seo.canonical.duplicate_hosts | seo | Pass | 1.5 | Apex/www and HTTP/HTTPS homepage variants consolidate to the HTTPS apex origin with a stable canonical and body hash. |
| seo.canonical.cross_surface | seo | Pass | 2.5 | The sampled HTML canonicals, structured Organization/WebSite URLs, homepage/docs identity, sitemap origin, Markdown resource links, OpenAPI server, and OIDC service documentation all point to the same Egoist/Passport identity without a contradictory host or product target. Explicit machine representations are evaluated under their separate metadata check. |
| seo.canonical.variants | seo | Pass | 2 | Fresh live representative checks for the homepage query, /docs, /docs/, and /docs?print=1 all returned 200 with clean canonical targets and no robots contradiction. |
| seo.graph.reachable | seo | Pass | 3 | The representative indexable homepage links to Documentation and Privacy Policy, and both linked pages returned HTTP 200 with self-canonicals in the saved public packet. |
| seo.graph.crawlable_links | seo | Pass | 2 | The complete bounded sitemap crawl recorded 124 discovered same-origin links with no query links, while the saved homepage/docs packet shows ordinary anchors for the representative product, docs, privacy, changelog, and agent resources. |
| seo.graph.bounded | seo | Pass | 2 | The public llms map is sectioned and bounded, the full 125-location crawl found zero query links, and the saved public route set contains finite sitemap membership rather than an observed filter/calendar parameter expansion. |
| seo.graph.noindex_children | seo | Pass | 1.5 | The complete crawl found five noindex routes, all 404 creator-policy responses with no discovered links; no important child route depended on a noindexed parent. The redundant index/follow token is a separate 404 metadata issue and does not create a crawl-graph defect. |
| seo.graph.orphans | seo | Partial | 1.5 | The full 125-URL sitemap crawl found 86 sitemap-only routes in the bounded internal-link comparison, while the rendered docs/navigation and llms map expose the high-intent developer/agent resources; many sitemap-only routes are public profile/publisher pages, so this is discovery friction rather than a site-wide orphan failure. |
| seo.sitemap.robots | seo | Pass | 1.5 | robots.txt allows the public surface and names the canonical sitemap. |
| seo.sitemap.protocol | seo | Pass | 1 | The saved sitemap parser observed URLSET and 125 locations. |
| seo.sitemap.url_integrity | seo | Fail | 2 | The complete 125-location sitemap crawl returned five 404 pages, including five creator-policy URLs that remain in the sitemap; two large pages were not fully captured. |
| seo.sitemap.discovered_membership | seo | Partial | 2 | The full sitemap is populated and 118 URLs returned 200, but 86 sitemap routes were not found in the bounded internal-link set and five sitemap entries returned 404. |
| seo.sitemap.lastmod | seo | Partial | 0.5 | The sitemap supplies 2026-08-31 for all sampled entries, while the public changelog contains 2026-09-16 and 2026-09-08 entries. This directly shows stale or overly coarse sitemap freshness for at least the changelog route; no external publication history is required to record the mismatch. |
| seo.sitemap.index_children | seo | Pass | 0.5 | The saved Egoist sitemap is a non-empty URLSET with 125 locations; no empty sitemap-index child map was observed. |
| seo.sitemap.purpose_separation | seo | Pass | 0.5 | robots.txt uses a generic public crawler policy with explicit private/auth/editor disallows and names the sitemap; no contradictory search, user-retrieval, or training policy directive was observed. The absence of a separate training policy is retained as context, not treated as conflation. |
| seo.render.initial_html | seo | Pass | 1.25 | Initial HTML includes the AI Passport title, identity, capabilities, and privacy/docs text. |
| seo.render.hydration_parity | seo | Pass | 1 | Rendered views retain the AI Passport title and primary identity text from raw HTML. |
| seo.render.text_access | seo | Pass | 1 | The rendered desktop/mobile captures expose product and developer documentation as text. |
| seo.render.interstitials | seo | Pass | 0.75 | The mobile/public FAQ pass exposed no consent or blocking interstitial; the page remained readable and FAQ controls were usable without authentication. |
| aeo.truth.entity | aeo | Pass | 1 | The public title and H1 identify Egoist AI Passport. |
| aeo.truth.capabilities | aeo | Pass | 1.5 | Homepage and docs state portable memory/context, AI application integrations, sign-in, agents, and managed partner integrations. |
| aeo.truth.availability | aeo | Pass | 1 | The docs name iPhone/iPad sign-in, agents, and integration paths. |
| aeo.truth.commercial_terms | aeo | Partial | 2 | The homepage states free for life, but no limits, quota, cancellation, or paid upgrade terms are captured. |
| aeo.truth.integration_trust | aeo | Pass | 2 | The public Trust and Support pages provide security/privacy boundaries, revocation/export/deletion guidance, named support, response timing, and common account questions, with linked privacy/docs/contact paths. |
| aeo.truth.freshness | aeo | Partial | 1 | The privacy policy exposes an effective date, while product capability freshness is not dated. |
| aeo.truth.cross_surface | aeo | Partial | 1.5 | Homepage, llms map, install guide, OpenAPI, and OIDC discovery consistently identify AI Passport and its developer/agent integration purpose, while commercial/current terms remain incomplete across surfaces. |
| aeo.schema.type_match | aeo | Pass | 1.5 | Structured types include SoftwareApplication, Offer, Organization, and WebSite for an AI software product. |
| aeo.schema.visible_parity | aeo | Pass | 1.5 | Freshly captured JSON-LD contains Organization, WebSite, SoftwareApplication, and Offer facts that agree with the visible AI Passport identity, web/product category, portable-context description, free-for-life/$0 offer, and publisher. |
| aeo.schema.stable_ids | aeo | Partial | 1 | The homepage/docs structured payloads identify the Egoist organization and website consistently, but the saved payload does not establish stable IDs for every product/partner entity. |
| aeo.schema.current_facts | aeo | Partial | 1 | The homepage structured payload includes SoftwareApplication/Offer data aligned with free-for-life copy, while the public docs/OpenAPI expose current beta version and integration facts outside schema. |
| aeo.schema.faq_howto | aeo | Partial | 0.5 | The homepage visibly exposes FAQ controls, but no FAQ/HowTo structured type was captured in the homepage/docs payloads. |
| aeo.schema.syntax | aeo | Pass | 0.5 | The saved structured-data parser found typed JSON-LD with zero parse errors. |
| aeo.machine.alternate_advertised | aeo | Pass | 1.25 | Developer docs advertise /llms.txt and /llms-install.md alternates. |
| aeo.machine.clean_markdown | aeo | Pass | 1.25 | The advertised Markdown resources returned readable substantive bodies with their intended text/plain or text/markdown content types; canonical/update metadata and fact parity are evaluated by separate checks. |
| aeo.machine.negotiation_cache | aeo | N/A | 1 | The public machine representations use distinct explicit URLs such as /llms-install.md and /partner-openapi.json; no HTML/Markdown content negotiation endpoint was exposed in the saved public contract. |
| aeo.machine.fact_parity | aeo | Pass | 1.25 | Live sampled llms, install, agent-install, and OpenAPI representations agree with the homepage/docs identity and capabilities. The $1,000/month startup offer is explicitly segmented as AI Passport for Startups rather than contradicting the personal free-for-life product. |
| aeo.machine.metadata | aeo | Partial | 1 | The OpenAPI document exposes version 1.0.0-beta and the Markdown maps identify canonical public resource paths, but the Markdown responses lack explicit canonical/update metadata. |
| aeo.machine.missing_error | aeo | Partial | 0.25 | A deliberately missing advertised-style Markdown path returned HTTP 404 with text/html rather than a successful Markdown body; the response is a real missing page but does not provide a machine-specific Markdown error representation. |
| aeo.discovery.map | aeo | Pass | 1.5 | The docs page points to bounded developer/agent resources and Markdown alternates. |
| aeo.discovery.valid_links | aeo | Pass | 1 | The advertised llms map's sampled first-party agent/install/full-corpus and Partner OpenAPI links resolved with their expected public text/JSON formats; the external GitHub link is outside this representative first-party scope. |
| aeo.discovery.bounded | aeo | Pass | 0.5 | The public llms map is sectioned into agent resources, product, docs, and a full corpus link rather than an unbounded duplicate dump. |
| agent.a11y.semantics_names | agent | Pass | 2 | The reviewed AX tree exposes 33 interactive nodes with nonempty programmatic names, including native links, buttons, and the two handle textboxes; the representative keyboard sequence reaches those public controls. |
| agent.a11y.inputs_errors | agent | Partial | 1.5 | The live public handle input has a visible placeholder, autocomplete=username, and maxLength=20, while required/pattern/aria-error metadata is absent and no validation transition was entered. The private claim action was not clicked. |
| agent.a11y.keyboard_focus | agent | Pass | 1.5 | The bounded Tab and reverse-Tab traversal reaches the public homepage controls with named visible focus and no observed trap; the page has no public navigation-menu state requiring a separate menu traversal. |
| agent.a11y.structure | agent | Pass | 1 | The representative homepage has a named overview region, main landmark, labeled content regions, and meaningful H1/H2/H3 headings covering product identity, workflow, content sections, and FAQ. The main landmark does not require an accessible label; the repeated marketing H1 nodes are meaningful responsive content and are not treated as an automatic hierarc… |
| agent.a11y.mobile_text | agent | Pass | 1.5 | A controlled local 200% per-element text stress doubled computed font sizes for a visible hero heading, body paragraph, LOGIN link, handle input, and FAQ button. Critical controls remained within the 390px viewport with no overlap or horizontal clipping in the captured screenshot. |
| agent.a11y.dynamic_state | agent | Pass | 1 | Repeated public FAQ interactions changed expanded state, exposed the answer, and returned to closed state without page errors; the state is observable through the control and rendered answer. |
| agent.a11y.overlays | agent | Pass | 1.5 | Across ten public desktop/mobile runs, no consent banner, chat widget, modal, or blocking overlay appeared; FAQ expansion remained within the page and the public core controls stayed available. |
| agent.stability.space | agent | Pass | 1 | Across the representative homepage at desktop and mobile, all 49 images were complete with nonzero intrinsic and rendered dimensions, and repeated load/FAQ runs recorded no layout-shift entries without recent user input. |
| agent.stability.movement | agent | Pass | 1 | Login and handle-input document coordinates remain unchanged across three FAQ open/close repeats at desktop and mobile. The FAQ accordion's own expansion and focus scroll are expected user-triggered reflow, not autonomous movement of unrelated targets. |
| agent.stability.responsive | agent | Pass | 1 | The saved desktop/mobile rendered captures keep the sampled primary/login, FAQ, handle-input, and claim controls within their 1280px and 390px viewports without horizontal overflow or an observed obstruction. Increased text and interaction semantics are assessed separately. |
| agent.stability.loading_motion | agent | Pass | 1 | The reduced-motion capture reports no animations while the public FAQ remains operable; the representative homepage exposes no loading/disabled control state during the audited path. |
| agent.task.action_scope | agent | Pass | 1 | The public install, agent, directed-disclosure, and partner docs state that the task reads owner-approved context or sends owner-approved messages, identify the approval/commit boundary, and distinguish hosted, personal-agent, and partner paths before any commit. |
| agent.task.inputs_auth | agent | Pass | 1 | The public sign-in contract states client metadata document fields, redirect URI host constraints, token endpoint auth method, state, PKCE S256, issuer, nonce, scopes, memory resource, and partnerKey security; visible login/handle controls match the documented public action without requiring login during this audit. |
| agent.task.cost_limits | agent | Partial | 1 | The public map states startup pricing, and OpenAPI/docs expose rate-limited error classes and scoped operations, but complete quota/timeout terms are not public. |
| agent.task.output_errors | agent | Owner-only | 1 | Egoist's public action is visible, but its post-submit errors/confirmation and idempotency behavior cross the safe read-only audit boundary. |
| agent.task.confirmation_idempotency | agent | Owner-only | 1 | Egoist's public action is visible, but its post-submit errors/confirmation and idempotency behavior cross the safe read-only audit boundary. |
| agent.task.escalation | agent | Pass | 1 | The public Support page names [contact omitted] and a usual two-business-day response, while Trust/docs/going-live provide recovery, owner-approval, and contact paths for the public integration task. |
| agent.capabilities.api_contract | agent | Pass | 1.25 | Egoist publishes a non-empty OpenAPI 3.1 partner contract with authenticated operations, request schemas, response schemas, versions, and explicit error codes/statuses. |
| agent.capabilities.oauth_discovery | agent | Pass | 1 | The advertised sign-in guide points to a public OIDC discovery document that returns issuer, authorization/token endpoints, JWKS, PKCE S256, device authorization, scopes, and CIMD support. |
| agent.capabilities.skill | agent | N/A | 0.75 | Egoist's advertised public machine surfaces are OIDC, OpenAPI, Markdown, and MCP/agent resources; no hosted Agent Skill surface is advertised in the public map or docs. |
| agent.capabilities.mcp_webmcp | agent | Partial | 1 | The public llms map and install guide advertise hosted MCP assistants, messaging tools, and the Passport MCP resource; no authenticated MCP metadata or invocation was attempted. |
| agent.capabilities.operational_metadata | agent | Partial | 1 | The OpenAPI and OIDC documents expose versions, security schemes, scopes, endpoint classes, and error codes, but do not fully state all operational limits and confirmation boundaries. |
| reliability.performance.ttfb | reliability | Pass | 1 | Saved Lighthouse lab profiles stayed separate (desktop median=191.0 p90=192.0 ms (pass); mobile median=631.0 p90=633.6 ms (pass)); conservative verdict=pass. |
| reliability.performance.lcp | reliability | Fail | 1 | Saved Lighthouse lab profiles stayed separate (desktop median=1603.0 p90=1842.2 ms (pass); mobile median=6990.0 p90=7093.0 ms (fail)); conservative verdict=fail. |
| reliability.performance.cls | reliability | Pass | 1 | Saved Lighthouse lab profiles stayed separate (desktop median=0.0001153172096631206 p90=0.0002700878962683872 ratio (pass); mobile median=0.0 p90=0.001808985884794211 ratio (pass)); conservative verdict=pass. |
| reliability.performance.transfer_interaction | reliability | Partial | 1 | Trusted FAQ clicks produced browser Event Timing entries with 32–40ms durations after warmup; three repeats ran at each viewport with no page errors. Transfer and blocking observations remain bounded to the saved resource/interaction packet, so no field INP claim is made. |
| reliability.cache.directives | reliability | Pass | 0.75 | Saved homepage/docs/privacy responses use public max-age=0, must-revalidate. |
| reliability.cache.vary | reliability | N/A | 0.5 | The public Markdown and OpenAPI representations are separate explicit URLs, and the saved packet exposes no alternate representation selected by Accept negotiation. |
| reliability.cache.auth | reliability | Owner-only | 0.5 | Egoist exposes or implies an authenticated/private boundary, but the logged-out public packet cannot verify reliability.cache.auth. |
| reliability.cache.challenge_content_type | reliability | Pass | 0.25 | Sampled Egoist Markdown, OpenAPI JSON, HTML docs, and missing Markdown responses preserve ordinary content types/statuses; no challenge body masqueraded as successful machine content. |
| reliability.freshness.effective_state | reliability | Partial | 0.5 | Egoist publishes a changelog and a beta OpenAPI version, while product capability and free-for-life claims are not uniformly dated. |
| reliability.freshness.commercial_compatibility | reliability | Partial | 0.75 | The public llms map states AI Passport for Startups pricing (three months free, six for YC companies, then $1,000/month flat) and the homepage states free for life for the personal product; limits/cancellation/eligibility details are not fully unified. |
| reliability.freshness.provenance | reliability | Partial | 0.5 | The privacy policy has an effective date and named operator; product capability sources are not separately versioned. |
| reliability.freshness.deprecated_replacement | reliability | Partial | 0.25 | The public install guide states that DCR remains deprecated and directs current clients toward host-consistent metadata-document/CIMD admission; the replacement/end-state is publicly described but not a full migration contract. |
| reliability.errors.http_status | reliability | Pass | 0.75 | The exact deliberate missing URL returned HTTP 404; no site-wide inference is made. |
| reliability.errors.next_step | reliability | Fail | 0.5 | The saved 404 body states that the page could not be found but does not expose a safe next step. |
| reliability.errors.404_noindex | reliability | Pass | 0.25 | The exact 404 carries noindex; the additional index, follow token is redundant source markup, but the restrictive noindex rule remains effective. |
| reliability.errors.auth_detail | reliability | Owner-only | 0.25 | Egoist exposes or implies an authenticated/private boundary, but the logged-out public packet cannot verify reliability.errors.auth_detail. |
| reliability.errors.rate_limit_retry | reliability | Partial | 0.25 | The public OpenAPI contract enumerates rate_limited errors and 429 responses for partner operations, but it does not publish a retry interval or backoff policy. |

## Limits

- Performance values are controlled lab observations; they are not field Core Web Vitals or user-impact claims.
- The 200% text result is a local computed-style stress test, not native browser text zoom or universal route certification.
- The FAQ movement pass excludes expected user-triggered accordion reflow and focus scrolling.
- N/A applies only to explicit non-applicability; NPV rows are visible owner/private exclusions and are not failures.
- No login, form submission, account creation, tool invocation, rate-limit bypass, or security test was performed.

Read the [methods and score gates](https://mudpie.ai/agent-readiness/reports/methods/). The separate [native WebMCP census](https://mudpie.ai/research/native-webmcp-census-2026-09-20.json) has its own denominator.

Source export SHA-256: `46db927b6ee23bd441d722a07e1870126de0267d36b917be64eed711ab939eda`
