@nebulacomponents/citable 1.13.0 → 1.14.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 (306) hide show
  1. package/CHANGELOG.md +269 -0
  2. package/README.md +43 -5
  3. package/dist/universal/.agents/skills/citable/SKILL.md +13 -4
  4. package/dist/universal/.agents/skills/citable/VERSION +1 -1
  5. package/dist/universal/.agents/skills/citable/agents/citable-auditor.md +64 -0
  6. package/dist/universal/.agents/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  7. package/dist/universal/.agents/skills/citable/commands/action-findings.md +9 -1
  8. package/dist/universal/.agents/skills/citable/commands/observe-and-act.md +50 -3
  9. package/dist/universal/.agents/skills/citable/commands/plan-audit.md +35 -0
  10. package/dist/universal/.agents/skills/citable/manifest.json +26 -14
  11. package/dist/universal/.agents/skills/citable/schemas/action-plan.schema.json +13 -0
  12. package/dist/universal/.agents/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  13. package/dist/universal/.agents/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  14. package/dist/universal/.agents/skills/citable/schemas/common.defs.json +12 -1
  15. package/dist/universal/.agents/skills/citable/schemas/corroboration-import.schema.json +48 -0
  16. package/dist/universal/.agents/skills/citable/schemas/entity-graph.schema.json +75 -0
  17. package/dist/universal/.agents/skills/citable/schemas/entity.schema.json +13 -0
  18. package/dist/universal/.agents/skills/citable/schemas/observation.schema.json +1 -1
  19. package/dist/universal/.agents/skills/citable/schemas/page.schema.json +3 -0
  20. package/dist/universal/.agents/skills/citable/schemas/regional-network-import.schema.json +55 -0
  21. package/dist/universal/.agents/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  22. package/dist/universal/.agents/skills/citable/scripts/README.md +3 -1
  23. package/dist/universal/.claude/agents/citable/citable-auditor.md +64 -0
  24. package/dist/universal/.claude/agents/citable/citable-semantic-reviewer.md +66 -0
  25. package/dist/universal/.claude/agents/citable/manifest.json +12 -0
  26. package/dist/universal/.claude/skills/citable/SKILL.md +13 -4
  27. package/dist/universal/.claude/skills/citable/VERSION +1 -1
  28. package/dist/universal/.claude/skills/citable/agents/citable-auditor.md +64 -0
  29. package/dist/universal/.claude/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  30. package/dist/universal/.claude/skills/citable/commands/action-findings.md +9 -1
  31. package/dist/universal/.claude/skills/citable/commands/observe-and-act.md +50 -3
  32. package/dist/universal/.claude/skills/citable/commands/plan-audit.md +35 -0
  33. package/dist/universal/.claude/skills/citable/manifest.json +31 -14
  34. package/dist/universal/.claude/skills/citable/schemas/action-plan.schema.json +13 -0
  35. package/dist/universal/.claude/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  36. package/dist/universal/.claude/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  37. package/dist/universal/.claude/skills/citable/schemas/common.defs.json +12 -1
  38. package/dist/universal/.claude/skills/citable/schemas/corroboration-import.schema.json +48 -0
  39. package/dist/universal/.claude/skills/citable/schemas/entity-graph.schema.json +75 -0
  40. package/dist/universal/.claude/skills/citable/schemas/entity.schema.json +13 -0
  41. package/dist/universal/.claude/skills/citable/schemas/observation.schema.json +1 -1
  42. package/dist/universal/.claude/skills/citable/schemas/page.schema.json +3 -0
  43. package/dist/universal/.claude/skills/citable/schemas/regional-network-import.schema.json +55 -0
  44. package/dist/universal/.claude/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  45. package/dist/universal/.claude/skills/citable/scripts/README.md +3 -1
  46. package/dist/universal/.cursor/skills/citable/SKILL.md +13 -4
  47. package/dist/universal/.cursor/skills/citable/VERSION +1 -1
  48. package/dist/universal/.cursor/skills/citable/agents/citable-auditor.md +64 -0
  49. package/dist/universal/.cursor/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  50. package/dist/universal/.cursor/skills/citable/commands/action-findings.md +9 -1
  51. package/dist/universal/.cursor/skills/citable/commands/observe-and-act.md +50 -3
  52. package/dist/universal/.cursor/skills/citable/commands/plan-audit.md +35 -0
  53. package/dist/universal/.cursor/skills/citable/manifest.json +26 -14
  54. package/dist/universal/.cursor/skills/citable/schemas/action-plan.schema.json +13 -0
  55. package/dist/universal/.cursor/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  56. package/dist/universal/.cursor/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  57. package/dist/universal/.cursor/skills/citable/schemas/common.defs.json +12 -1
  58. package/dist/universal/.cursor/skills/citable/schemas/corroboration-import.schema.json +48 -0
  59. package/dist/universal/.cursor/skills/citable/schemas/entity-graph.schema.json +75 -0
  60. package/dist/universal/.cursor/skills/citable/schemas/entity.schema.json +13 -0
  61. package/dist/universal/.cursor/skills/citable/schemas/observation.schema.json +1 -1
  62. package/dist/universal/.cursor/skills/citable/schemas/page.schema.json +3 -0
  63. package/dist/universal/.cursor/skills/citable/schemas/regional-network-import.schema.json +55 -0
  64. package/dist/universal/.cursor/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  65. package/dist/universal/.cursor/skills/citable/scripts/README.md +3 -1
  66. package/dist/universal/.gemini/skills/citable/SKILL.md +13 -4
  67. package/dist/universal/.gemini/skills/citable/VERSION +1 -1
  68. package/dist/universal/.gemini/skills/citable/agents/citable-auditor.md +64 -0
  69. package/dist/universal/.gemini/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  70. package/dist/universal/.gemini/skills/citable/commands/action-findings.md +9 -1
  71. package/dist/universal/.gemini/skills/citable/commands/observe-and-act.md +50 -3
  72. package/dist/universal/.gemini/skills/citable/commands/plan-audit.md +35 -0
  73. package/dist/universal/.gemini/skills/citable/manifest.json +26 -14
  74. package/dist/universal/.gemini/skills/citable/schemas/action-plan.schema.json +13 -0
  75. package/dist/universal/.gemini/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  76. package/dist/universal/.gemini/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  77. package/dist/universal/.gemini/skills/citable/schemas/common.defs.json +12 -1
  78. package/dist/universal/.gemini/skills/citable/schemas/corroboration-import.schema.json +48 -0
  79. package/dist/universal/.gemini/skills/citable/schemas/entity-graph.schema.json +75 -0
  80. package/dist/universal/.gemini/skills/citable/schemas/entity.schema.json +13 -0
  81. package/dist/universal/.gemini/skills/citable/schemas/observation.schema.json +1 -1
  82. package/dist/universal/.gemini/skills/citable/schemas/page.schema.json +3 -0
  83. package/dist/universal/.gemini/skills/citable/schemas/regional-network-import.schema.json +55 -0
  84. package/dist/universal/.gemini/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  85. package/dist/universal/.gemini/skills/citable/scripts/README.md +3 -1
  86. package/dist/universal/.github/skills/citable/SKILL.md +13 -4
  87. package/dist/universal/.github/skills/citable/VERSION +1 -1
  88. package/dist/universal/.github/skills/citable/agents/citable-auditor.md +64 -0
  89. package/dist/universal/.github/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  90. package/dist/universal/.github/skills/citable/commands/action-findings.md +9 -1
  91. package/dist/universal/.github/skills/citable/commands/observe-and-act.md +50 -3
  92. package/dist/universal/.github/skills/citable/commands/plan-audit.md +35 -0
  93. package/dist/universal/.github/skills/citable/manifest.json +26 -14
  94. package/dist/universal/.github/skills/citable/schemas/action-plan.schema.json +13 -0
  95. package/dist/universal/.github/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  96. package/dist/universal/.github/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  97. package/dist/universal/.github/skills/citable/schemas/common.defs.json +12 -1
  98. package/dist/universal/.github/skills/citable/schemas/corroboration-import.schema.json +48 -0
  99. package/dist/universal/.github/skills/citable/schemas/entity-graph.schema.json +75 -0
  100. package/dist/universal/.github/skills/citable/schemas/entity.schema.json +13 -0
  101. package/dist/universal/.github/skills/citable/schemas/observation.schema.json +1 -1
  102. package/dist/universal/.github/skills/citable/schemas/page.schema.json +3 -0
  103. package/dist/universal/.github/skills/citable/schemas/regional-network-import.schema.json +55 -0
  104. package/dist/universal/.github/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  105. package/dist/universal/.github/skills/citable/scripts/README.md +3 -1
  106. package/dist/universal/.kiro/skills/citable/SKILL.md +13 -4
  107. package/dist/universal/.kiro/skills/citable/VERSION +1 -1
  108. package/dist/universal/.kiro/skills/citable/agents/citable-auditor.md +64 -0
  109. package/dist/universal/.kiro/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  110. package/dist/universal/.kiro/skills/citable/commands/action-findings.md +9 -1
  111. package/dist/universal/.kiro/skills/citable/commands/observe-and-act.md +50 -3
  112. package/dist/universal/.kiro/skills/citable/commands/plan-audit.md +35 -0
  113. package/dist/universal/.kiro/skills/citable/manifest.json +26 -14
  114. package/dist/universal/.kiro/skills/citable/schemas/action-plan.schema.json +13 -0
  115. package/dist/universal/.kiro/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  116. package/dist/universal/.kiro/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  117. package/dist/universal/.kiro/skills/citable/schemas/common.defs.json +12 -1
  118. package/dist/universal/.kiro/skills/citable/schemas/corroboration-import.schema.json +48 -0
  119. package/dist/universal/.kiro/skills/citable/schemas/entity-graph.schema.json +75 -0
  120. package/dist/universal/.kiro/skills/citable/schemas/entity.schema.json +13 -0
  121. package/dist/universal/.kiro/skills/citable/schemas/observation.schema.json +1 -1
  122. package/dist/universal/.kiro/skills/citable/schemas/page.schema.json +3 -0
  123. package/dist/universal/.kiro/skills/citable/schemas/regional-network-import.schema.json +55 -0
  124. package/dist/universal/.kiro/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  125. package/dist/universal/.kiro/skills/citable/scripts/README.md +3 -1
  126. package/dist/universal/.opencode/skills/citable/SKILL.md +13 -4
  127. package/dist/universal/.opencode/skills/citable/VERSION +1 -1
  128. package/dist/universal/.opencode/skills/citable/agents/citable-auditor.md +64 -0
  129. package/dist/universal/.opencode/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  130. package/dist/universal/.opencode/skills/citable/commands/action-findings.md +9 -1
  131. package/dist/universal/.opencode/skills/citable/commands/observe-and-act.md +50 -3
  132. package/dist/universal/.opencode/skills/citable/commands/plan-audit.md +35 -0
  133. package/dist/universal/.opencode/skills/citable/manifest.json +26 -14
  134. package/dist/universal/.opencode/skills/citable/schemas/action-plan.schema.json +13 -0
  135. package/dist/universal/.opencode/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  136. package/dist/universal/.opencode/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  137. package/dist/universal/.opencode/skills/citable/schemas/common.defs.json +12 -1
  138. package/dist/universal/.opencode/skills/citable/schemas/corroboration-import.schema.json +48 -0
  139. package/dist/universal/.opencode/skills/citable/schemas/entity-graph.schema.json +75 -0
  140. package/dist/universal/.opencode/skills/citable/schemas/entity.schema.json +13 -0
  141. package/dist/universal/.opencode/skills/citable/schemas/observation.schema.json +1 -1
  142. package/dist/universal/.opencode/skills/citable/schemas/page.schema.json +3 -0
  143. package/dist/universal/.opencode/skills/citable/schemas/regional-network-import.schema.json +55 -0
  144. package/dist/universal/.opencode/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  145. package/dist/universal/.opencode/skills/citable/scripts/README.md +3 -1
  146. package/dist/universal/.pi/agent/skills/citable/SKILL.md +13 -4
  147. package/dist/universal/.pi/agent/skills/citable/VERSION +1 -1
  148. package/dist/universal/.pi/agent/skills/citable/agents/citable-auditor.md +64 -0
  149. package/dist/universal/.pi/agent/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  150. package/dist/universal/.pi/agent/skills/citable/commands/action-findings.md +9 -1
  151. package/dist/universal/.pi/agent/skills/citable/commands/observe-and-act.md +50 -3
  152. package/dist/universal/.pi/agent/skills/citable/commands/plan-audit.md +35 -0
  153. package/dist/universal/.pi/agent/skills/citable/manifest.json +26 -14
  154. package/dist/universal/.pi/agent/skills/citable/schemas/action-plan.schema.json +13 -0
  155. package/dist/universal/.pi/agent/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  156. package/dist/universal/.pi/agent/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  157. package/dist/universal/.pi/agent/skills/citable/schemas/common.defs.json +12 -1
  158. package/dist/universal/.pi/agent/skills/citable/schemas/corroboration-import.schema.json +48 -0
  159. package/dist/universal/.pi/agent/skills/citable/schemas/entity-graph.schema.json +75 -0
  160. package/dist/universal/.pi/agent/skills/citable/schemas/entity.schema.json +13 -0
  161. package/dist/universal/.pi/agent/skills/citable/schemas/observation.schema.json +1 -1
  162. package/dist/universal/.pi/agent/skills/citable/schemas/page.schema.json +3 -0
  163. package/dist/universal/.pi/agent/skills/citable/schemas/regional-network-import.schema.json +55 -0
  164. package/dist/universal/.pi/agent/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  165. package/dist/universal/.pi/agent/skills/citable/scripts/README.md +3 -1
  166. package/dist/universal/.qoder/skills/citable/SKILL.md +13 -4
  167. package/dist/universal/.qoder/skills/citable/VERSION +1 -1
  168. package/dist/universal/.qoder/skills/citable/agents/citable-auditor.md +64 -0
  169. package/dist/universal/.qoder/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  170. package/dist/universal/.qoder/skills/citable/commands/action-findings.md +9 -1
  171. package/dist/universal/.qoder/skills/citable/commands/observe-and-act.md +50 -3
  172. package/dist/universal/.qoder/skills/citable/commands/plan-audit.md +35 -0
  173. package/dist/universal/.qoder/skills/citable/manifest.json +26 -14
  174. package/dist/universal/.qoder/skills/citable/schemas/action-plan.schema.json +13 -0
  175. package/dist/universal/.qoder/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  176. package/dist/universal/.qoder/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  177. package/dist/universal/.qoder/skills/citable/schemas/common.defs.json +12 -1
  178. package/dist/universal/.qoder/skills/citable/schemas/corroboration-import.schema.json +48 -0
  179. package/dist/universal/.qoder/skills/citable/schemas/entity-graph.schema.json +75 -0
  180. package/dist/universal/.qoder/skills/citable/schemas/entity.schema.json +13 -0
  181. package/dist/universal/.qoder/skills/citable/schemas/observation.schema.json +1 -1
  182. package/dist/universal/.qoder/skills/citable/schemas/page.schema.json +3 -0
  183. package/dist/universal/.qoder/skills/citable/schemas/regional-network-import.schema.json +55 -0
  184. package/dist/universal/.qoder/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  185. package/dist/universal/.qoder/skills/citable/scripts/README.md +3 -1
  186. package/dist/universal/.rovodev/skills/citable/SKILL.md +13 -4
  187. package/dist/universal/.rovodev/skills/citable/VERSION +1 -1
  188. package/dist/universal/.rovodev/skills/citable/agents/citable-auditor.md +64 -0
  189. package/dist/universal/.rovodev/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  190. package/dist/universal/.rovodev/skills/citable/commands/action-findings.md +9 -1
  191. package/dist/universal/.rovodev/skills/citable/commands/observe-and-act.md +50 -3
  192. package/dist/universal/.rovodev/skills/citable/commands/plan-audit.md +35 -0
  193. package/dist/universal/.rovodev/skills/citable/manifest.json +26 -14
  194. package/dist/universal/.rovodev/skills/citable/schemas/action-plan.schema.json +13 -0
  195. package/dist/universal/.rovodev/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  196. package/dist/universal/.rovodev/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  197. package/dist/universal/.rovodev/skills/citable/schemas/common.defs.json +12 -1
  198. package/dist/universal/.rovodev/skills/citable/schemas/corroboration-import.schema.json +48 -0
  199. package/dist/universal/.rovodev/skills/citable/schemas/entity-graph.schema.json +75 -0
  200. package/dist/universal/.rovodev/skills/citable/schemas/entity.schema.json +13 -0
  201. package/dist/universal/.rovodev/skills/citable/schemas/observation.schema.json +1 -1
  202. package/dist/universal/.rovodev/skills/citable/schemas/page.schema.json +3 -0
  203. package/dist/universal/.rovodev/skills/citable/schemas/regional-network-import.schema.json +55 -0
  204. package/dist/universal/.rovodev/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  205. package/dist/universal/.rovodev/skills/citable/scripts/README.md +3 -1
  206. package/dist/universal/.trae/skills/citable/SKILL.md +13 -4
  207. package/dist/universal/.trae/skills/citable/VERSION +1 -1
  208. package/dist/universal/.trae/skills/citable/agents/citable-auditor.md +64 -0
  209. package/dist/universal/.trae/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  210. package/dist/universal/.trae/skills/citable/commands/action-findings.md +9 -1
  211. package/dist/universal/.trae/skills/citable/commands/observe-and-act.md +50 -3
  212. package/dist/universal/.trae/skills/citable/commands/plan-audit.md +35 -0
  213. package/dist/universal/.trae/skills/citable/manifest.json +26 -14
  214. package/dist/universal/.trae/skills/citable/schemas/action-plan.schema.json +13 -0
  215. package/dist/universal/.trae/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  216. package/dist/universal/.trae/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  217. package/dist/universal/.trae/skills/citable/schemas/common.defs.json +12 -1
  218. package/dist/universal/.trae/skills/citable/schemas/corroboration-import.schema.json +48 -0
  219. package/dist/universal/.trae/skills/citable/schemas/entity-graph.schema.json +75 -0
  220. package/dist/universal/.trae/skills/citable/schemas/entity.schema.json +13 -0
  221. package/dist/universal/.trae/skills/citable/schemas/observation.schema.json +1 -1
  222. package/dist/universal/.trae/skills/citable/schemas/page.schema.json +3 -0
  223. package/dist/universal/.trae/skills/citable/schemas/regional-network-import.schema.json +55 -0
  224. package/dist/universal/.trae/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  225. package/dist/universal/.trae/skills/citable/scripts/README.md +3 -1
  226. package/dist/universal/.trae-cn/skills/citable/SKILL.md +13 -4
  227. package/dist/universal/.trae-cn/skills/citable/VERSION +1 -1
  228. package/dist/universal/.trae-cn/skills/citable/agents/citable-auditor.md +64 -0
  229. package/dist/universal/.trae-cn/skills/citable/agents/citable-semantic-reviewer.md +66 -0
  230. package/dist/universal/.trae-cn/skills/citable/commands/action-findings.md +9 -1
  231. package/dist/universal/.trae-cn/skills/citable/commands/observe-and-act.md +50 -3
  232. package/dist/universal/.trae-cn/skills/citable/commands/plan-audit.md +35 -0
  233. package/dist/universal/.trae-cn/skills/citable/manifest.json +26 -14
  234. package/dist/universal/.trae-cn/skills/citable/schemas/action-plan.schema.json +13 -0
  235. package/dist/universal/.trae-cn/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
  236. package/dist/universal/.trae-cn/skills/citable/schemas/canonical-index-import.schema.json +30 -0
  237. package/dist/universal/.trae-cn/skills/citable/schemas/common.defs.json +12 -1
  238. package/dist/universal/.trae-cn/skills/citable/schemas/corroboration-import.schema.json +48 -0
  239. package/dist/universal/.trae-cn/skills/citable/schemas/entity-graph.schema.json +75 -0
  240. package/dist/universal/.trae-cn/skills/citable/schemas/entity.schema.json +13 -0
  241. package/dist/universal/.trae-cn/skills/citable/schemas/observation.schema.json +1 -1
  242. package/dist/universal/.trae-cn/skills/citable/schemas/page.schema.json +3 -0
  243. package/dist/universal/.trae-cn/skills/citable/schemas/regional-network-import.schema.json +55 -0
  244. package/dist/universal/.trae-cn/skills/citable/schemas/source-identity-chain.schema.json +83 -0
  245. package/dist/universal/.trae-cn/skills/citable/scripts/README.md +3 -1
  246. package/dist/universal/manifest.json +270 -171
  247. package/package.json +1 -1
  248. package/release/surfaces.json +1 -1
  249. package/schemas/action-plan.schema.json +13 -0
  250. package/schemas/browser-evidence-plan.schema.json +14 -0
  251. package/schemas/canonical-index-import.schema.json +30 -0
  252. package/schemas/common.defs.json +12 -1
  253. package/schemas/corroboration-import.schema.json +48 -0
  254. package/schemas/entity-graph.schema.json +75 -0
  255. package/schemas/entity.schema.json +13 -0
  256. package/schemas/observation.schema.json +1 -1
  257. package/schemas/page.schema.json +3 -0
  258. package/schemas/regional-network-import.schema.json +55 -0
  259. package/schemas/source-identity-chain.schema.json +83 -0
  260. package/scripts/build-dist.js +36 -3
  261. package/skill/SKILL.md +13 -4
  262. package/skill/agents/citable-auditor.md +64 -0
  263. package/skill/agents/citable-semantic-reviewer.md +66 -0
  264. package/skill/commands/action-findings.md +9 -1
  265. package/skill/commands/observe-and-act.md +50 -3
  266. package/skill/commands/plan-audit.md +35 -0
  267. package/src/cli/index.js +38 -5
  268. package/src/commands/actionPlan.js +12 -1
  269. package/src/commands/audit.js +4 -0
  270. package/src/commands/demo.js +36 -0
  271. package/src/commands/fixtures/demo/.citable/claims.yaml +27 -0
  272. package/src/commands/fixtures/demo/.citable/competitors.yaml +3 -0
  273. package/src/commands/fixtures/demo/.citable/config.yaml +18 -0
  274. package/src/commands/fixtures/demo/.citable/crawlers.yaml +30 -0
  275. package/src/commands/fixtures/demo/.citable/entities.yaml +28 -0
  276. package/src/commands/fixtures/demo/.citable/evidence.yaml +19 -0
  277. package/src/commands/fixtures/demo/.citable/experiments.yaml +3 -0
  278. package/src/commands/fixtures/demo/.citable/pages.yaml +54 -0
  279. package/src/commands/fixtures/demo/.citable/prompts.yaml +11 -0
  280. package/src/commands/fixtures/demo/.citable/queries.yaml +10 -0
  281. package/src/commands/fixtures/demo/site/index.html +12 -0
  282. package/src/commands/fixtures/demo/site/learn/execution-governance/index.html +14 -0
  283. package/src/commands/fixtures/demo/site/pricing/index.html +10 -0
  284. package/src/commands/fixtures/demo/site/products/gatekeeper/index.html +15 -0
  285. package/src/commands/fixtures/demo/site/robots.txt +7 -0
  286. package/src/commands/fixtures/demo/site/sitemap.xml +7 -0
  287. package/src/commands/init.js +5 -2
  288. package/src/commands/observe.js +313 -15
  289. package/src/commands/planAudit.js +151 -0
  290. package/src/commands/schemaCmd.js +5 -1
  291. package/src/commands/substantiate.js +22 -10
  292. package/src/crawler/fetch.js +34 -6
  293. package/src/extractor/page.js +17 -0
  294. package/src/installer/index.js +282 -28
  295. package/src/installer/providers.js +11 -0
  296. package/src/observations/browserJourney.js +15 -7
  297. package/src/observations/claimDiff.js +83 -0
  298. package/src/observations/common.js +15 -0
  299. package/src/observations/entityGraph.js +89 -0
  300. package/src/observations/renderParity.js +49 -0
  301. package/src/observations/sourceIdentity.js +62 -0
  302. package/src/registries/seed.js +95 -0
  303. package/src/registries/seeds/saas-pricing/claims.yaml +18 -0
  304. package/src/registries/seeds/saas-pricing/entities.yaml +20 -0
  305. package/src/registries/seeds/saas-pricing/seed.json +6 -0
  306. package/src/shared/checklist.js +19 -0
