@nebulacomponents/citable 1.20.0 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/universal/.agents/skills/citable/SKILL.md +1 -1
  3. package/dist/universal/.agents/skills/citable/VERSION +1 -1
  4. package/dist/universal/.agents/skills/citable/manifest.json +18 -5
  5. package/dist/universal/.agents/skills/citable/schemas/citation-provenance.schema.json +59 -0
  6. package/dist/universal/.agents/skills/citable/schemas/claim-evidence.schema.json +21 -0
  7. package/dist/universal/.agents/skills/citable/schemas/claim-verification.schema.json +18 -0
  8. package/dist/universal/.agents/skills/citable/schemas/competitor-representation.schema.json +36 -0
  9. package/dist/universal/.agents/skills/citable/schemas/derivation.schema.json +18 -0
  10. package/dist/universal/.agents/skills/citable/schemas/external-comparison.schema.json +16 -0
  11. package/dist/universal/.agents/skills/citable/schemas/external-observation.schema.json +32 -0
  12. package/dist/universal/.agents/skills/citable/schemas/prompt-set.schema.json +47 -0
  13. package/dist/universal/.agents/skills/citable/schemas/representation-data.schema.json +21 -0
  14. package/dist/universal/.agents/skills/citable/schemas/research-dataset.schema.json +27 -0
  15. package/dist/universal/.agents/skills/citable/schemas/response-span.schema.json +16 -0
  16. package/dist/universal/.agents/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  17. package/dist/universal/.agents/skills/citable/schemas/source-retrieval.schema.json +41 -0
  18. package/dist/universal/.claude/agents/citable/manifest.json +2 -2
  19. package/dist/universal/.claude/skills/citable/SKILL.md +1 -1
  20. package/dist/universal/.claude/skills/citable/VERSION +1 -1
  21. package/dist/universal/.claude/skills/citable/manifest.json +18 -5
  22. package/dist/universal/.claude/skills/citable/schemas/citation-provenance.schema.json +59 -0
  23. package/dist/universal/.claude/skills/citable/schemas/claim-evidence.schema.json +21 -0
  24. package/dist/universal/.claude/skills/citable/schemas/claim-verification.schema.json +18 -0
  25. package/dist/universal/.claude/skills/citable/schemas/competitor-representation.schema.json +36 -0
  26. package/dist/universal/.claude/skills/citable/schemas/derivation.schema.json +18 -0
  27. package/dist/universal/.claude/skills/citable/schemas/external-comparison.schema.json +16 -0
  28. package/dist/universal/.claude/skills/citable/schemas/external-observation.schema.json +32 -0
  29. package/dist/universal/.claude/skills/citable/schemas/prompt-set.schema.json +47 -0
  30. package/dist/universal/.claude/skills/citable/schemas/representation-data.schema.json +21 -0
  31. package/dist/universal/.claude/skills/citable/schemas/research-dataset.schema.json +27 -0
  32. package/dist/universal/.claude/skills/citable/schemas/response-span.schema.json +16 -0
  33. package/dist/universal/.claude/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  34. package/dist/universal/.claude/skills/citable/schemas/source-retrieval.schema.json +41 -0
  35. package/dist/universal/.cursor/skills/citable/SKILL.md +1 -1
  36. package/dist/universal/.cursor/skills/citable/VERSION +1 -1
  37. package/dist/universal/.cursor/skills/citable/manifest.json +18 -5
  38. package/dist/universal/.cursor/skills/citable/schemas/citation-provenance.schema.json +59 -0
  39. package/dist/universal/.cursor/skills/citable/schemas/claim-evidence.schema.json +21 -0
  40. package/dist/universal/.cursor/skills/citable/schemas/claim-verification.schema.json +18 -0
  41. package/dist/universal/.cursor/skills/citable/schemas/competitor-representation.schema.json +36 -0
  42. package/dist/universal/.cursor/skills/citable/schemas/derivation.schema.json +18 -0
  43. package/dist/universal/.cursor/skills/citable/schemas/external-comparison.schema.json +16 -0
  44. package/dist/universal/.cursor/skills/citable/schemas/external-observation.schema.json +32 -0
  45. package/dist/universal/.cursor/skills/citable/schemas/prompt-set.schema.json +47 -0
  46. package/dist/universal/.cursor/skills/citable/schemas/representation-data.schema.json +21 -0
  47. package/dist/universal/.cursor/skills/citable/schemas/research-dataset.schema.json +27 -0
  48. package/dist/universal/.cursor/skills/citable/schemas/response-span.schema.json +16 -0
  49. package/dist/universal/.cursor/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  50. package/dist/universal/.cursor/skills/citable/schemas/source-retrieval.schema.json +41 -0
  51. package/dist/universal/.gemini/skills/citable/SKILL.md +1 -1
  52. package/dist/universal/.gemini/skills/citable/VERSION +1 -1
  53. package/dist/universal/.gemini/skills/citable/manifest.json +18 -5
  54. package/dist/universal/.gemini/skills/citable/schemas/citation-provenance.schema.json +59 -0
  55. package/dist/universal/.gemini/skills/citable/schemas/claim-evidence.schema.json +21 -0
  56. package/dist/universal/.gemini/skills/citable/schemas/claim-verification.schema.json +18 -0
  57. package/dist/universal/.gemini/skills/citable/schemas/competitor-representation.schema.json +36 -0
  58. package/dist/universal/.gemini/skills/citable/schemas/derivation.schema.json +18 -0
  59. package/dist/universal/.gemini/skills/citable/schemas/external-comparison.schema.json +16 -0
  60. package/dist/universal/.gemini/skills/citable/schemas/external-observation.schema.json +32 -0
  61. package/dist/universal/.gemini/skills/citable/schemas/prompt-set.schema.json +47 -0
  62. package/dist/universal/.gemini/skills/citable/schemas/representation-data.schema.json +21 -0
  63. package/dist/universal/.gemini/skills/citable/schemas/research-dataset.schema.json +27 -0
  64. package/dist/universal/.gemini/skills/citable/schemas/response-span.schema.json +16 -0
  65. package/dist/universal/.gemini/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  66. package/dist/universal/.gemini/skills/citable/schemas/source-retrieval.schema.json +41 -0
  67. package/dist/universal/.github/skills/citable/SKILL.md +1 -1
  68. package/dist/universal/.github/skills/citable/VERSION +1 -1
  69. package/dist/universal/.github/skills/citable/manifest.json +18 -5
  70. package/dist/universal/.github/skills/citable/schemas/citation-provenance.schema.json +59 -0
  71. package/dist/universal/.github/skills/citable/schemas/claim-evidence.schema.json +21 -0
  72. package/dist/universal/.github/skills/citable/schemas/claim-verification.schema.json +18 -0
  73. package/dist/universal/.github/skills/citable/schemas/competitor-representation.schema.json +36 -0
  74. package/dist/universal/.github/skills/citable/schemas/derivation.schema.json +18 -0
  75. package/dist/universal/.github/skills/citable/schemas/external-comparison.schema.json +16 -0
  76. package/dist/universal/.github/skills/citable/schemas/external-observation.schema.json +32 -0
  77. package/dist/universal/.github/skills/citable/schemas/prompt-set.schema.json +47 -0
  78. package/dist/universal/.github/skills/citable/schemas/representation-data.schema.json +21 -0
  79. package/dist/universal/.github/skills/citable/schemas/research-dataset.schema.json +27 -0
  80. package/dist/universal/.github/skills/citable/schemas/response-span.schema.json +16 -0
  81. package/dist/universal/.github/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  82. package/dist/universal/.github/skills/citable/schemas/source-retrieval.schema.json +41 -0
  83. package/dist/universal/.kiro/skills/citable/SKILL.md +1 -1
  84. package/dist/universal/.kiro/skills/citable/VERSION +1 -1
  85. package/dist/universal/.kiro/skills/citable/manifest.json +18 -5
  86. package/dist/universal/.kiro/skills/citable/schemas/citation-provenance.schema.json +59 -0
  87. package/dist/universal/.kiro/skills/citable/schemas/claim-evidence.schema.json +21 -0
  88. package/dist/universal/.kiro/skills/citable/schemas/claim-verification.schema.json +18 -0
  89. package/dist/universal/.kiro/skills/citable/schemas/competitor-representation.schema.json +36 -0
  90. package/dist/universal/.kiro/skills/citable/schemas/derivation.schema.json +18 -0
  91. package/dist/universal/.kiro/skills/citable/schemas/external-comparison.schema.json +16 -0
  92. package/dist/universal/.kiro/skills/citable/schemas/external-observation.schema.json +32 -0
  93. package/dist/universal/.kiro/skills/citable/schemas/prompt-set.schema.json +47 -0
  94. package/dist/universal/.kiro/skills/citable/schemas/representation-data.schema.json +21 -0
  95. package/dist/universal/.kiro/skills/citable/schemas/research-dataset.schema.json +27 -0
  96. package/dist/universal/.kiro/skills/citable/schemas/response-span.schema.json +16 -0
  97. package/dist/universal/.kiro/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  98. package/dist/universal/.kiro/skills/citable/schemas/source-retrieval.schema.json +41 -0
  99. package/dist/universal/.opencode/skills/citable/SKILL.md +1 -1
  100. package/dist/universal/.opencode/skills/citable/VERSION +1 -1
  101. package/dist/universal/.opencode/skills/citable/manifest.json +18 -5
  102. package/dist/universal/.opencode/skills/citable/schemas/citation-provenance.schema.json +59 -0
  103. package/dist/universal/.opencode/skills/citable/schemas/claim-evidence.schema.json +21 -0
  104. package/dist/universal/.opencode/skills/citable/schemas/claim-verification.schema.json +18 -0
  105. package/dist/universal/.opencode/skills/citable/schemas/competitor-representation.schema.json +36 -0
  106. package/dist/universal/.opencode/skills/citable/schemas/derivation.schema.json +18 -0
  107. package/dist/universal/.opencode/skills/citable/schemas/external-comparison.schema.json +16 -0
  108. package/dist/universal/.opencode/skills/citable/schemas/external-observation.schema.json +32 -0
  109. package/dist/universal/.opencode/skills/citable/schemas/prompt-set.schema.json +47 -0
  110. package/dist/universal/.opencode/skills/citable/schemas/representation-data.schema.json +21 -0
  111. package/dist/universal/.opencode/skills/citable/schemas/research-dataset.schema.json +27 -0
  112. package/dist/universal/.opencode/skills/citable/schemas/response-span.schema.json +16 -0
  113. package/dist/universal/.opencode/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  114. package/dist/universal/.opencode/skills/citable/schemas/source-retrieval.schema.json +41 -0
  115. package/dist/universal/.pi/agent/skills/citable/SKILL.md +1 -1
  116. package/dist/universal/.pi/agent/skills/citable/VERSION +1 -1
  117. package/dist/universal/.pi/agent/skills/citable/manifest.json +18 -5
  118. package/dist/universal/.pi/agent/skills/citable/schemas/citation-provenance.schema.json +59 -0
  119. package/dist/universal/.pi/agent/skills/citable/schemas/claim-evidence.schema.json +21 -0
  120. package/dist/universal/.pi/agent/skills/citable/schemas/claim-verification.schema.json +18 -0
  121. package/dist/universal/.pi/agent/skills/citable/schemas/competitor-representation.schema.json +36 -0
  122. package/dist/universal/.pi/agent/skills/citable/schemas/derivation.schema.json +18 -0
  123. package/dist/universal/.pi/agent/skills/citable/schemas/external-comparison.schema.json +16 -0
  124. package/dist/universal/.pi/agent/skills/citable/schemas/external-observation.schema.json +32 -0
  125. package/dist/universal/.pi/agent/skills/citable/schemas/prompt-set.schema.json +47 -0
  126. package/dist/universal/.pi/agent/skills/citable/schemas/representation-data.schema.json +21 -0
  127. package/dist/universal/.pi/agent/skills/citable/schemas/research-dataset.schema.json +27 -0
  128. package/dist/universal/.pi/agent/skills/citable/schemas/response-span.schema.json +16 -0
  129. package/dist/universal/.pi/agent/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  130. package/dist/universal/.pi/agent/skills/citable/schemas/source-retrieval.schema.json +41 -0
  131. package/dist/universal/.qoder/skills/citable/SKILL.md +1 -1
  132. package/dist/universal/.qoder/skills/citable/VERSION +1 -1
  133. package/dist/universal/.qoder/skills/citable/manifest.json +18 -5
  134. package/dist/universal/.qoder/skills/citable/schemas/citation-provenance.schema.json +59 -0
  135. package/dist/universal/.qoder/skills/citable/schemas/claim-evidence.schema.json +21 -0
  136. package/dist/universal/.qoder/skills/citable/schemas/claim-verification.schema.json +18 -0
  137. package/dist/universal/.qoder/skills/citable/schemas/competitor-representation.schema.json +36 -0
  138. package/dist/universal/.qoder/skills/citable/schemas/derivation.schema.json +18 -0
  139. package/dist/universal/.qoder/skills/citable/schemas/external-comparison.schema.json +16 -0
  140. package/dist/universal/.qoder/skills/citable/schemas/external-observation.schema.json +32 -0
  141. package/dist/universal/.qoder/skills/citable/schemas/prompt-set.schema.json +47 -0
  142. package/dist/universal/.qoder/skills/citable/schemas/representation-data.schema.json +21 -0
  143. package/dist/universal/.qoder/skills/citable/schemas/research-dataset.schema.json +27 -0
  144. package/dist/universal/.qoder/skills/citable/schemas/response-span.schema.json +16 -0
  145. package/dist/universal/.qoder/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  146. package/dist/universal/.qoder/skills/citable/schemas/source-retrieval.schema.json +41 -0
  147. package/dist/universal/.rovodev/skills/citable/SKILL.md +1 -1
  148. package/dist/universal/.rovodev/skills/citable/VERSION +1 -1
  149. package/dist/universal/.rovodev/skills/citable/manifest.json +18 -5
  150. package/dist/universal/.rovodev/skills/citable/schemas/citation-provenance.schema.json +59 -0
  151. package/dist/universal/.rovodev/skills/citable/schemas/claim-evidence.schema.json +21 -0
  152. package/dist/universal/.rovodev/skills/citable/schemas/claim-verification.schema.json +18 -0
  153. package/dist/universal/.rovodev/skills/citable/schemas/competitor-representation.schema.json +36 -0
  154. package/dist/universal/.rovodev/skills/citable/schemas/derivation.schema.json +18 -0
  155. package/dist/universal/.rovodev/skills/citable/schemas/external-comparison.schema.json +16 -0
  156. package/dist/universal/.rovodev/skills/citable/schemas/external-observation.schema.json +32 -0
  157. package/dist/universal/.rovodev/skills/citable/schemas/prompt-set.schema.json +47 -0
  158. package/dist/universal/.rovodev/skills/citable/schemas/representation-data.schema.json +21 -0
  159. package/dist/universal/.rovodev/skills/citable/schemas/research-dataset.schema.json +27 -0
  160. package/dist/universal/.rovodev/skills/citable/schemas/response-span.schema.json +16 -0
  161. package/dist/universal/.rovodev/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  162. package/dist/universal/.rovodev/skills/citable/schemas/source-retrieval.schema.json +41 -0
  163. package/dist/universal/.trae/skills/citable/SKILL.md +1 -1
  164. package/dist/universal/.trae/skills/citable/VERSION +1 -1
  165. package/dist/universal/.trae/skills/citable/manifest.json +18 -5
  166. package/dist/universal/.trae/skills/citable/schemas/citation-provenance.schema.json +59 -0
  167. package/dist/universal/.trae/skills/citable/schemas/claim-evidence.schema.json +21 -0
  168. package/dist/universal/.trae/skills/citable/schemas/claim-verification.schema.json +18 -0
  169. package/dist/universal/.trae/skills/citable/schemas/competitor-representation.schema.json +36 -0
  170. package/dist/universal/.trae/skills/citable/schemas/derivation.schema.json +18 -0
  171. package/dist/universal/.trae/skills/citable/schemas/external-comparison.schema.json +16 -0
  172. package/dist/universal/.trae/skills/citable/schemas/external-observation.schema.json +32 -0
  173. package/dist/universal/.trae/skills/citable/schemas/prompt-set.schema.json +47 -0
  174. package/dist/universal/.trae/skills/citable/schemas/representation-data.schema.json +21 -0
  175. package/dist/universal/.trae/skills/citable/schemas/research-dataset.schema.json +27 -0
  176. package/dist/universal/.trae/skills/citable/schemas/response-span.schema.json +16 -0
  177. package/dist/universal/.trae/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  178. package/dist/universal/.trae/skills/citable/schemas/source-retrieval.schema.json +41 -0
  179. package/dist/universal/.trae-cn/skills/citable/SKILL.md +1 -1
  180. package/dist/universal/.trae-cn/skills/citable/VERSION +1 -1
  181. package/dist/universal/.trae-cn/skills/citable/manifest.json +18 -5
  182. package/dist/universal/.trae-cn/skills/citable/schemas/citation-provenance.schema.json +59 -0
  183. package/dist/universal/.trae-cn/skills/citable/schemas/claim-evidence.schema.json +21 -0
  184. package/dist/universal/.trae-cn/skills/citable/schemas/claim-verification.schema.json +18 -0
  185. package/dist/universal/.trae-cn/skills/citable/schemas/competitor-representation.schema.json +36 -0
  186. package/dist/universal/.trae-cn/skills/citable/schemas/derivation.schema.json +18 -0
  187. package/dist/universal/.trae-cn/skills/citable/schemas/external-comparison.schema.json +16 -0
  188. package/dist/universal/.trae-cn/skills/citable/schemas/external-observation.schema.json +32 -0
  189. package/dist/universal/.trae-cn/skills/citable/schemas/prompt-set.schema.json +47 -0
  190. package/dist/universal/.trae-cn/skills/citable/schemas/representation-data.schema.json +21 -0
  191. package/dist/universal/.trae-cn/skills/citable/schemas/research-dataset.schema.json +27 -0
  192. package/dist/universal/.trae-cn/skills/citable/schemas/response-span.schema.json +16 -0
  193. package/dist/universal/.trae-cn/skills/citable/schemas/search-discovery-data.schema.json +20 -0
  194. package/dist/universal/.trae-cn/skills/citable/schemas/source-retrieval.schema.json +41 -0
  195. package/dist/universal/manifest.json +220 -64
  196. package/package.json +1 -1
  197. package/schemas/citation-provenance.schema.json +59 -0
  198. package/schemas/claim-evidence.schema.json +21 -0
  199. package/schemas/claim-verification.schema.json +18 -0
  200. package/schemas/competitor-representation.schema.json +36 -0
  201. package/schemas/derivation.schema.json +18 -0
  202. package/schemas/external-comparison.schema.json +16 -0
  203. package/schemas/external-observation.schema.json +32 -0
  204. package/schemas/prompt-set.schema.json +47 -0
  205. package/schemas/representation-data.schema.json +21 -0
  206. package/schemas/research-dataset.schema.json +27 -0
  207. package/schemas/response-span.schema.json +16 -0
  208. package/schemas/search-discovery-data.schema.json +20 -0
  209. package/schemas/source-retrieval.schema.json +41 -0
  210. package/skill/SKILL.md +1 -1
  211. package/src/connectors/gsc.js +4 -0
  212. package/src/discovery/searchConsole.js +186 -0
  213. package/src/evidence/external.js +251 -0
  214. package/src/representation/competitors.js +113 -0
  215. package/src/representation/prompts.js +117 -0
  216. package/src/representation/provenance.js +214 -0
  217. package/src/representation/representation.js +186 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nebulacomponents/citable",
