B
Why this grade
A solid B. Strong on robots.txt AI-agent rules and Anti-bot interstitial; tightening on OpenAPI specification discovery and JSON-LD structured data would push this into A territory.
Get notified when this grade changes
Subscribe to grade-change alerts for singularity.cv — we'll email you when a new scan moves the grade or score.
Blocking issues
High-weight checks that aren't passing.
- OpenAPI specification discovery No OpenAPI spec found at any of 9 conventional paths.
- identity.tls Cert valid, but: `http://` did not redirect to `https://`.
Per-category breakdown
| Category | Score | Percent |
|---|---|---|
| Anti Bot | 15 / 15 | |
| Api | 0 / 15 | |
| Crawl | 27 / 27 | |
| Docs | 8 / 14 | |
| Html Meta | 7 / 15 | |
| Identity | 8 / 15 | |
| Llm Training | 4 / 8 | |
| Onboarding | 3 / 6 | |
| Protocols | 10 / 10 | |
| Registries | 17 / 17 |
Findings (33)
Anti Bot · 2
| Check | Status | Points | Notes |
|---|---|---|---|
| Anti-bot interstitial | pass | 10 / 10 | No anti-bot interstitial detected on the homepage. |
| User-agent sniffing | pass | 5 / 5 | Homepage responses for default and curl UAs are effectively identical. |
Api · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| GraphQL introspection | skip | — | No GraphQL endpoint found at any of 3 conventional paths. |
| JSON error bodies for API callers | fail | 0 / 5 | HTTP 404 served an HTML body for an API-like caller (Accept: application/json). |
| OpenAPI specification discovery | fail | 0 / 10 | No OpenAPI spec found at any of 9 conventional paths. |
Crawl · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| RSS/Atom feed | pass | 4 / 4 | rss feed at https://singularity.cv/jobs/rss (0 entries, linked from homepage). |
| robots.txt AI-agent rules | pass | 13 / 13 | All 13 documented AI user-agents can crawl /. |
| XML sitemap discovery | pass | 10 / 10 | Sitemap at /sitemap.xml (urlset, 28 entries). |
Docs · 2
| Check | Status | Points | Notes |
|---|---|---|---|
| Docs platform discoverability | fail | 0 / 6 | No docs found at any of the conventional paths. |
| SDK availability across languages | pass | 8 / 8 | 2 SDKs discoverable: node, python. |
Html Meta · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| JSON-LD structured data | fail | 0 / 8 | No JSON-LD blocks on the homepage. |
| meta description | pass | 3 / 3 | Meta description present (137 characters). |
| Open Graph tags | pass | 4 / 4 | All three core Open Graph tags present on the homepage. |
Identity · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| Email auth (SPF, DMARC, DKIM) | warn | 3 / 5 | Partial email auth; missing: SPF. |
| security.txt responsible-disclosure declaration | skip | — | No security.txt found at either probed path — secondary signal, not a negative one. |
| TLS + HSTS + HTTPS redirect | warn | 5 / 10 | Cert valid, but: `http://` did not redirect to `https://`. |
Llm Training · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| Common Crawl index presence | skip | — | Common Crawl CDX endpoint was unreachable — not penalising target. |
| Hacker News mentions | skip | — | 0 HN mention(s) of singularity.cv (threshold for pass is 3) — not penalising, HN chatter is secondary signal. |
| Wikipedia article | warn | 4 / 8 | Wikipedia article "Singularity" exists but does not link to singularity.cv — might be a different subject with the same name. |
Onboarding · 1
| Check | Status | Points | Notes |
|---|---|---|---|
| API-key / signup path discoverability | warn | 3 / 6 | Signup/API-key page found at /register but nothing on the homepage or docs links to it — a crawler would have to guess. |
Protocols · 2
| Check | Status | Points | Notes |
|---|---|---|---|
| Public MCP registry listing | pass | 10 / 10 | Listed in 1 registry/registries: smithery. |
| A2A AgentCard conformance | skip | — | No AgentCard at /.well-known/agent.json — nothing to grade. |
Registries · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| GitHub public repository | pass | 5 / 5 | 20 attributable repo(s): apptainer/singularity, MatheuZSecurity/Singularity, nccgroup/singularity, HubSpot/Singularity, at-import/Singularity. |
| npm SDK package | pass | 6 / 6 | 2 attributable npm package(s): @thesingularitynetwork/singularity-sdk, @singularity/core. |
| PyPI SDK package | pass | 6 / 6 | PyPI package(s) found: singularity, singularity-sdk. |
Root Level · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| /ai.txt AI-crawler directives | skip | — | No /ai.txt present (404) — this is a secondary signal, not a negative one. |
| /llms-full.txt long-form index | skip | — | No /llms-full.txt present (404). |
| /llms.txt index for LLMs | skip | — | No /llms.txt present (404). |
Well Known · 5
| Check | Status | Points | Notes |
|---|---|---|---|
| /.well-known/agent.json (A2A AgentCard) | skip | — | No /.well-known/agent.json present (404). |
| /.well-known/ai-plugin.json manifest | skip | — | No /.well-known/ai-plugin.json present (404). |
| /.well-known/mcp.json (Model Context Protocol) | skip | — | No /.well-known/mcp.json present (404). |
| OpenID Connect configuration + dynamic registration | skip | — | No /.well-known/openid-configuration — site does not advertise an OIDC provider. |
| /.well-known/openapi.{json,yaml} | skip | — | No OpenAPI spec at either well-known path. |
Score over time
- Latest
- 73 ▲ 28
- Best
- 73
- Worst
- 45
- Scans
- 8
Scan history
| When | Grade | Score | Checks | Change | Open scan |
|---|---|---|---|---|---|
| 31 May 2026, 07:35 | B | 73 | 33 | ↑ | Open · Compare |
Since 30 Apr:
|
|||||
| 30 Apr 2026, 15:11 | D | 45 | 33 | ↓ | Open · Compare |
Since 27 Apr:
|
|||||
| 27 Apr 2026, 20:31 | B | 73 | 33 | → | Open · Compare |
Since 27 Apr:no flips |
|||||
| 27 Apr 2026, 19:56 | B | 73 | 33 | → | Open · Compare |
Since 26 Apr:no flips |
|||||
| 26 Apr 2026, 09:04 | B | 73 | 33 | → | Open · Compare |
Since 25 Apr:no flips |
|||||
| 25 Apr 2026, 22:10 | B | 73 | 33 | → | Open · Compare |
Since 25 Apr:no flips |
|||||
| 25 Apr 2026, 19:56 | B | 73 | 33 | → | Open · Compare |
Since 25 Apr:no flips |
|||||
| 25 Apr 2026, 19:55 | B | 73 | 33 | Open | |