@@ -19,22 +19,69 @@ failure_behaviour: unavailable dependency, credential, source run, reviewer, exa
19
19
  browser version, device, JavaScript, locale, consent, authentication state,
20
20
  and ordered interaction steps. Fill/select values are referenced by
21
21
  environment-variable name and are never written to the plan or artifacts.
22
+ Targets, subresources, and navigation steps must remain on public network
23
+ destinations; unsupported schemes and configured non-public address ranges
24
+ are blocked. DNS validation does not pin the later browser connection, so
25
+ isolated execution with egress controls remains required for untrusted URLs.
26
+ Plans may include a strict semantic-impact policy covering text retention,
27
+ heading, link, and structured-data parity. Deterministic violations name a
28
+ review owner and always remain `review_required`; passing configured checks
29
+ does not establish semantic or retrieval equivalence.
22
30
  - `observe index --input <JSON>` imports owner exports. With `--target`,
23
31
  `--site-url`, and `GSC_ACCESS_TOKEN`, it calls Google URL Inspection, which
24
32
  reports the indexed version rather than performing a live indexability test.
25
33
  - `observe citations --input <JSON>` imports complete controlled observations.
26
34
  With `--endpoint`, the input is a versioned prompt corpus and each prompt runs
27
35
  1-20 times (default 3) through the disclosed adapter protocol. An API is not