3
- "version": "1.20.0",
3
+ "version": "1.22.0",
4
4
  "description": "Production-grade SEO, AEO, and GEO agent skill with auditable detection, claim governance, evidence validation, and multi-agent installation.",
5
5
  "keywords": [
6
6
  "seo",
@@ -0,0 +1,59 @@
1
+ {
2
+ "$id": "citable://schemas/citation-provenance.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Provider citation provenance observation data",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["execution_reference", "response_reference", "provider", "span", "citation", "source", "retrieval", "proposition", "support"],
8
+ "properties": {
9
+ "execution_reference": { "type": "string", "minLength": 1 },
10
+ "response_reference": { "type": "string", "minLength": 1 },
11
+ "provider": { "type": "string", "minLength": 1 },
12
+ "span": { "$ref": "citable://schemas/response-span.schema.json" },
13
+ "citation": {
14
+ "type": "object", "additionalProperties": false,
15
+ "required": ["citation_id", "ordinal", "raw_marker", "placement", "displayed_title", "displayed_domain", "displayed_url"],
16
+ "properties": {
17
+ "citation_id": { "type": "string", "minLength": 1 },
18
+ "ordinal": { "type": "integer", "minimum": 1 },
19
+ "raw_marker": { "type": ["string", "null"] },
20
+ "placement": { "type": "string", "enum": ["inline", "footnote", "card", "source_list", "unknown"] },
21
+ "displayed_title": { "type": ["string", "null"] },
22
+ "displayed_domain": { "type": ["string", "null"] },
23
+ "displayed_url": { "type": ["string", "null"] }
24
+ }
25
+ },
26
+ "source": {
27
+ "type": "object", "additionalProperties": false,
28
+ "required": ["identity_status", "resolved_url", "redirect_chain", "canonical_url"],
29
+ "properties": {
30
+ "identity_status": { "type": "string", "enum": ["IDENTIFIED", "NOT_IDENTIFIED", "AMBIGUOUS"] },
31
+ "resolved_url": { "type": ["string", "null"], "format": "uri" },
32
+ "redirect_chain": { "type": "array", "items": { "type": "string", "format": "uri" } },
33
+ "canonical_url": { "type": ["string", "null"], "format": "uri" }
34
+ }
35
+ },
36
+ "retrieval": {
37
+ "type": "object", "additionalProperties": false,
38
+ "required": ["status", "observation_reference"],
39
+ "properties": {
40
+ "status": { "type": "string", "enum": ["NOT_ATTEMPTED", "ATTEMPTED", "SUCCEEDED", "FAILED", "INDETERMINATE"] },
41
+ "observation_reference": { "type": ["string", "null"] }
42
+ }
43
+ },
44
+ "proposition": {
45
+ "type": "object", "additionalProperties": false,
46
+ "required": ["proposition_id", "text"],
47
+ "properties": { "proposition_id": { "type": "string", "minLength": 1 }, "text": { "type": "string", "minLength": 1 } }
48
+ },
49
+ "support": {
50
+ "type": "object", "additionalProperties": false,
51
+ "required": ["relevance_status", "support_status", "evidence_references"],
52
+ "properties": {
53
+ "relevance_status": { "type": "string", "enum": ["NOT_ASSESSED", "RELEVANT", "IRRELEVANT", "INDETERMINATE"] },
54
+ "support_status": { "type": "string", "enum": ["NOT_ASSESSED", "SUPPORTED", "PARTIALLY_SUPPORTED", "UNSUPPORTED", "CONTRADICTED", "INDETERMINATE", "NOT_OBSERVED"] },
55
+ "evidence_references": { "type": "array", "items": { "type": "string" } }
56
+ }
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$id": "citable://schemas/claim-evidence.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Claim to evidence lineage",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["claim_id", "claim_version", "proposition", "declared_scope", "evidence_references", "observation_references", "dataset_references", "derivation_references", "assertion", "limitations", "claim_hash"],
8
+ "properties": {
9
+ "claim_id": { "type": "string", "minLength": 1 },
10
+ "claim_version": { "type": "integer", "minimum": 1 },
11
+ "proposition": { "type": "string", "minLength": 3 },
12
+ "declared_scope": { "type": "object", "additionalProperties": false, "required": ["type", "generalization"], "properties": { "type": { "type": "string", "enum": ["observation", "dataset", "declared_population"] }, "observation_reference": { "type": "string" }, "dataset_reference": { "type": "string" }, "generalization": { "type": "string", "enum": ["bounded", "universal"] } } },
13
+ "evidence_references": { "type": "array", "items": { "type": "string" } },
14
+ "observation_references": { "type": "array", "items": { "type": "string" } },
15
+ "dataset_references": { "type": "array", "items": { "type": "string" } },
16
+ "derivation_references": { "type": "array", "items": { "type": "string" } },
17
+ "assertion": { "type": "object" },
18
+ "limitations": { "type": "array", "items": { "type": "string" } },
19
+ "claim_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
20
+ }
21
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$id": "citable://schemas/claim-verification.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Bounded claim verification result",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["claim_id", "claim_version", "overall", "proposition_support", "scope_support", "reasons", "lineage"],
8
+ "properties": {
9
+ "claim_id": { "type": "string" },
10
+ "claim_version": { "type": "integer", "minimum": 1 },
11
+ "overall": { "type": "string", "enum": ["SUPPORTED", "PARTIALLY_SUPPORTED", "UNSUPPORTED", "CONTRADICTED", "INDETERMINATE", "NOT_OBSERVED"] },
12
+ "proposition_support": { "type": "string", "enum": ["SUPPORTED", "PARTIALLY_SUPPORTED", "UNSUPPORTED", "CONTRADICTED", "INDETERMINATE", "NOT_OBSERVED"] },
13
+ "scope_support": { "type": "string", "enum": ["SUPPORTED", "PARTIALLY_SUPPORTED", "UNSUPPORTED", "INDETERMINATE", "NOT_OBSERVED"] },
14
+ "reasons": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["code", "message"], "properties": { "code": { "type": "string" }, "message": { "type": "string" } } } },
15
+ "lineage": { "type": "object", "additionalProperties": false, "required": ["claim_reference", "observation_references", "dataset_references", "derivation_references"], "properties": { "claim_reference": { "type": "string" }, "observation_references": { "type": "array", "items": { "type": "string" } }, "dataset_references": { "type": "array", "items": { "type": "string" } }, "derivation_references": { "type": "array", "items": { "type": "string" } } } },
16
+ "limitations": { "type": "array", "items": { "type": "string" } }
17
+ }
18
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$id": "citable://schemas/competitor-representation.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Competitor or peer representation observation data",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["execution_reference", "provider", "prompt_reference", "prompt_set_reference", "span", "entity", "representation", "citation_reference", "proposition_reference"],
8
+ "properties": {
9
+ "execution_reference": { "type": "string", "minLength": 1 },
10
+ "provider": { "type": "string", "minLength": 1 },
11
+ "prompt_reference": { "type": "string", "minLength": 1 },
12
+ "prompt_set_reference": { "type": "string", "minLength": 1 },
13
+ "span": { "$ref": "citable://schemas/response-span.schema.json" },
14
+ "entity": {
15
+ "type": "object", "additionalProperties": false,
16
+ "required": ["entity_id", "observed_name", "domain", "resolution_status", "resolution_method"],
17
+ "properties": {
18
+ "entity_id": { "type": ["string", "null"] },
19
+ "observed_name": { "type": "string", "minLength": 1 },
20
+ "domain": { "type": ["string", "null"] },
21
+ "resolution_status": { "type": "string", "enum": ["RESOLVED", "AMBIGUOUS", "UNRESOLVED", "NOT_OBSERVED"] },
22
+ "resolution_method": { "type": "string", "minLength": 1 }
23
+ }
24
+ },
25
+ "representation": {
26
+ "type": "object", "additionalProperties": false,
27
+ "required": ["type", "observed_text"],
28
+ "properties": {
29
+ "type": { "type": "string", "enum": ["MENTION", "COMPARISON", "ALTERNATIVE", "RECOMMENDATION", "CITED_SOURCE", "CATEGORY_PEER"] },
30
+ "observed_text": { "type": "string", "minLength": 1 }
31
+ }
32
+ },
33
+ "citation_reference": { "type": ["string", "null"] },
34
+ "proposition_reference": { "type": ["string", "null"] }
35
+ }
36
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$id": "citable://schemas/derivation.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Evidence derivation",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["derivation_id", "derivation_version", "operation", "input_observation_references", "result", "implementation", "derivation_hash"],
8
+ "properties": {
9
+ "derivation_id": { "type": "string", "minLength": 1 },
10
+ "derivation_version": { "type": "integer", "minimum": 1 },
11
+ "operation": { "type": "string", "minLength": 1 },
12
+ "input_observation_references": { "type": "array", "minItems": 1, "items": { "type": "string" } },
13
+ "predicate": { "type": "object", "additionalProperties": false, "required": ["path", "operator", "value"], "properties": { "path": { "type": "string" }, "operator": { "type": "string", "enum": ["equals"] }, "value": {} } },
14
+ "result": { "type": "object" },
15
+ "implementation": { "type": "object", "additionalProperties": false, "required": ["id", "version"], "properties": { "id": { "type": "string" }, "version": { "type": "string" } } },
16
+ "derivation_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
17
+ }
18
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$id": "citable://schemas/external-comparison.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "External evidence comparison",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["comparison_id", "left_reference", "right_reference", "status", "dimensions", "limitations"],
8
+ "properties": {
9
+ "comparison_id": { "type": "string", "minLength": 1 },
10
+ "left_reference": { "type": "string", "minLength": 1 },
11
+ "right_reference": { "type": "string", "minLength": 1 },
12
+ "status": { "type": "string", "enum": ["COMPARABLE", "PARTIALLY_COMPARABLE", "NOT_COMPARABLE", "INDETERMINATE"] },
13
+ "dimensions": { "type": "object", "additionalProperties": { "type": "string", "enum": ["match", "mismatch", "missing", "unknown"] } },
14
+ "limitations": { "type": "array", "items": { "type": "string" } }
15
+ }
16
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$id": "citable://schemas/external-observation.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Provider-neutral external observation",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["observation_id", "observation_type", "subject", "source", "collector", "observed_at", "population", "observation_status", "retrieval_status", "data", "evidence_hash"],
8
+ "properties": {
9
+ "observation_id": { "type": "string", "minLength": 1 },
10
+ "observation_type": { "type": "string", "enum": ["PAGE_OBSERVATION", "EXTERNAL_OBSERVATION", "DERIVED_OBSERVATION"] },
11
+ "subject": { "type": "object", "additionalProperties": false, "required": ["type", "id"], "properties": { "type": { "type": "string", "minLength": 1 }, "id": { "type": "string", "minLength": 1 } } },
12
+ "source": { "type": "object", "additionalProperties": false, "required": ["provider", "method", "authority"], "properties": { "provider": { "type": "string", "minLength": 1 }, "method": { "type": "string", "minLength": 1 }, "authority": { "type": "string", "enum": ["first_party", "external_provider", "third_party", "synthetic", "inferred", "unknown"] }, "account_or_property": { "type": ["string", "null"] } } },
13
+ "collector": { "type": "object", "additionalProperties": false, "required": ["id", "version"], "properties": { "id": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 } } },
14
+ "parser": { "type": ["object", "null"], "additionalProperties": false, "required": ["id", "version"], "properties": { "id": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 } } },
15
+ "configuration": { "type": ["object", "null"], "additionalProperties": false, "required": ["id", "version"], "properties": { "id": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 } } },
16
+ "observed_at": { "type": "string", "format": "date-time" },
17
+ "retrieved_at": { "type": ["string", "null"], "format": "date-time" },
18
+ "executed_at": { "type": ["string", "null"], "format": "date-time" },
19
+ "population": { "$ref": "#/definitions/population" },
20
+ "observation_status": { "type": "string", "enum": ["observed", "not_observed", "incomplete", "indeterminate", "failed"] },
21
+ "retrieval_status": { "type": "string", "enum": ["retrieved", "not_retrieved", "partial", "indeterminate", "failed"] },
22
+ "determination_status": { "type": ["string", "null"], "enum": ["pass", "fail", "warning", "indeterminate", "not_tested", "error", "not_applicable", null] },
23
+ "data": { "type": "object" },
24
+ "context": { "type": "object", "additionalProperties": false, "properties": { "observed": { "type": "object" }, "supplied": { "type": "object" } } },
25
+ "lineage": { "type": "object", "additionalProperties": false, "properties": { "source_evidence": { "type": "array", "items": { "type": "string" } }, "predecessor_references": { "type": "array", "items": { "type": "string" } }, "successor_references": { "type": "array", "items": { "type": "string" } }, "derivation_inputs": { "type": "array", "items": { "type": "string" } }, "package_reference": { "type": ["string", "null"] } } },
26
+ "limitations": { "type": "array", "items": { "type": "string", "minLength": 1 } },
27
+ "evidence_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
28
+ },
29
+ "definitions": {
30
+ "population": { "type": "object", "additionalProperties": false, "required": ["declared", "observed", "retrieved", "evaluated", "unavailable", "failed"], "properties": { "declared": { "type": ["object", "null"], "additionalProperties": false, "properties": { "id": { "type": "string" }, "size": { "type": "integer", "minimum": 0 } } }, "observed": { "type": "integer", "minimum": 0 }, "retrieved": { "type": "integer", "minimum": 0 }, "evaluated": { "type": "integer", "minimum": 0 }, "unavailable": { "type": "integer", "minimum": 0 }, "failed": { "type": "integer", "minimum": 0 } } }
31
+ }
32
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "$id": "citable://schemas/prompt-set.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Immutable versioned prompt population",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["prompt_set_id", "prompt_set_version", "purpose", "generation_method", "generated_at", "population_size", "sampling_method", "included_prompts", "excluded_prompts", "intended_population", "limitations", "prompt_set_hash"],
8
+ "properties": {
9
+ "prompt_set_id": { "type": "string", "minLength": 1 },
10
+ "prompt_set_version": { "type": "integer", "minimum": 1 },
11
+ "purpose": { "type": "string", "minLength": 1 },
12
+ "generation_method": { "type": "string", "minLength": 1 },
13
+ "generation_method_version": { "type": ["string", "null"] },
14
+ "generation_input": {},
15
+ "generated_at": { "type": "string", "format": "date-time" },
16
+ "population_size": { "type": "integer", "minimum": 0 },
17
+ "sampling_method": { "type": "string", "minLength": 1 },
18
+ "included_prompts": { "type": "array", "items": { "$ref": "#/definitions/prompt" } },
19
+ "excluded_prompts": { "type": "array", "items": { "$ref": "#/definitions/excludedPrompt" } },
20
+ "intended_population": { "type": "string", "minLength": 1 },
21
+ "limitations": { "type": "array", "items": { "type": "string", "minLength": 1 } },
22
+ "prompt_set_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
23
+ },
24
+ "definitions": {
25
+ "prompt": {
26
+ "type": "object",
27
+ "additionalProperties": false,
28
+ "required": ["prompt_id", "prompt_text"],
29
+ "properties": {
30
+ "prompt_id": { "type": "string", "minLength": 1 },
31
+ "prompt_text": { "type": "string", "minLength": 1 },
32
+ "context": { "type": ["object", "null"] },
33
+ "locale": { "type": ["string", "null"] }
34
+ }
35
+ },
36
+ "excludedPrompt": {
37
+ "type": "object",
38
+ "additionalProperties": false,
39
+ "required": ["prompt_id", "exclusion_reason"],
40
+ "properties": {
41
+ "prompt_id": { "type": "string", "minLength": 1 },
42
+ "prompt_text": { "type": ["string", "null"] },
43
+ "exclusion_reason": { "type": "string", "minLength": 1 }
44
+ }
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$id": "citable://schemas/representation-data.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Provider-neutral AI representation observation data",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["provider", "product", "surface", "model", "prompt", "prompt_set", "execution", "response", "representation", "evidence_origin"],
8
+ "properties": {
9
+ "provider": { "type": "string", "minLength": 1 },
10
+ "product": { "type": "string", "minLength": 1 },
11
+ "surface": { "type": "string", "minLength": 1 },
12
+ "model": { "type": "object", "additionalProperties": false, "required": ["value", "status"], "properties": { "value": { "type": ["string", "null"] }, "status": { "type": "string", "enum": ["known", "UNKNOWN", "UNAVAILABLE", "NOT_DISCLOSED"] } } },
13
+ "prompt": { "type": "object", "additionalProperties": false, "required": ["prompt_id", "prompt_version", "prompt_text"], "properties": { "prompt_id": { "type": "string", "minLength": 1 }, "prompt_version": { "type": "integer", "minimum": 1 }, "prompt_text": { "type": "string", "minLength": 1 } } },
14
+ "prompt_set": { "type": "object", "additionalProperties": false, "required": ["prompt_set_id", "prompt_set_version"], "properties": { "prompt_set_id": { "type": "string", "minLength": 1 }, "prompt_set_version": { "type": "integer", "minimum": 1 } } },
15
+ "execution": { "type": "object", "additionalProperties": false, "required": ["executed_at", "configuration"], "properties": { "executed_at": { "type": "string", "format": "date-time" }, "configuration": { "type": "object", "additionalProperties": false, "required": ["id", "version"], "properties": { "id": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 } } } } },
16
+ "response": { "type": "object", "additionalProperties": false, "required": ["status", "response_hash", "parser", "raw_response_retained"], "properties": { "status": { "type": "string", "enum": ["succeeded", "refused", "error", "timeout", "rate_limited", "malformed", "unavailable", "parser_failed"] }, "response_hash": { "type": ["string", "null"], "pattern": "^[a-f0-9]{64}$" }, "parser": { "type": "object", "additionalProperties": false, "required": ["id", "version"], "properties": { "id": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 } } }, "raw_response_retained": { "type": "boolean" }, "provider_metadata": { "type": "object" } } },
17
+ "representation": { "type": "object", "additionalProperties": false, "required": ["brand_mentioned", "domain_mentioned", "domain_cited", "cited_urls", "mentioned_entities", "cited_domains"], "properties": { "brand_mentioned": { "type": ["boolean", "null"] }, "domain_mentioned": { "type": ["boolean", "null"] }, "domain_cited": { "type": ["boolean", "null"] }, "cited_urls": { "type": "array", "items": { "type": "string", "format": "uri" } }, "mentioned_entities": { "type": "array", "items": { "type": "string" } }, "cited_domains": { "type": "array", "items": { "type": "string" } } } },
18
+ "evidence_origin": { "type": "string", "enum": ["LIVE_PROVIDER", "RECORDED_FIXTURE", "SYNTHETIC_TEST"] },
19
+ "limitations": { "type": "array", "items": { "type": "string" } }
20
+ }
21
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$id": "citable://schemas/research-dataset.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Immutable research dataset",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["dataset_id", "dataset_version", "declared_purpose", "declared_population", "population_size", "inclusion_criteria", "exclusion_criteria", "collection", "source_references", "observation_references", "normalization", "derivation_references", "coverage", "coverage_status", "limitations", "dataset_hash"],
8
+ "properties": {
9
+ "dataset_id": { "type": "string", "minLength": 1 },
10
+ "dataset_version": { "type": "integer", "minimum": 1 },
11
+ "declared_purpose": { "type": "string", "minLength": 1 },
12
+ "declared_population": { "type": "object", "additionalProperties": false, "required": ["type", "id"], "properties": { "type": { "type": "string", "minLength": 1 }, "id": { "type": "string", "minLength": 1 }, "size": { "type": ["integer", "null"], "minimum": 0 } } },
13
+ "population_size": { "type": ["integer", "null"], "minimum": 0 },
14
+ "inclusion_criteria": { "type": "array", "items": { "type": "string" } },
15
+ "exclusion_criteria": { "type": "array", "items": { "type": "string" } },
16
+ "collection": { "type": "object", "additionalProperties": false, "required": ["started_at", "ended_at"], "properties": { "started_at": { "type": "string", "format": "date-time" }, "ended_at": { "type": "string", "format": "date-time" } } },
17
+ "source_references": { "type": "array", "items": { "type": "string" } },
18
+ "source_retrieval_timestamps": { "type": "array", "items": { "type": "string", "format": "date-time" } },
19
+ "observation_references": { "type": "array", "items": { "type": "string" } },
20
+ "normalization": { "type": "object", "additionalProperties": false, "required": ["method", "version"], "properties": { "method": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 } } },
21
+ "derivation_references": { "type": "array", "items": { "type": "string" } },
22
+ "coverage": { "type": "object", "additionalProperties": false, "required": ["declared", "retrieved", "evaluated", "unavailable", "failed"], "properties": { "declared": { "type": "integer", "minimum": 0 }, "retrieved": { "type": "integer", "minimum": 0 }, "evaluated": { "type": "integer", "minimum": 0 }, "unavailable": { "type": "integer", "minimum": 0 }, "failed": { "type": "integer", "minimum": 0 } } },
23
+ "coverage_status": { "type": "string", "enum": ["complete_for_declared_population", "partial", "truncated", "indeterminate", "error"] },
24
+ "limitations": { "type": "array", "items": { "type": "string" } },
25
+ "dataset_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
26
+ }
27
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$id": "citable://schemas/response-span.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Immutable provider response span",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["span_id", "execution_reference", "start", "end", "text", "text_hash"],
8
+ "properties": {
9
+ "span_id": { "type": "string", "minLength": 1 },
10
+ "execution_reference": { "type": "string", "minLength": 1 },
11
+ "start": { "type": "integer", "minimum": 0 },
12
+ "end": { "type": "integer", "minimum": 0 },
13
+ "text": { "type": "string" },
14
+ "text_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
15
+ }
16
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$id": "citable://schemas/search-discovery-data.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Search discovery observation data",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["query", "page", "interval", "metrics", "request", "coverage_status", "evidence_origin"],
8
+ "properties": {
9
+ "query": { "type": ["string", "null"] },
10
+ "page": { "type": ["string", "null"], "format": "uri" },
11
+ "interval": { "type": "object", "additionalProperties": false, "required": ["start_date", "end_date"], "properties": { "start_date": { "type": "string", "format": "date" }, "end_date": { "type": "string", "format": "date" } } },
12
+ "metrics": { "type": "object", "additionalProperties": false, "required": ["impressions", "clicks", "ctr", "average_position"], "properties": { "impressions": { "type": ["number", "null"], "minimum": 0 }, "clicks": { "type": ["number", "null"], "minimum": 0 }, "ctr": { "type": ["number", "null"], "minimum": 0 }, "average_position": { "type": ["number", "null"], "minimum": 0 } } },
13
+ "dimensions": { "type": "object", "additionalProperties": false, "properties": { "country": { "type": ["string", "null"] }, "device": { "type": ["string", "null"] }, "search_appearance": { "type": ["string", "null"] }, "date": { "type": ["string", "null"], "format": "date" } } },
14
+ "request": { "type": "object", "additionalProperties": false, "required": ["property_id", "dimensions", "filters", "row_limit"], "properties": { "property_id": { "type": "string", "minLength": 1 }, "dimensions": { "type": "array", "items": { "type": "string" } }, "filters": { "type": "object" }, "row_limit": { "type": "integer", "minimum": 1, "maximum": 25000 } } },
15
+ "provider_reported": { "type": "object", "additionalProperties": false, "properties": { "row_count": { "type": ["integer", "null"], "minimum": 0 }, "page_start": { "type": "integer", "minimum": 0 } } },
16
+ "response_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
17
+ "coverage_status": { "type": "string", "enum": ["complete", "truncated", "indeterminate", "provider_bounded"] },
18
+ "evidence_origin": { "type": "string", "enum": ["LIVE_PROVIDER", "RECORDED_FIXTURE", "SYNTHETIC_TEST"] }
19
+ }
20
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "$id": "citable://schemas/source-retrieval.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Retrieved citation source observation data",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["citation_reference", "url", "retrieval", "content", "relevance"],
8
+ "properties": {
9
+ "citation_reference": { "type": "string", "minLength": 1 },
10
+ "url": { "type": "string", "format": "uri" },
11
+ "retrieval": {
12
+ "type": "object", "additionalProperties": false,
13
+ "required": ["status", "attempted_at", "final_url", "redirect_chain", "http_status"],
14
+ "properties": {
15
+ "status": { "type": "string", "enum": ["SUCCEEDED", "FAILED", "INDETERMINATE"] },
16
+ "attempted_at": { "type": "string", "format": "date-time" },
17
+ "final_url": { "type": ["string", "null"], "format": "uri" },
18
+ "redirect_chain": { "type": "array", "items": { "type": "string", "format": "uri" } },
19
+ "http_status": { "type": ["integer", "null"], "minimum": 100, "maximum": 599 }
20
+ }
21
+ },
22
+ "content": {
23
+ "type": "object", "additionalProperties": false,
24
+ "required": ["observed", "content_hash", "raw_retained"],
25
+ "properties": {
26
+ "observed": { "type": "boolean" },
27
+ "content_hash": { "type": ["string", "null"], "pattern": "^[a-f0-9]{64}$" },
28
+ "raw_retained": { "type": "boolean" }
29
+ }
30
+ },
31
+ "relevance": {
32
+ "type": "object", "additionalProperties": false,
33
+ "required": ["status", "support_status", "evidence_references"],
34
+ "properties": {
35
+ "status": { "type": "string", "enum": ["NOT_ASSESSED", "RELEVANT", "IRRELEVANT", "INDETERMINATE"] },
36
+ "support_status": { "type": "string", "enum": ["NOT_ASSESSED", "SUPPORTED", "PARTIALLY_SUPPORTED", "UNSUPPORTED", "CONTRADICTED", "INDETERMINATE", "NOT_OBSERVED"] },
37
+ "evidence_references": { "type": "array", "items": { "type": "string" } }
38
+ }
39
+ }
40
+ }
41
+ }
package/skill/SKILL.md CHANGED
@@ -7,7 +7,7 @@ description: >
7
7
  generative engine optimization, structured data governance, claim substantiation,
8
8
  crawler policy, entity consistency, content discoverability, or wants a site audited
9
9
  for how search and AI systems will retrieve, understand, cite, or recommend it.
10
- version: 1.20.0
10
+ version: 1.22.0
11
11
  ---
12
12
 
13
13
  # Citable — evidence and change control for search and AI citation readiness
@@ -1,5 +1,6 @@
1
1
  import { providerRequest } from './http.js';
2
2
  import { collectionResult, errorMessage, paginationBoundary } from './collectionResult.js';
3
+ import { collectSearchConsoleObservations } from '../discovery/searchConsole.js';
3
4
 
4
5
  const BASE = 'https://www.googleapis.com/webmasters/v3';
5
6
  const METRICS = {
@@ -73,4 +74,7 @@ export const gscConnector = {
73
74
  });
74
75
  return { rows, cursor: endDate, limitations: collection.limitations, collection, ...(connectorError ? { connectorError } : {}) };
75
76
  },
77
+ async collectObservations(connection, request, context = {}) {
78
+ return collectSearchConsoleObservations({ connection, request, ...context });
79
+ },
76
80
  };