@nebulacomponents/citable 1.13.1 → 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 +246 -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/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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nebulacomponents/citable",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"description": "Production-grade SEO, AEO, and GEO agent skill with auditable detection, claim governance, evidence validation, and multi-agent installation.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"seo",
|
|
@@ -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
|
+
}
|
package/schemas/common.defs.json
CHANGED
|
@@ -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"] },
|
package/schemas/page.schema.json
CHANGED
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "citable://schemas/source-identity-chain.schema.json",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Page source identity chain",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["version", "pages", "limitations"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"version": { "const": 1 },
|
|
10
|
+
"pages": {
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"required": ["page_id", "url", "publisher", "authors", "content_owner", "factual_reviewer", "evidence_owners", "correction_path", "status", "missing_fields"],
|
|
16
|
+
"properties": {
|
|
17
|
+
"page_id": { "type": "string", "minLength": 1 },
|
|
18
|
+
"url": { "type": "string", "minLength": 1 },
|
|
19
|
+
"publisher": {
|
|
20
|
+
"oneOf": [
|
|
21
|
+
{ "type": "null" },
|
|
22
|
+
{ "$ref": "#/definitions/publisher" }
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"authors": { "type": "array", "items": { "$ref": "#/definitions/author" } },
|
|
26
|
+
"content_owner": { "type": ["string", "null"] },
|
|
27
|
+
"factual_reviewer": { "type": ["string", "null"] },
|
|
28
|
+
"evidence_owners": { "type": "array", "items": { "$ref": "#/definitions/evidenceOwner" } },
|
|
29
|
+
"correction_path": { "type": ["string", "null"] },
|
|
30
|
+
"status": { "type": "string", "enum": ["complete", "incomplete"] },
|
|
31
|
+
"missing_fields": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"limitations": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } }
|
|
36
|
+
},
|
|
37
|
+
"definitions": {
|
|
38
|
+
"publisher": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"additionalProperties": false,
|
|
41
|
+
"required": ["entity_id", "name", "canonical_url", "status"],
|
|
42
|
+
"properties": {
|
|
43
|
+
"entity_id": { "type": "string", "minLength": 1 },
|
|
44
|
+
"name": { "type": "string", "minLength": 1 },
|
|
45
|
+
"canonical_url": { "type": ["string", "null"] },
|
|
46
|
+
"status": { "type": "string", "minLength": 1 }
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"author": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"additionalProperties": false,
|
|
52
|
+
"required": ["entity_id", "name", "canonical_url", "affiliations", "status"],
|
|
53
|
+
"properties": {
|
|
54
|
+
"entity_id": { "type": "string", "minLength": 1 },
|
|
55
|
+
"name": { "type": ["string", "null"] },
|
|
56
|
+
"canonical_url": { "type": ["string", "null"] },
|
|
57
|
+
"affiliations": { "type": "array", "items": { "$ref": "#/definitions/affiliation" } },
|
|
58
|
+
"status": { "type": "string", "minLength": 1 }
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"affiliation": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"additionalProperties": false,
|
|
64
|
+
"required": ["entity_id", "relationship", "disclosure_status", "entity_name"],
|
|
65
|
+
"properties": {
|
|
66
|
+
"entity_id": { "type": "string", "minLength": 1 },
|
|
67
|
+
"relationship": { "type": "string", "minLength": 1 },
|
|
68
|
+
"disclosure_status": { "type": "string", "minLength": 1 },
|
|
69
|
+
"entity_name": { "type": ["string", "null"] }
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"evidenceOwner": {
|
|
73
|
+
"type": "object",
|
|
74
|
+
"additionalProperties": false,
|
|
75
|
+
"required": ["evidence_id", "owner", "verification_status"],
|
|
76
|
+
"properties": {
|
|
77
|
+
"evidence_id": { "type": "string", "minLength": 1 },
|
|
78
|
+
"owner": { "type": ["string", "null"] },
|
|
79
|
+
"verification_status": { "type": "string", "minLength": 1 }
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
package/scripts/build-dist.js
CHANGED
|
@@ -17,6 +17,7 @@ import { PROVIDERS, PROVIDER_IDS } from '../src/installer/providers.js';
|
|
|
17
17
|
|
|
18
18
|
const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
19
19
|
const SKILL = path.join(ROOT, 'skill');
|
|
20
|
+
const AGENT_PROFILES = path.join(SKILL, 'agents');
|
|
20
21
|
const SCHEMAS = path.join(ROOT, 'schemas');
|
|
21
22
|
const DIST = path.join(ROOT, 'dist');
|
|
22
23
|
const UNIVERSAL = path.join(DIST, 'universal');
|
|
@@ -77,7 +78,34 @@ function hashTree(dir, exclude = new Set()) {
|
|
|
77
78
|
return { files, treeHash };
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
function
|
|
81
|
+
function buildAgentProfiles(providerId) {
|
|
82
|
+
if (providerId !== 'claude') {
|
|
83
|
+
return {
|
|
84
|
+
status: 'unsupported',
|
|
85
|
+
reason: 'native agent profile discovery and permission contract not verified for this host',
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
const profileDir = path.join(UNIVERSAL, '.claude', 'agents', 'citable');
|
|
89
|
+
copyDir(AGENT_PROFILES, profileDir);
|
|
90
|
+
const tree = hashTree(profileDir);
|
|
91
|
+
writeFile(path.join(profileDir, 'manifest.json'), `${JSON.stringify({
|
|
92
|
+
name: 'citable-agent-profiles',
|
|
93
|
+
version: pkg.version,
|
|
94
|
+
managedBy: 'citable-cli',
|
|
95
|
+
provider: providerId,
|
|
96
|
+
sourcePackage: `${pkg.name}@${pkg.version}`,
|
|
97
|
+
files: tree.files,
|
|
98
|
+
treeHash: tree.treeHash,
|
|
99
|
+
}, null, 2)}\n`);
|
|
100
|
+
return {
|
|
101
|
+
status: 'available',
|
|
102
|
+
path: '.claude/agents/citable',
|
|
103
|
+
files: tree.files,
|
|
104
|
+
treeHash: tree.treeHash,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function buildSkillTree(providerId, agentProfiles) {
|
|
81
109
|
const provider = PROVIDERS[providerId];
|
|
82
110
|
const skillDir = path.join(UNIVERSAL, provider.projectSkillsDir, 'citable');
|
|
83
111
|
copyDir(SKILL, skillDir);
|
|
@@ -85,7 +113,9 @@ function buildSkillTree(providerId) {
|
|
|
85
113
|
writeFile(path.join(skillDir, 'scripts', 'README.md'), `# Citable skill scripts
|
|
86
114
|
|
|
87
115
|
This directory is part of the installed Citable skill payload. The initial
|
|
88
|
-
installer
|
|
116
|
+
installer adds only verified provider agent profiles declared by the bundle
|
|
117
|
+
manifest. It does not add hooks, MCP configuration, telemetry, or unrelated
|
|
118
|
+
agent settings.
|
|
89
119
|
`);
|
|
90
120
|
writeFile(path.join(skillDir, 'VERSION'), `${pkg.version}\n`);
|
|
91
121
|
writeFile(path.join(skillDir, 'manifest.json'), `${JSON.stringify({
|
|
@@ -96,6 +126,7 @@ installer does not add provider hooks or sidecar configuration.
|
|
|
96
126
|
providerName: provider.displayName,
|
|
97
127
|
scope: 'bundle',
|
|
98
128
|
sourcePackage: `${pkg.name}@${pkg.version}`,
|
|
129
|
+
agentProfiles,
|
|
99
130
|
files: {},
|
|
100
131
|
treeHash: null,
|
|
101
132
|
}, null, 2)}\n`);
|
|
@@ -109,6 +140,7 @@ installer does not add provider hooks or sidecar configuration.
|
|
|
109
140
|
scope: 'bundle',
|
|
110
141
|
sourcePackage: `${pkg.name}@${pkg.version}`,
|
|
111
142
|
variantPath: toPosix(path.relative(UNIVERSAL, skillDir)),
|
|
143
|
+
agentProfiles,
|
|
112
144
|
files: tree.files,
|
|
113
145
|
treeHash: tree.treeHash,
|
|
114
146
|
}, null, 2)}\n`);
|
|
@@ -126,7 +158,8 @@ fs.mkdirSync(UNIVERSAL, { recursive: true });
|
|
|
126
158
|
|
|
127
159
|
const providers = {};
|
|
128
160
|
for (const providerId of PROVIDER_IDS) {
|
|
129
|
-
|
|
161
|
+
const agentProfiles = buildAgentProfiles(providerId);
|
|
162
|
+
providers[providerId] = buildSkillTree(providerId, agentProfiles);
|
|
130
163
|
console.error(`built dist/universal/${providers[providerId].path} (${providers[providerId].files} files)`);
|
|
131
164
|
}
|
|
132
165
|
|
package/skill/SKILL.md
CHANGED
|
@@ -7,7 +7,7 @@ description: >
|
|
|
7
7
|
generative engine optimization, structured data governance, claim substantiation,
|
|
8
8
|
crawler policy, entity consistency, content discoverability, or wants a site audited
|
|
9
9
|
for how search and AI systems will retrieve, understand, cite, or recommend it.
|
|
10
|
-
version: 1.
|
|
10
|
+
version: 1.14.0
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Citable — evidence and change control for search and AI citation readiness
|
|
@@ -87,6 +87,7 @@ prefer running it over re-deriving its checks by hand:
|
|
|
87
87
|
```
|
|
88
88
|
citable init # initialize .citable/ (non-destructive)
|
|
89
89
|
citable audit [scope] --target <dir|url> [--base-url <url>] [--ref-date YYYY-MM-DD]
|
|
90
|
+
citable plan-audit --target <dir|url> [--base-url <url>]
|
|
90
91
|
citable inspect <page> --target <dir|url>
|
|
91
92
|
citable map-claims --target <dir|url> [--write]
|
|
92
93
|
citable substantiate [--write]
|
|
@@ -94,8 +95,10 @@ citable schema --target <dir|url>
|
|
|
94
95
|
citable validate [registries|claims|evidence|schema|links]
|
|
95
96
|
citable compare-snapshots [runA runB]
|
|
96
97
|
citable action-plan [run-id] # ordered actions, blockers, semantic gates, verification
|
|
97
|
-
citable observe <mode> [options] # render/index/citation/log/passage/consensus/performance evidence
|
|
98
|
+
citable observe <mode> [options] # render/index/citation/log/probe/passage/consensus/performance evidence
|
|
98
99
|
citable observe bing --dataset <search_performance|ai_performance> --input <csv|json>
|
|
100
|
+
citable observe probes --target <url> [--region <label>]
|
|
101
|
+
citable observe network --input <regional-network-import.json>
|
|
99
102
|
citable observe render --target <url> [--interactions] [--resume-run <run-id>]
|
|
100
103
|
citable observe render --input <browser-evidence-plan.json>
|
|
101
104
|
citable observe performance --target <url> --lighthouse [--repeat 1..5]
|
|
@@ -134,8 +137,14 @@ citable artifacts import --input <directory>
|
|
|
134
137
|
Audit scopes: `technical seo aeo geo architecture entity claims evidence schema
|
|
135
138
|
lifecycle corroboration`. Every audit writes an evidence package to
|
|
136
139
|
`.citable/runs/<run-id>/` (manifest, findings.json, report.md, headers, robots,
|
|
137
|
-
sitemaps,
|
|
138
|
-
|
|
140
|
+
sitemaps, raw JSON-LD, normalized entity graph, link graph, checksums). The
|
|
141
|
+
entity graph preserves declared nodes, relations, unresolved references, parse
|
|
142
|
+
failures, and literal visible-text support; it does not prove semantic
|
|
143
|
+
correctness or search-engine recognition. The source identity-chain artifact
|
|
144
|
+
joins declared publisher, author affiliations, content owner, factual reviewer,
|
|
145
|
+
evidence owner, and correction path while preserving missing links. Registry
|
|
146
|
+
linkage does not prove that disclosures are visible, current, or independent.
|
|
147
|
+
A report without its evidence package is not a deliverable.
|
|
139
148
|
|
|
140
149
|
## Finding-to-action protocol
|
|
141
150
|
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: citable-auditor
|
|
3
|
+
description: Run a Citable audit or evidence collection when the user needs a plan, immutable or sealed run, observation, capability diagnosis, or evidence-bounded summary. Not for semantic approval, source remediation, content rewriting, or claims that an outcome is guaranteed.
|
|
4
|
+
tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Glob
|
|
7
|
+
- Grep
|
|
8
|
+
- Bash
|
|
9
|
+
model: inherit
|
|
10
|
+
maxTurns: 20
|
|
11
|
+
skills:
|
|
12
|
+
- citable
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
You are Citable's evidence-collection specialist. Establish what the target
|
|
16
|
+
makes observable, what the selected method could not collect, and where the
|
|
17
|
+
resulting immutable evidence package lives.
|
|
18
|
+
|
|
19
|
+
## Authority boundary
|
|
20
|
+
|
|
21
|
+
- You may run the Citable CLI and read its artifacts.
|
|
22
|
+
- Never edit the audited property, its source, its registries, or an existing
|
|
23
|
+
run package.
|
|
24
|
+
- Do not use `curl`, `wget`, raw browser automation, or ad hoc HTTP clients.
|
|
25
|
+
Network collection must go through the applicable guarded Citable command.
|
|
26
|
+
- Do not run `citable apply`, use `--write`, or create implementation facts.
|
|
27
|
+
- Do not infer crawling, indexing, ranking, citation, recommendation,
|
|
28
|
+
inclusion, sentiment, or conversion outcomes.
|
|
29
|
+
|
|
30
|
+
## Workflow
|
|
31
|
+
|
|
32
|
+
1. Read repository instructions and identify the target and requested evidence
|
|
33
|
+
question.
|
|
34
|
+
2. Run `citable doctor` when optional browser, API, OCR, or lab capability is
|
|
35
|
+
relevant. Treat `ready` as prerequisite presence only.
|
|
36
|
+
3. Run `citable plan-audit --target <target>` when the appropriate scopes or
|
|
37
|
+
collectors are not already explicit. The plan is not evidence.
|
|
38
|
+
4. Run `citable audit [scope] --target <target>` for deterministic and
|
|
39
|
+
heuristic site findings. Preserve the full audit unless the user explicitly
|
|
40
|
+
requested a scope.
|
|
41
|
+
5. Run only the relevant `citable observe <mode>` commands for external or
|
|
42
|
+
rendered observations. Preserve provider, method, authority, authenticity,
|
|
43
|
+
collection, and representativeness boundaries.
|
|
44
|
+
6. Read the run manifest, findings, summary, warnings, incomplete state, and
|
|
45
|
+
checksums before reporting.
|
|
46
|
+
|
|
47
|
+
If prerequisites, authorization, source facts, or required inputs are absent,
|
|
48
|
+
preserve `blocked`, `incomplete`, `not_established`, or `not_evidenced`.
|
|
49
|
+
Never translate one of those states into zero, pass, absence, or failure of the
|
|
50
|
+
external system.
|
|
51
|
+
|
|
52
|
+
## Return contract
|
|
53
|
+
|
|
54
|
+
Report:
|
|
55
|
+
|
|
56
|
+
1. target, command, scope, and collection method;
|
|
57
|
+
2. run ID and artifact directory;
|
|
58
|
+
3. deterministic observations;
|
|
59
|
+
4. evidence-backed semantic findings and probabilistic inferences, separately;
|
|
60
|
+
5. skipped checks, collection failures, limitations, and residual unknowns;
|
|
61
|
+
6. exact next evidence or owner input required;
|
|
62
|
+
7. whether semantic review or a governed action plan is the next bounded step.
|
|
63
|
+
|
|
64
|
+
A human-readable report without its run package is not a deliverable.
|