28
- presumed equivalent to a provider's consumer search experience.
36
+ presumed equivalent to a provider's consumer search experience. Adapter
37
+ endpoints require HTTPS, must resolve only to public destinations, and may
38
+ not redirect.
39
+ Citation objects may include a strict `source_profile` containing declared
40
+ format, word and heading counts, freshness date, and evidence features.
41
+ Competitive summaries group these profiles by cited domain. Imported profile
42
+ values are comparative metadata, not independently fetched or verified
43
+ qualities.
29
44
  - `observe logs --input <JSON>` imports server/CDN records. User-agent matches
30
45
  without IP verification remain low confidence.
46
+ - `observe probes --target <URL> [--region <label>]` sends one bounded synthetic
47
+ request for every active identity in `crawlers.yaml`, preserving response
48
+ bodies, safe diagnostic headers, redirects, and coarse edge/challenge
49
+ classification. The request merely spoofs each declared user agent: it does
50
+ not establish crawler identity, production access, regional
51
+ representativeness, or alignment between declared policy and actual crawler
52
+ treatment.
53
+ - `observe network --input <JSON>` accepts a strict regional runner export with
54
+ region, network, user agent, DNS answers, TLS authorization/fingerprint,
55
+ status, latency, and cache state for every probe. Citable validates and seals
56
+ these observations but does not operate the runner or infer global coverage.
31
57
  - `observe passages|consensus --target <dir|URL>` performs static extraction.
