@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.
- package/CHANGELOG.md +269 -0
- package/README.md +43 -5
- package/dist/universal/.agents/skills/citable/SKILL.md +13 -4
- package/dist/universal/.agents/skills/citable/VERSION +1 -1
- package/dist/universal/.agents/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.agents/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.agents/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.agents/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.agents/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.agents/skills/citable/manifest.json +26 -14
- package/dist/universal/.agents/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.agents/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.agents/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.agents/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.agents/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.agents/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.agents/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.agents/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.agents/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.agents/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.agents/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.agents/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.claude/agents/citable/citable-auditor.md +64 -0
- package/dist/universal/.claude/agents/citable/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.claude/agents/citable/manifest.json +12 -0
- package/dist/universal/.claude/skills/citable/SKILL.md +13 -4
- package/dist/universal/.claude/skills/citable/VERSION +1 -1
- package/dist/universal/.claude/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.claude/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.claude/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.claude/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.claude/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.claude/skills/citable/manifest.json +31 -14
- package/dist/universal/.claude/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.claude/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.claude/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.claude/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.claude/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.claude/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.claude/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.claude/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.claude/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.claude/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.claude/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.claude/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.cursor/skills/citable/SKILL.md +13 -4
- package/dist/universal/.cursor/skills/citable/VERSION +1 -1
- package/dist/universal/.cursor/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.cursor/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.cursor/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.cursor/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.cursor/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.cursor/skills/citable/manifest.json +26 -14
- package/dist/universal/.cursor/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.cursor/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.cursor/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.cursor/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.cursor/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.cursor/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.cursor/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.cursor/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.cursor/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.cursor/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.cursor/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.cursor/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.gemini/skills/citable/SKILL.md +13 -4
- package/dist/universal/.gemini/skills/citable/VERSION +1 -1
- package/dist/universal/.gemini/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.gemini/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.gemini/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.gemini/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.gemini/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.gemini/skills/citable/manifest.json +26 -14
- package/dist/universal/.gemini/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.gemini/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.gemini/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.gemini/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.gemini/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.gemini/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.gemini/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.gemini/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.gemini/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.gemini/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.gemini/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.gemini/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.github/skills/citable/SKILL.md +13 -4
- package/dist/universal/.github/skills/citable/VERSION +1 -1
- package/dist/universal/.github/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.github/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.github/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.github/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.github/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.github/skills/citable/manifest.json +26 -14
- package/dist/universal/.github/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.github/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.github/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.github/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.github/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.github/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.github/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.github/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.github/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.github/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.github/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.github/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.kiro/skills/citable/SKILL.md +13 -4
- package/dist/universal/.kiro/skills/citable/VERSION +1 -1
- package/dist/universal/.kiro/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.kiro/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.kiro/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.kiro/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.kiro/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.kiro/skills/citable/manifest.json +26 -14
- package/dist/universal/.kiro/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.kiro/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.kiro/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.kiro/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.kiro/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.kiro/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.kiro/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.kiro/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.kiro/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.kiro/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.kiro/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.kiro/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.opencode/skills/citable/SKILL.md +13 -4
- package/dist/universal/.opencode/skills/citable/VERSION +1 -1
- package/dist/universal/.opencode/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.opencode/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.opencode/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.opencode/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.opencode/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.opencode/skills/citable/manifest.json +26 -14
- package/dist/universal/.opencode/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.opencode/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.opencode/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.opencode/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.opencode/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.opencode/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.opencode/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.opencode/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.opencode/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.opencode/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.opencode/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.opencode/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.pi/agent/skills/citable/SKILL.md +13 -4
- package/dist/universal/.pi/agent/skills/citable/VERSION +1 -1
- package/dist/universal/.pi/agent/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.pi/agent/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.pi/agent/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.pi/agent/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.pi/agent/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.pi/agent/skills/citable/manifest.json +26 -14
- package/dist/universal/.pi/agent/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.pi/agent/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.pi/agent/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.pi/agent/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.qoder/skills/citable/SKILL.md +13 -4
- package/dist/universal/.qoder/skills/citable/VERSION +1 -1
- package/dist/universal/.qoder/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.qoder/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.qoder/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.qoder/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.qoder/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.qoder/skills/citable/manifest.json +26 -14
- package/dist/universal/.qoder/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.qoder/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.qoder/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.qoder/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.qoder/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.qoder/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.qoder/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.qoder/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.qoder/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.qoder/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.qoder/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.qoder/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.rovodev/skills/citable/SKILL.md +13 -4
- package/dist/universal/.rovodev/skills/citable/VERSION +1 -1
- package/dist/universal/.rovodev/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.rovodev/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.rovodev/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.rovodev/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.rovodev/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.rovodev/skills/citable/manifest.json +26 -14
- package/dist/universal/.rovodev/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.rovodev/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.rovodev/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.rovodev/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.rovodev/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.rovodev/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.rovodev/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.rovodev/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.rovodev/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.rovodev/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.rovodev/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.rovodev/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.trae/skills/citable/SKILL.md +13 -4
- package/dist/universal/.trae/skills/citable/VERSION +1 -1
- package/dist/universal/.trae/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.trae/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.trae/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.trae/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.trae/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.trae/skills/citable/manifest.json +26 -14
- package/dist/universal/.trae/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.trae/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.trae/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.trae/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.trae/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.trae/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.trae/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.trae/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.trae/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.trae/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.trae/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.trae/skills/citable/scripts/README.md +3 -1
- package/dist/universal/.trae-cn/skills/citable/SKILL.md +13 -4
- package/dist/universal/.trae-cn/skills/citable/VERSION +1 -1
- package/dist/universal/.trae-cn/skills/citable/agents/citable-auditor.md +64 -0
- package/dist/universal/.trae-cn/skills/citable/agents/citable-semantic-reviewer.md +66 -0
- package/dist/universal/.trae-cn/skills/citable/commands/action-findings.md +9 -1
- package/dist/universal/.trae-cn/skills/citable/commands/observe-and-act.md +50 -3
- package/dist/universal/.trae-cn/skills/citable/commands/plan-audit.md +35 -0
- package/dist/universal/.trae-cn/skills/citable/manifest.json +26 -14
- package/dist/universal/.trae-cn/skills/citable/schemas/action-plan.schema.json +13 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/browser-evidence-plan.schema.json +14 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/canonical-index-import.schema.json +30 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/common.defs.json +12 -1
- package/dist/universal/.trae-cn/skills/citable/schemas/corroboration-import.schema.json +48 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/entity-graph.schema.json +75 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/entity.schema.json +13 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/observation.schema.json +1 -1
- package/dist/universal/.trae-cn/skills/citable/schemas/page.schema.json +3 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/regional-network-import.schema.json +55 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/source-identity-chain.schema.json +83 -0
- package/dist/universal/.trae-cn/skills/citable/scripts/README.md +3 -1
- package/dist/universal/manifest.json +270 -171
- package/package.json +1 -1
- package/release/surfaces.json +1 -1
- package/schemas/action-plan.schema.json +13 -0
- package/schemas/browser-evidence-plan.schema.json +14 -0
- package/schemas/canonical-index-import.schema.json +30 -0
- package/schemas/common.defs.json +12 -1
- package/schemas/corroboration-import.schema.json +48 -0
- package/schemas/entity-graph.schema.json +75 -0
- package/schemas/entity.schema.json +13 -0
- package/schemas/observation.schema.json +1 -1
- package/schemas/page.schema.json +3 -0
- package/schemas/regional-network-import.schema.json +55 -0
- package/schemas/source-identity-chain.schema.json +83 -0
- package/scripts/build-dist.js +36 -3
- package/skill/SKILL.md +13 -4
- package/skill/agents/citable-auditor.md +64 -0
- package/skill/agents/citable-semantic-reviewer.md +66 -0
- package/skill/commands/action-findings.md +9 -1
- package/skill/commands/observe-and-act.md +50 -3
- package/skill/commands/plan-audit.md +35 -0
- package/src/cli/index.js +38 -5
- package/src/commands/actionPlan.js +12 -1
- package/src/commands/audit.js +4 -0
- package/src/commands/demo.js +36 -0
- package/src/commands/fixtures/demo/.citable/claims.yaml +27 -0
- package/src/commands/fixtures/demo/.citable/competitors.yaml +3 -0
- package/src/commands/fixtures/demo/.citable/config.yaml +18 -0
- package/src/commands/fixtures/demo/.citable/crawlers.yaml +30 -0
- package/src/commands/fixtures/demo/.citable/entities.yaml +28 -0
- package/src/commands/fixtures/demo/.citable/evidence.yaml +19 -0
- package/src/commands/fixtures/demo/.citable/experiments.yaml +3 -0
- package/src/commands/fixtures/demo/.citable/pages.yaml +54 -0
- package/src/commands/fixtures/demo/.citable/prompts.yaml +11 -0
- package/src/commands/fixtures/demo/.citable/queries.yaml +10 -0
- package/src/commands/fixtures/demo/site/index.html +12 -0
- package/src/commands/fixtures/demo/site/learn/execution-governance/index.html +14 -0
- package/src/commands/fixtures/demo/site/pricing/index.html +10 -0
- package/src/commands/fixtures/demo/site/products/gatekeeper/index.html +15 -0
- package/src/commands/fixtures/demo/site/robots.txt +7 -0
- package/src/commands/fixtures/demo/site/sitemap.xml +7 -0
- package/src/commands/init.js +5 -2
- package/src/commands/observe.js +313 -15
- package/src/commands/planAudit.js +151 -0
- package/src/commands/schemaCmd.js +5 -1
- package/src/commands/substantiate.js +22 -10
- package/src/crawler/fetch.js +34 -6
- package/src/extractor/page.js +17 -0
- package/src/installer/index.js +282 -28
- package/src/installer/providers.js +11 -0
- package/src/observations/browserJourney.js +15 -7
- package/src/observations/claimDiff.js +83 -0
- package/src/observations/common.js +15 -0
- package/src/observations/entityGraph.js +89 -0
- package/src/observations/renderParity.js +49 -0
- package/src/observations/sourceIdentity.js +62 -0
- package/src/registries/seed.js +95 -0
- package/src/registries/seeds/saas-pricing/claims.yaml +18 -0
- package/src/registries/seeds/saas-pricing/entities.yaml +20 -0
- package/src/registries/seeds/saas-pricing/seed.json +6 -0
- 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>`
|
|
37
|
-
|
|
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.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"managedBy": "citable-cli",
|
|
5
5
|
"provider": "cursor",
|
|
6
6
|
"providerName": "Cursor",
|
|
7
7
|
"scope": "bundle",
|
|
8
|
-
"sourcePackage": "@nebulacomponents/citable@1.
|
|
8
|
+
"sourcePackage": "@nebulacomponents/citable@1.14.0",
|
|
9
9
|
"variantPath": ".cursor/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
|
-
"
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
77
|
-
"schemas/page.schema.json": "sha256:
|
|
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:
|
|
95
|
-
"SKILL.md": "sha256:
|
|
106
|
+
"scripts/README.md": "sha256:9eee4e8beb4579a183bd714c9dd24b83abd020753eada5caeffae004739d60b5",
|
|
107
|
+
"SKILL.md": "sha256:8211b720ae293517fb1d23260ab3d0d39d7228f20f442f6f642513c708cf1954",
|
|
96
108
|
"templates/finding-review.md": "sha256:b270a83d3f015150aac80249ae9314979c0befea39ff92ec455f9a5aaa73404c",
|
|
97
|
-
"VERSION": "sha256:
|
|
109
|
+
"VERSION": "sha256:bb0df1bd902faba507c15975eb9973e695f2732f760d851b4f9c7ba17068f5ff"
|
|
98
110
|
},
|
|
99
|
-
"treeHash": "sha256:
|
|
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
|
+
}
|