Summary
154 out of 162 kind 31989 (NIP-89 app recommendation) events fail validation due to missing required a-tag references to handler announcements.
Evidence
- 154 invalid events, 8 valid — 95.1% error rate
- Unattributed, spread across many pubkeys (top: 6 events each)
Violation breakdown
| Error |
Count |
must contain at least 1 valid item(s) |
154 |
must be equal to constant (expected "a" tag) |
154 per position |
must match pattern "^\d+:[a-f0-9]{64}:.+$" (invalid a-tag value) |
154 per position |
Root cause
Kind 31989 events are supposed to contain a-tags referencing kind 31990 handler announcements. Instead, events contain d, t, and other tags:
{
"kind": 31989,
"tags": [
["d", "a2n-capability"],
["t", "a2n"],
["t", "agent"],
["t", "ai"]
]
}
These events appear to be "capability" or "feature" declarations rather than app recommendations. They lack the required a-tag with the <kind>:<pubkey>:<d-tag> format.
Notes
This appears to be a misuse of kind 31989 — the events are declaring capabilities/features rather than recommending specific NIP-89 app handlers. The a2n tag suggests an AI agent framework repurposing this kind.
Dataset
655K events scanned across 52 event kinds from multiple relays. Validated against nostrability/schemata schemas.
Exact Failure Mode
| Error Path |
Keyword |
Message |
Count |
/tags |
contains |
must contain at least 1 valid item(s) |
158 |
/tags/0/0 |
const |
must be equal to constant |
158 |
/tags/0/1 |
pattern |
must match pattern kind:pubkey:dtag |
158 |
/tags/1/0 |
const |
must be equal to constant |
158 |
Sample failing tags: [["d","a2n-capability"],["t","a2n"],["t","agent"],["t","ai"]]
Root cause: Missing required a-tag with NIP-33 coordinate format; events use d/t tags for categorization instead of app recommendation. Appears to be AI agent framework repurposing kind 31989.
Summary
154 out of 162 kind 31989 (NIP-89 app recommendation) events fail validation due to missing required
a-tag references to handler announcements.Evidence
Violation breakdown
must contain at least 1 valid item(s)must be equal to constant(expected "a" tag)must match pattern "^\d+:[a-f0-9]{64}:.+$"(invalid a-tag value)Root cause
Kind 31989 events are supposed to contain
a-tags referencing kind 31990 handler announcements. Instead, events containd,t, and other tags:{ "kind": 31989, "tags": [ ["d", "a2n-capability"], ["t", "a2n"], ["t", "agent"], ["t", "ai"] ] }These events appear to be "capability" or "feature" declarations rather than app recommendations. They lack the required
a-tag with the<kind>:<pubkey>:<d-tag>format.Notes
This appears to be a misuse of kind 31989 — the events are declaring capabilities/features rather than recommending specific NIP-89 app handlers. The
a2ntag suggests an AI agent framework repurposing this kind.Dataset
655K events scanned across 52 event kinds from multiple relays. Validated against nostrability/schemata schemas.
Exact Failure Mode
/tagscontains/tags/0/0const/tags/0/1pattern/tags/1/0constSample failing tags:
[["d","a2n-capability"],["t","a2n"],["t","agent"],["t","ai"]]Root cause: Missing required a-tag with NIP-33 coordinate format; events use d/t tags for categorization instead of app recommendation. Appears to be AI agent framework repurposing kind 31989.