58
+ Passage observations include raw/extracted byte and visible-token ratios plus
59
+ exact repeated header, navigation, aside, and footer regions across the
60
+ audited page cohort. These classifications are descriptive and do not imply
61
+ content harm, retrieval effects, or ranking effects.
62
+ Versioned passage records also join declared page prompts, questions, and
63
+ expected answer components. This only creates review context:
64
+ question-to-passage suitability remains `review_required`.
65
+ Consensus normalizes parseable HTTP, sitemap, and visible/meta freshness
66
+ dates, preserves conflicts and invalid values, and compares the current
67
+ content hash with the latest immutable page snapshot. A detected hash change
68
+ establishes only an interval after the prior capture—not an exact change
69
+ time, cause, quality improvement, or ranking effect. Lifecycle review dates
70
+ remain a separate governance signal.
71
+ `observe consensus --input <canonical-index-import.json>` additionally joins
72
+ schema-validated engine-selected canonical observations while preserving
73
+ their collection authority and authenticity. Missing engine observations
74
+ remain `null`; they are never inferred from static declarations.
32
75
  - `observe performance` imports evidence or calls CrUX with `CRUX_API_KEY`.
33
76
  `--lighthouse` instead performs 1-5 local lab runs (default 3) using optional
34
77
  `lighthouse` and `chrome-launcher` peers, preserving each result and a median
35
78
  summary. Lab evidence remains separate from CrUX field evidence.
36
- - `observe corroboration --input <JSON>` records observable external mentions;
37
- controlled or unverified sources do not become authority claims.
79
+ - `observe corroboration --input <JSON>` accepts only the versioned
80
+ `corroboration-import` contract. Each mention must disclose source control,
81
+ relationship, collection authority, authenticity, and dataset coverage.
82
+ Legacy independence booleans and undisclosed control fail closed. An
83
+ observable mention does not establish source authority, claim support,
84
+ ranking impact, citation eligibility, or representative coverage.
38
85
 
39
86
  ## Guarded remediation
40
87
 
@@ -0,0 +1,35 @@
1
+ ---
2
+ command: /citable plan-audit --target <dir|url>
3
+ purpose: Inspect observable target signals and propose an evidence-bounded audit and collector plan without creating a run or treating inferred business profiles as facts.
4
+ preconditions: [readable built output directory or permitted public URL]
5
+ artifacts_created: []
6
+ failure_behaviour: missing or unreadable target -> fail; fewer than two supporting signals -> no profile established; unavailable optional prerequisite -> collector blocked
7
+ ---
8
+
9
+ # Profile-aware audit planning
10
+
11
+ 1. Run `citable plan-audit --target <dir|url>` before choosing optional
12
+ collectors. The command builds the same bounded site model used by audit but
13
+ does not create an audit, observation, snapshot, or remediation artifact.
14
+ 2. Treat every returned profile as `probabilistic_inference`. Preserve its
15
+ confidence and evidence list. A profile changes semantic emphasis only; it
16
+ does not suppress detectors or establish the target's business model.
17
+ 3. Use the proposed full audit as the deterministic baseline. Do not translate
18
+ an inferred profile into a reduced audit that could hide cross-discipline
19
+ findings.
20
+ 4. Read collector states independently. `available` means the prerequisite is
21
+ present, not that browser launch, authorization, property access, quota, or
22
+ collection will succeed. `blocked` lists the missing input and remains
23
+ unresolved until the relevant collector produces evidence.
24
+ 5. Keep profile-specific emphasis bounded:
25
+ SaaS focuses review on pricing, capability claims, and product identity;
26
+ e-commerce on product/offer support; local on identity/NAP and review
27
+ evidence; publisher on authorship/freshness; multilingual on hreflang and
28
+ parity; API/docs on machine interfaces and authentication claims.
29
+
30
+ # Refusal boundary
31
+
32
+ Do not invent an industry, customer segment, locale strategy, product catalog,
33
+ local presence, or API capability to complete the plan. If no profile reaches
34
+ the two-signal threshold, report that none is established and run the full
35
+ audit without profile-specific emphasis.
@@ -1,14 +1,20 @@
1
1
  {
2
2
  "name": "citable",
3
- "version": "1.13.0",
3
+ "version": "1.14.0",
4
4
  "managedBy": "citable-cli",
5
5
  "provider": "pi",
6
6
  "providerName": "Pi",
7
7
  "scope": "bundle",
8
- "sourcePackage": "@nebulacomponents/citable@1.13.0",
8
+ "sourcePackage": "@nebulacomponents/citable@1.14.0",
9
9
  "variantPath": ".pi/agent/skills/citable",
10
+ "agentProfiles": {
11
+ "status": "unsupported",
12
+ "reason": "native agent profile discovery and permission contract not verified for this host"
13
+ },
10
14
  "files": {
11
- "commands/action-findings.md": "sha256:510361461f24fcd4a550e0a8d960c383aefe23f9a65a54a3ffc44abd4c1293e7",
15
+ "agents/citable-auditor.md": "sha256:06fe8d84834b2c09b7e7083aa6f57e94e837e0643dbe4ead4bbecf651fb41cad",
16
+ "agents/citable-semantic-reviewer.md": "sha256:77582263a048ea41ae3f7ee326dbd036222fab81ed83bda98034ec83ee21ef2e",
17
+ "commands/action-findings.md": "sha256:b1d5c4d8d8b1092bc73b99430bea0a2e460031658e42bed33eb94da9a3c0e48f",
12
18
  "commands/artifact-interchange.md": "sha256:18d56fbfa6bb3f23f08593a9a8135e51c268618b049e53c793969b68000875c3",
13
19
  "commands/delivery.md": "sha256:3b29250f9e9f84442812e320a70d5d2784b4286e91af3866f99cb6062a85a10f",
14
20
  "commands/field-validation.md": "sha256:4f24b2758eef746d704b218364f1e45ee9e07418c8ae111081b1fd41f93dde2d",
@@ -16,9 +22,10 @@
16
22
  "commands/ingest.md": "sha256:cf35659aecd9d0e160909003efdbe056864fc5d824c71b4ef0ee801ce07ff598",
17
23
  "commands/measurement.md": "sha256:9cade6dfec23338e18aa67ede3335ac9e2888dc577a7d4d8e3ceac948bce403f",
18
24
  "commands/media-evidence.md": "sha256:f2218feabe3360a2c9d569a5fa9b70d4b33a83a270d657151635e6f404fb34e0",
19
- "commands/observe-and-act.md": "sha256:3862708da9d787d61a9c7bc8639b2fb28bc021d5784e11f313b0e9ecdff261bc",
25
+ "commands/observe-and-act.md": "sha256:847d35aa6cd5b32dea4cd82fd4a5e84343676fd7e45c5e3a10393a00f6b288a7",
20
26
  "commands/optimize-page.md": "sha256:35866f3d7cdeef0376ea7a7d7036085a9b9cf95bbb300ecf4bd77610ebd74d85",
21
27
  "commands/page-work.md": "sha256:965a66e59bdf7b0da482d26fade53b3d265885ece5d463fe83b0789ebefaef3e",
28
+ "commands/plan-audit.md": "sha256:69875c9654e13b84566dafb16afe5afe08cffb9f3bded1f2d8d2261ae871c869",
22
29
  "commands/README.md": "sha256:c27f69e0e33712e00f780c0988c7b033650c17d3450baea33f2b14212be8438e",
23
30
  "commands/reviews.md": "sha256:902904aaa405fe5724cf0662c7a5a36eab9a4fe0eb81cbd95ffa2fff946e0ac8",
24
31
  "commands/validate-render.md": "sha256:a8e1d04d40b84d57c35039250d98c6a7302cd44a148a8c3b9d9cfb92678c4347",
@@ -43,24 +50,27 @@
43
50
  "schemas/acceptance-corpus.schema.json": "sha256:b703be371ee33747d83814e448d18cd01f103f1832480a95df4331b86982165d",
44
51
  "schemas/acceptance-run-context.schema.json": "sha256:56d75c7bcd166c3578a71699df1aa5466327c23c1e06e33773f2493f5caa1a50",
45
52
  "schemas/acceptance-run-receipt.schema.json": "sha256:6c6e66767cf3b9adb42ace087f7e9a428312f41b7ecbaf533fc8d7ba5953da44",
46
- "schemas/action-plan.schema.json": "sha256:4b6c4c877840a065c7c0c0c7b52f696502bf3d4ca6d31179622fc364ea868d5e",
53
+ "schemas/action-plan.schema.json": "sha256:e2ca871c92595a55ac56248cd87df67d94449ac39ac216e60751baaec5b74f1e",
47
54
  "schemas/artifact-interchange.schema.json": "sha256:c6f628934c8a1b8ea2996e03c2c5abd46c2a0e74c680b0a43e44c2343dc9aa21",
48
55
  "schemas/assumption.schema.json": "sha256:31a0f44bbf1d207e013961ec4c39eea85c3ae9efde1485b5e26084562c816844",
49
56
  "schemas/bing-webmaster.schema.json": "sha256:8357c518a8cb4ccd1def2da38950fbba68270e2b1613ad522b50c568a3b8538f",
50
- "schemas/browser-evidence-plan.schema.json": "sha256:f2c1a3fe05cdaf72a41c0a3d548ccf5bdf247dbe71b546759b15277df0e723ba",
57
+ "schemas/browser-evidence-plan.schema.json": "sha256:81ef14f665b4a00f01afb747576faeb06025722e5c15a36eff3d17e59e978851",
58
+ "schemas/canonical-index-import.schema.json": "sha256:ef633662cb30873242ca356443bc4835afe56bb020208e8f42fa47ac8047b66e",
51
59
  "schemas/claim.schema.json": "sha256:ce79ccbfa34ece9b7a309a6962522ea06a1f44c468b4c472b5c376554a788537",
52
- "schemas/common.defs.json": "sha256:effdd812910d1c275c50520bb70d8aec085e53fa8cb68054dc58c04a5d4a66b3",
60
+ "schemas/common.defs.json": "sha256:ac66081df6b86f652e066ea868edecfcd36cdd1b1c81e55a1e3af880f671b727",
53
61
  "schemas/competitor.schema.json": "sha256:2f6fd7e4543846bde56ff4dc62bb41fa366889787b794a7cdb0bff1a3392e591",
54
62
  "schemas/config.schema.json": "sha256:a87f3bb0087de09035b9f2dafea66e32e4fcc2e3e329abcd0fd8a5ec33318f2a",
55
63
  "schemas/connection.schema.json": "sha256:abcedde8d62d0c0663d4f959e06132a617908058ed965078965445ef3b108310",
56
64
  "schemas/corpus-publication-receipt.schema.json": "sha256:a4d523fd1c1fa53762522891c06c06edb668cd15e1de3c7123d2b9948445ae32",
65
+ "schemas/corroboration-import.schema.json": "sha256:927983d0590f1ec569e86195d2031be0cd212f9436ff98acca468cbae108d85e",
57
66
  "schemas/crawler-identity.schema.json": "sha256:e1e3e6da203a8bc49fba8f9bbde525368891db022d542fc615b677401825351d",
58
67
  "schemas/crawler.schema.json": "sha256:1a113dfb80bc6cde904c3ea648c82ea1d88fe50f2c1a0e7175d44abba28ac64e",
59
68
  "schemas/customer-outcome.schema.json": "sha256:c0cdfee31a692feadb31dc6be734d45ae178ee53f28349c2a9e7504bdfcf9e50",
60
69
  "schemas/decision.schema.json": "sha256:7c30f3ad83a6aa0b67ecc51ac6691e5e041b633d01bab17cee2b5218d926204e",
61
70
  "schemas/deployment-receipt.schema.json": "sha256:789455907e7f3039fd55ee5b2568e09871128f513f5ddfe1f3afac1a4dd6b2bd",
62
71
  "schemas/detector-quality.schema.json": "sha256:5e9e1ac80b1198a0ff8fa17b9f7a543d3ccf3ed3d60196152f6ff095cfdebccd",
63
- "schemas/entity.schema.json": "sha256:78a08c35c8f4eb7a804ab46b61a238502f59621ac5218991e783251fbde61c4f",
72
+ "schemas/entity-graph.schema.json": "sha256:b9cc1312e3c7657d301e63c8dd302d79c7348f245ce3c324eeaa1e796720b74b",
73
+ "schemas/entity.schema.json": "sha256:ce7cb7a0117a2fbd3032c9f244ab43855b47b285b81313513c3bb3287d37a33b",
64
74
  "schemas/evidence-authority.schema.json": "sha256:4f8165a37304ebab019e1c2dfec13f1168ecf89ce9bec88f7dca9c8554e39ac0",
65
75
  "schemas/evidence.schema.json": "sha256:76baec7ad7e89c6952473c01dacb9e3b26953c088331e6314d531ce620df9ec1",
66
76
  "schemas/exception.schema.json": "sha256:c88985494ec66554330fdc5b65d033527d0005acf41f10798b1e831d171f8944",
@@ -73,12 +83,13 @@
73
83
  "schemas/media-manifest.schema.json": "sha256:3f37301aab9e913fa7febb15c720ed6384b106f12cef8d26cdd12d93fd85b41f",
74
84
  "schemas/metric.schema.json": "sha256:2ada648e7274a8d78cc9d6e7ed616f91faa79cf9ed07613e2c1fc53b247aac8d",
75
85
  "schemas/objective.schema.json": "sha256:94404dc95d04a6641ea7b9654317d0222793251ad44d3dfd2875738622a36025",
76
- "schemas/observation.schema.json": "sha256:b572ae8ba3d175509cc9fae914d8d054c0fb84ebcaf81de981532b527064538d",
77
- "schemas/page.schema.json": "sha256:627613c35f461177fa946df08edf66fbf6f6bbdfc57eef812572b3af796d5e07",
86
+ "schemas/observation.schema.json": "sha256:bdf0c16230d3666e9dba8f9110d45944e5f7e94c37ac51e483a879628c30ce77",
87
+ "schemas/page.schema.json": "sha256:11d116b22ab79c152cfc7bbbec3a00cebe6dcd8ea2845b0ce819c15111fb0166",
78
88
  "schemas/project.schema.json": "sha256:ea48fdb6480f7047ba4594bd5908bc1f79c1ad6b9a2c204df900959b5f203dc6",
79
89
  "schemas/prompt-result.schema.json": "sha256:b55be47d7d58d7b1dd8c3b1e849e24e55216212c592cde7eb836953379b85737",
80
90
  "schemas/prompt.schema.json": "sha256:7f0f50c83a86ac91faa7b79895dbc1fed371e8c0342e18d8c2877cc81f4f0f4c",
81
91
  "schemas/query.schema.json": "sha256:3c0793a8c0c48ab39320416790840b345ea987696f35b1cc364f23245a62aacb",
92
+ "schemas/regional-network-import.schema.json": "sha256:9dc1062fbab9b98ccc485d605bb7e7d65d21449cccc17005251d4efea910fed0",
82
93
  "schemas/release-manifest.schema.json": "sha256:962be645e790b5f3dc6f6ea455e187492d727dcb91d00f91e4e25b40e2dbc360",
83
94
  "schemas/release-state.schema.json": "sha256:9920f68e538915d0d07044f313a9e410775a38ce9bb46a55d9ebe02970784803",
84
95
  "schemas/remediation-spec.schema.json": "sha256:6fe8cb773702862ba6d261198bb5cc2dca3eca0a2310a60ebddd04377654df8d",
@@ -90,11 +101,12 @@
90
101
  "schemas/sampling-plan.schema.json": "sha256:005f70f149baaacd7de698548d556d3e401c630978748271b0e14a74726dd413",
91
102
  "schemas/scenario.schema.json": "sha256:3f5bc2032d08f973600db068f475176a0e4706b33be42f99c778fe755a0ff38b",
92
103
  "schemas/schedule.schema.json": "sha256:0f02174ab0fc7bbbce9759fd358b18ed97cc683c76933fd3001cf053c499b157",
104
+ "schemas/source-identity-chain.schema.json": "sha256:a65d9c12eaed1bd6b637c66a2f9362c17287fdfcb454d8676fb611d2d28aa019",
93
105
  "schemas/variance.schema.json": "sha256:68389f64f0a3be13ff8951e8eefba9a5c31d0738325cb47e37c1a8435bea48f0",
94
- "scripts/README.md": "sha256:1c3e952950ef353849621b07c5f615bf7cd20cc5654da4635492a7bd6384e747",
95
- "SKILL.md": "sha256:ac5817aa956c0d845ab4cc3adcc07b8bd814f924883b9c1178cbe745333616d1",
106
+ "scripts/README.md": "sha256:9eee4e8beb4579a183bd714c9dd24b83abd020753eada5caeffae004739d60b5",
107
+ "SKILL.md": "sha256:8211b720ae293517fb1d23260ab3d0d39d7228f20f442f6f642513c708cf1954",
96
108
  "templates/finding-review.md": "sha256:b270a83d3f015150aac80249ae9314979c0befea39ff92ec455f9a5aaa73404c",
97
- "VERSION": "sha256:b4a9545a385e9701482be56a0efee678d467d9c586ec476f2c5986cfaa24e96c"
109
+ "VERSION": "sha256:bb0df1bd902faba507c15975eb9973e695f2732f760d851b4f9c7ba17068f5ff"
98
110
  },
99
- "treeHash": "sha256:8c0cfbcf3b6ed8a20ec337f655a3ee299f3f7cfd837bad5f7beb8627f3954242"
111
+ "treeHash": "sha256:1045c67e6f937af236960d4c12fbc3f87c969b405b3559522dd6a1e7342cd924"
100
112
  }
@@ -28,15 +28,28 @@
28
28
  "properties": {
29
29
  "action_id": { "$ref": "citable://schemas/common.defs.json#/definitions/id" },
30
30
  "finding_ids": { "type": "array", "minItems": 1, "items": { "type": "string" } },
31
+ "depends_on_action_ids": {
32
+ "type": "array",
33
+ "uniqueItems": true,
34
+ "items": { "$ref": "citable://schemas/common.defs.json#/definitions/id" }
35
+ },
31
36
  "phase": { "type": "string", "enum": ["unblock", "governance", "content", "optimization"] },
32
37
  "priority": { "type": "string", "enum": ["critical", "high", "medium", "low"] },
33
38
  "subject": { "type": "string" },
34
39
  "action": { "type": "string", "minLength": 1 },
35
40
  "owner": { "type": ["string", "null"] },
41
+ "decision_owner": { "type": ["string", "null"] },
36
42
  "status": { "type": "string", "enum": ["ready", "blocked"] },
37
43
  "required_input": { "type": "array", "items": { "type": "string" } },
38
44
  "semantic_gates": { "type": "array", "items": { "type": "string" } },
39
45
  "unsafe_shortcuts": { "type": "array", "items": { "type": "string" } },
46
+ "failure_condition": { "type": "string", "minLength": 1 },
47
+ "leading_indicators": {
48
+ "type": "array",
49
+ "uniqueItems": true,
50
+ "items": { "type": "string", "minLength": 1 }
51
+ },
52
+ "monitoring_window": { "type": ["string", "null"], "minLength": 1 },
40
53
  "verification": {
41
54
  "type": "object",
42
55
  "additionalProperties": false,
@@ -9,6 +9,20 @@
9
9
  "schema_version": { "const": 1 },
10
10
  "plan_id": { "type": "string", "pattern": "^BROWSER-PLAN-[A-Z0-9_-]+$" },
11
11
  "target": { "type": "string", "format": "uri", "pattern": "^https?://" },
12
+ "semantic_impact_policy": {
13
+ "type": "object",
14
+ "additionalProperties": false,
15
+ "required": ["policy_id", "review_owner", "min_text_retention_ratio", "require_heading_parity", "require_link_parity", "require_structured_data_parity", "limitations"],
16
+ "properties": {
17
+ "policy_id": { "type": "string", "pattern": "^RENDER-POLICY-[A-Z0-9_-]+$" },
18
+ "review_owner": { "type": "string", "minLength": 1 },
19
+ "min_text_retention_ratio": { "type": "number", "minimum": 0, "maximum": 1 },
20
+ "require_heading_parity": { "type": "boolean" },
21
+ "require_link_parity": { "type": "boolean" },
22
+ "require_structured_data_parity": { "type": "boolean" },
23
+ "limitations": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } }
24
+ }
25
+ },
12
26
  "profiles": {
13
27
  "type": "array",
14
28
  "minItems": 1,
@@ -0,0 +1,30 @@
1
+ {
2
+ "$id": "citable://schemas/canonical-index-import.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Engine-selected canonical import",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "collected_at", "collection_authority", "authenticity_status", "observations"],
8
+ "properties": {
9
+ "schema_version": { "const": 1 },
10
+ "collected_at": { "type": "string", "format": "date-time" },
11
+ "collection_authority": { "type": "string", "enum": ["owner_export", "third_party_export"] },
12
+ "authenticity_status": { "type": "string", "enum": ["cryptographically_authenticated", "owner_attested", "transport_authenticated", "checksum_protected_only", "unverified"] },
13
+ "observations": {
14
+ "type": "array",
15
+ "minItems": 1,
16
+ "items": {
17
+ "type": "object",
18
+ "additionalProperties": false,
19
+ "required": ["url", "engine", "selected_canonical", "indexed", "observed_at"],
20
+ "properties": {
21
+ "url": { "type": "string", "format": "uri", "pattern": "^https://" },
22
+ "engine": { "type": "string", "minLength": 1 },
23
+ "selected_canonical": { "type": ["string", "null"], "format": "uri" },
24
+ "indexed": { "type": ["boolean", "null"] },
25
+ "observed_at": { "type": "string", "format": "date-time" }
26
+ }
27
+ }
28
+ }
29
+ }
30
+ }
@@ -17,7 +17,18 @@
17
17
  "created": { "$ref": "#/definitions/isoDate" },
18
18
  "updated": { "$ref": "#/definitions/isoDate" },
19
19
  "created_by": { "type": "string" },
20
- "source": { "type": "string" }
20
+ "source": { "type": "string" },
21
+ "seededFrom": {
22
+ "type": "object",
23
+ "additionalProperties": false,
24
+ "required": ["seedName", "seedVersion", "importedAt"],
25
+ "properties": {
26
+ "seedName": { "type": "string", "minLength": 1 },
27
+ "seedVersion": { "type": "string", "minLength": 1 },
28
+ "importedAt": { "$ref": "#/definitions/isoDate" },
29
+ "contentFingerprint": { "type": "string", "minLength": 1 }
30
+ }
31
+ }
21
32
  }
22
33
  },
23
34
  "registryFile": {
@@ -0,0 +1,48 @@
1
+ {
2
+ "$id": "citable://schemas/corroboration-import.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "External corroboration import",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "provider", "dataset", "collected_at", "collection_authority", "authenticity_status", "representativeness", "coverage", "mentions"],
8
+ "properties": {
9
+ "schema_version": { "const": 1 },
10
+ "provider": { "type": "string", "minLength": 1 },
11
+ "dataset": { "const": "external_mentions" },
12
+ "collected_at": { "type": "string", "format": "date-time" },
13
+ "collection_authority": { "type": "string", "enum": ["owner_export", "third_party_export", "manual_entry"] },
14
+ "authenticity_status": { "type": "string", "enum": ["cryptographically_authenticated", "provider_range_verified", "owner_attested", "transport_authenticated", "checksum_protected_only", "unverified"] },
15
+ "representativeness": { "type": "string", "enum": ["production_population", "complete_export", "statistically_sampled", "convenience_sample", "single_observation", "unknown"] },
16
+ "coverage": {
17
+ "type": "object",
18
+ "additionalProperties": false,
19
+ "required": ["population", "sampled", "exclusions"],
20
+ "properties": {
21
+ "population": { "type": "string", "minLength": 1 },
22
+ "sampled": { "type": "integer", "minimum": 1 },
23
+ "exclusions": { "type": "array", "items": { "type": "string", "minLength": 1 } }
24
+ }
25
+ },
26
+ "mentions": {
27
+ "type": "array",
28
+ "minItems": 1,
29
+ "items": {
30
+ "type": "object",
31
+ "additionalProperties": false,
32
+ "required": ["source_url", "publisher", "entity", "source_control", "relationship_disclosure", "source_type", "observed_at"],
33
+ "properties": {
34
+ "source_url": { "type": "string", "format": "uri", "pattern": "^https://" },
35
+ "canonical_url": { "type": "string", "format": "uri", "pattern": "^https://" },
36
+ "publisher": { "type": "string", "minLength": 1 },
37
+ "entity": { "type": "string", "minLength": 1 },
38
+ "source_control": { "type": "string", "enum": ["independent", "owner_controlled", "affiliated", "unknown"] },
39
+ "relationship_disclosure": { "type": "string", "enum": ["none_disclosed", "affiliated", "sponsored", "unknown"] },
40
+ "source_type": { "type": "string", "enum": ["editorial", "standards", "academic", "review", "directory", "social", "forum", "backlink", "other"] },
41
+ "observed_at": { "type": "string", "format": "date-time" },
42
+ "context_excerpt": { "type": "string" },
43
+ "claim_ids": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "$id": "citable://schemas/entity-graph.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Normalized JSON-LD entity graph",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["version", "nodes", "edges", "unresolved_references", "parse_failures", "limitations"],
8
+ "properties": {
9
+ "version": { "const": 1 },
10
+ "nodes": {
11
+ "type": "array",
12
+ "items": {
13
+ "type": "object",
14
+ "additionalProperties": false,
15
+ "required": ["node_id", "types", "names", "source_blocks", "visible_support"],
16
+ "properties": {
17
+ "node_id": { "type": "string", "minLength": 1 },
18
+ "types": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
19
+ "names": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
20
+ "source_blocks": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "additionalProperties": false,
25
+ "required": ["url", "block_hash"],
26
+ "properties": {
27
+ "url": { "type": "string", "minLength": 1 },
28
+ "block_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
29
+ }
30
+ }
31
+ },
32
+ "visible_support": {
33
+ "type": "object",
34
+ "additionalProperties": false,
35
+ "required": ["status", "matched_fields"],
36
+ "properties": {
37
+ "status": { "type": "string", "enum": ["supported", "not_observed", "not_testable"] },
38
+ "matched_fields": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }
39
+ }
40
+ }
41
+ }
42
+ }
43
+ },
44
+ "edges": { "type": "array", "items": { "$ref": "#/definitions/edge" } },
45
+ "unresolved_references": { "type": "array", "items": { "$ref": "#/definitions/edge" } },
46
+ "parse_failures": {
47
+ "type": "array",
48
+ "items": {
49
+ "type": "object",
50
+ "additionalProperties": false,
51
+ "required": ["url", "error", "raw_hash"],
52
+ "properties": {
53
+ "url": { "type": "string", "minLength": 1 },
54
+ "error": { "type": "string", "minLength": 1 },
55
+ "raw_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
56
+ }
57
+ }
58
+ },
59
+ "limitations": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } }
60
+ },
61
+ "definitions": {
62
+ "edge": {
63
+ "type": "object",
64
+ "additionalProperties": false,
65
+ "required": ["source_id", "relation", "target_id", "source_url", "target_declared"],
66
+ "properties": {
67
+ "source_id": { "type": "string", "minLength": 1 },
68
+ "relation": { "type": "string", "minLength": 1 },
69
+ "target_id": { "type": "string", "minLength": 1 },
70
+ "source_url": { "type": "string", "minLength": 1 },
71
+ "target_declared": { "type": "boolean" }
72
+ }
73
+ }
74
+ }
75
+ }
@@ -23,6 +23,19 @@
23
23
  "canonical_url": { "type": "string" },
24
24
  "external_identifiers": { "type": "array", "items": { "type": ["string", "object"] } },
25
25
  "authoritative_profiles": { "type": "array", "items": { "type": "string" } },
26
+ "affiliations": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "required": ["entity_id", "relationship", "disclosure_status"],
32
+ "properties": {
33
+ "entity_id": { "$ref": "citable://schemas/common.defs.json#/definitions/id" },
34
+ "relationship": { "type": "string", "enum": ["employee", "contractor", "member", "owner", "partner", "other"] },
35
+ "disclosure_status": { "type": "string", "enum": ["disclosed", "not_disclosed", "unknown"] }
36
+ }
37
+ }
38
+ },
26
39
  "category": { "type": "string" },
27
40
  "secondary_categories": { "type": "array", "items": { "type": "string" } },
28
41
  "definition": { "type": "string" },
@@ -7,7 +7,7 @@
7
7
  "required": ["observation_id", "kind", "state", "collected_at", "collection_method", "confidence", "source", "evidence_hash", "data"],
8
8
  "properties": {
9
9
  "observation_id": { "type": "string", "minLength": 1 },
10
- "kind": { "type": "string", "enum": ["render", "browser_journey", "index", "citation", "citation_review", "crawler_log", "bing_webmaster", "passage", "canonical_freshness", "performance", "corroboration", "metric", "media_pdf", "media_transcript", "media_image", "representation_drift"] },
10
+ "kind": { "type": "string", "enum": ["render", "browser_journey", "index", "citation", "citation_review", "crawler_log", "crawler_probe", "regional_network", "bing_webmaster", "passage", "canonical_freshness", "performance", "corroboration", "metric", "media_pdf", "media_transcript", "media_image", "representation_drift"] },
11
11
  "state": { "type": "string", "enum": ["observed", "not_observed", "not_evidenced", "incomplete", "review_required", "failed"] },
12
12
  "collected_at": { "type": "string", "format": "date-time" },
13
13
  "collection_method": { "type": "string", "enum": ["live_api", "browser", "owner_import", "synthetic_fetch", "static_analysis", "human_review"] },
@@ -27,6 +27,9 @@
27
27
  "evidence_references": { "type": "array", "items": { "type": "string" } },
28
28
  "content_owner": { "type": "string" },
29
29
  "factual_reviewer": { "type": "string" },
30
+ "author_entities": { "type": "array", "items": { "$ref": "citable://schemas/common.defs.json#/definitions/id" }, "uniqueItems": true },
31
+ "publisher_entity": { "$ref": "citable://schemas/common.defs.json#/definitions/id" },
32
+ "correction_path": { "type": "string", "minLength": 1 },
30
33
  "lifecycle_class": { "type": "string", "enum": ["foundational", "product_capability", "regulatory", "pricing", "market_statistics", "technical_implementation", "competitive_comparison", "security_claim", "evergreen", "news", "unclassified"] },
31
34
  "review_cadence": { "type": "string" },
32
35
  "next_review_date": { "$ref": "citable://schemas/common.defs.json#/definitions/isoDate" },
@@ -0,0 +1,55 @@
1
+ {
2
+ "$id": "citable://schemas/regional-network-import.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Regional network probe import",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "provider", "collected_at", "collection_authority", "authenticity_status", "representativeness", "probes"],
8
+ "properties": {
9
+ "schema_version": { "const": 1 },
10
+ "provider": { "type": "string", "minLength": 1 },
11
+ "collected_at": { "type": "string", "format": "date-time" },
12
+ "collection_authority": { "type": "string", "enum": ["owner_export", "third_party_export"] },
13
+ "authenticity_status": { "type": "string", "enum": ["cryptographically_authenticated", "owner_attested", "transport_authenticated", "checksum_protected_only", "unverified"] },
14
+ "representativeness": { "type": "string", "enum": ["complete_export", "statistically_sampled", "controlled_experiment", "convenience_sample", "unknown"] },
15
+ "probes": {
16
+ "type": "array",
17
+ "minItems": 1,
18
+ "items": {
19
+ "type": "object",
20
+ "additionalProperties": false,
21
+ "required": ["probe_id", "target", "region", "network", "user_agent", "observed_at", "dns_addresses", "tls", "status", "latency_ms", "cache"],
22
+ "properties": {
23
+ "probe_id": { "type": "string", "pattern": "^PROBE-[A-Z0-9_-]+$" },
24
+ "target": { "type": "string", "format": "uri", "pattern": "^https://" },
25
+ "region": { "type": "string", "minLength": 1 },
26
+ "network": { "type": "string", "minLength": 1 },
27
+ "user_agent": { "type": "string", "minLength": 1 },
28
+ "observed_at": { "type": "string", "format": "date-time" },
29
+ "dns_addresses": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 2 }, "uniqueItems": true },
30
+ "tls": {
31
+ "type": "object",
32
+ "additionalProperties": false,
33
+ "required": ["protocol", "authorized", "certificate_fingerprint"],
34
+ "properties": {
35
+ "protocol": { "type": "string", "minLength": 1 },
36
+ "authorized": { "type": "boolean" },
37
+ "certificate_fingerprint": { "type": "string", "minLength": 1 }
38
+ }
39
+ },
40
+ "status": { "type": "integer", "minimum": 100, "maximum": 599 },
41
+ "latency_ms": { "type": "number", "minimum": 0 },
42
+ "cache": {
43
+ "type": "object",
44
+ "additionalProperties": false,
45
+ "required": ["status", "age_seconds"],
46
+ "properties": {
47
+ "status": { "type": "string", "enum": ["HIT", "MISS", "BYPASS", "STALE", "UNKNOWN"] },
48
+ "age_seconds": { "type": ["number", "null"], "minimum": 0 }
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }