@nebulacomponents/citable 1.17.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/universal/.agents/skills/citable/SKILL.md +20 -1
  3. package/dist/universal/.agents/skills/citable/VERSION +1 -1
  4. package/dist/universal/.agents/skills/citable/manifest.json +6 -5
  5. package/dist/universal/.agents/skills/citable/schemas/sow.schema.json +92 -0
  6. package/dist/universal/.claude/agents/citable/manifest.json +2 -2
  7. package/dist/universal/.claude/skills/citable/SKILL.md +20 -1
  8. package/dist/universal/.claude/skills/citable/VERSION +1 -1
  9. package/dist/universal/.claude/skills/citable/manifest.json +6 -5
  10. package/dist/universal/.claude/skills/citable/schemas/sow.schema.json +92 -0
  11. package/dist/universal/.cursor/skills/citable/SKILL.md +20 -1
  12. package/dist/universal/.cursor/skills/citable/VERSION +1 -1
  13. package/dist/universal/.cursor/skills/citable/manifest.json +6 -5
  14. package/dist/universal/.cursor/skills/citable/schemas/sow.schema.json +92 -0
  15. package/dist/universal/.gemini/skills/citable/SKILL.md +20 -1
  16. package/dist/universal/.gemini/skills/citable/VERSION +1 -1
  17. package/dist/universal/.gemini/skills/citable/manifest.json +6 -5
  18. package/dist/universal/.gemini/skills/citable/schemas/sow.schema.json +92 -0
  19. package/dist/universal/.github/skills/citable/SKILL.md +20 -1
  20. package/dist/universal/.github/skills/citable/VERSION +1 -1
  21. package/dist/universal/.github/skills/citable/manifest.json +6 -5
  22. package/dist/universal/.github/skills/citable/schemas/sow.schema.json +92 -0
  23. package/dist/universal/.kiro/skills/citable/SKILL.md +20 -1
  24. package/dist/universal/.kiro/skills/citable/VERSION +1 -1
  25. package/dist/universal/.kiro/skills/citable/manifest.json +6 -5
  26. package/dist/universal/.kiro/skills/citable/schemas/sow.schema.json +92 -0
  27. package/dist/universal/.opencode/skills/citable/SKILL.md +20 -1
  28. package/dist/universal/.opencode/skills/citable/VERSION +1 -1
  29. package/dist/universal/.opencode/skills/citable/manifest.json +6 -5
  30. package/dist/universal/.opencode/skills/citable/schemas/sow.schema.json +92 -0
  31. package/dist/universal/.pi/agent/skills/citable/SKILL.md +20 -1
  32. package/dist/universal/.pi/agent/skills/citable/VERSION +1 -1
  33. package/dist/universal/.pi/agent/skills/citable/manifest.json +6 -5
  34. package/dist/universal/.pi/agent/skills/citable/schemas/sow.schema.json +92 -0
  35. package/dist/universal/.qoder/skills/citable/SKILL.md +20 -1
  36. package/dist/universal/.qoder/skills/citable/VERSION +1 -1
  37. package/dist/universal/.qoder/skills/citable/manifest.json +6 -5
  38. package/dist/universal/.qoder/skills/citable/schemas/sow.schema.json +92 -0
  39. package/dist/universal/.rovodev/skills/citable/SKILL.md +20 -1
  40. package/dist/universal/.rovodev/skills/citable/VERSION +1 -1
  41. package/dist/universal/.rovodev/skills/citable/manifest.json +6 -5
  42. package/dist/universal/.rovodev/skills/citable/schemas/sow.schema.json +92 -0
  43. package/dist/universal/.trae/skills/citable/SKILL.md +20 -1
  44. package/dist/universal/.trae/skills/citable/VERSION +1 -1
  45. package/dist/universal/.trae/skills/citable/manifest.json +6 -5
  46. package/dist/universal/.trae/skills/citable/schemas/sow.schema.json +92 -0
  47. package/dist/universal/.trae-cn/skills/citable/SKILL.md +20 -1
  48. package/dist/universal/.trae-cn/skills/citable/VERSION +1 -1
  49. package/dist/universal/.trae-cn/skills/citable/manifest.json +6 -5
  50. package/dist/universal/.trae-cn/skills/citable/schemas/sow.schema.json +92 -0
  51. package/dist/universal/manifest.json +76 -64
  52. package/package.json +1 -1
  53. package/schemas/sow.schema.json +92 -0
  54. package/skill/SKILL.md +20 -1
  55. package/src/analysis/behavioral.js +126 -0
  56. package/src/analysis/croAudit.js +302 -0
  57. package/src/analysis/croRoadmap.js +121 -0
  58. package/src/analysis/eeat.js +300 -0
  59. package/src/analysis/funnelAnalysis.js +171 -0
  60. package/src/analysis/iceMatrix.js +205 -0
  61. package/src/analysis/offpage.js +228 -0
  62. package/src/analysis/readiness.js +253 -0
  63. package/src/analysis/schemaRecommendations.js +173 -0
  64. package/src/analysis/strategicRoadmap.js +148 -0
  65. package/src/cli/index.js +149 -3
  66. package/src/commands/answerEngineReadiness.js +48 -0
  67. package/src/commands/auditBacklinks.js +79 -0
  68. package/src/commands/croBacklog.js +182 -0
  69. package/src/commands/croSuite.js +156 -0
  70. package/src/commands/executive.js +6 -0
  71. package/src/commands/executiveCro.js +30 -0
  72. package/src/commands/executiveSearch.js +28 -0
  73. package/src/commands/inspectCro.js +7 -0
  74. package/src/commands/inspectEeat.js +53 -0
  75. package/src/commands/prioritize.js +42 -6
  76. package/src/commands/roadmapCmd.js +69 -0
  77. package/src/commands/schemaCmd.js +10 -2
  78. package/src/commands/sowCmd.js +67 -0
  79. package/src/commands/sweep.js +357 -0
  80. package/src/reporting/executiveCroReport.js +731 -0
  81. package/src/reporting/executiveExport.js +62 -0
  82. package/src/reporting/executiveSearchReport.js +704 -0
  83. package/src/sow/admissibilityGate.js +194 -0
  84. package/src/sow/generateSow.js +762 -0
@@ -0,0 +1,92 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "citable://schemas/sow.schema.json",
4
+ "title": "Enterprise Statement of Work (SOW)",
5
+ "type": "object",
6
+ "required": [
7
+ "sow_id",
8
+ "version",
9
+ "title",
10
+ "client",
11
+ "supplier",
12
+ "effective_date",
13
+ "executive_scope",
14
+ "admissibility_gate",
15
+ "work_packages",
16
+ "deliverables",
17
+ "acceptance_criteria",
18
+ "traceability_matrix"
19
+ ],
20
+ "properties": {
21
+ "sow_id": { "type": "string" },
22
+ "version": { "type": "string" },
23
+ "title": { "type": "string" },
24
+ "client": {
25
+ "type": "object",
26
+ "required": ["name", "contact"],
27
+ "properties": {
28
+ "name": { "type": "string" },
29
+ "contact": { "type": "string" }
30
+ }
31
+ },
32
+ "supplier": {
33
+ "type": "object",
34
+ "required": ["name", "contact"],
35
+ "properties": {
36
+ "name": { "type": "string" },
37
+ "contact": { "type": "string" }
38
+ }
39
+ },
40
+ "effective_date": { "type": "string" },
41
+ "term_days": { "type": "integer" },
42
+ "executive_scope": {
43
+ "type": "object",
44
+ "required": ["business_objective", "in_scope_properties", "in_scope_systems"],
45
+ "properties": {
46
+ "business_objective": { "type": "string" },
47
+ "in_scope_properties": { "type": "array", "items": { "type": "string" } },
48
+ "in_scope_systems": { "type": "array", "items": { "type": "string" } },
49
+ "channels": { "type": "array", "items": { "type": "string" } },
50
+ "geographies": { "type": "array", "items": { "type": "string" } }
51
+ }
52
+ },
53
+ "admissibility_gate": {
54
+ "type": "object",
55
+ "required": ["total_findings_evaluated", "admitted_count", "refused_count"],
56
+ "properties": {
57
+ "total_findings_evaluated": { "type": "integer" },
58
+ "admitted_count": { "type": "integer" },
59
+ "refused_count": { "type": "integer" },
60
+ "refusal_log": { "type": "array" }
61
+ }
62
+ },
63
+ "work_packages": { "type": "array" },
64
+ "deliverables": { "type": "array" },
65
+ "acceptance_criteria": { "type": "array" },
66
+ "traceability_matrix": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "object",
70
+ "required": [
71
+ "finding_id",
72
+ "recommendation",
73
+ "sow_requirement_id",
74
+ "deliverable_id",
75
+ "acceptance_test_id",
76
+ "owner",
77
+ "evidence_id"
78
+ ],
79
+ "properties": {
80
+ "finding_id": { "type": "string" },
81
+ "recommendation": { "type": "string" },
82
+ "sow_requirement_id": { "type": "string" },
83
+ "work_package_id": { "type": "string" },
84
+ "deliverable_id": { "type": "string" },
85
+ "acceptance_test_id": { "type": "string" },
86
+ "owner": { "type": "string" },
87
+ "evidence_id": { "type": "string" }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
@@ -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.17.0
10
+ version: 1.18.0
11
11
  ---
12
12
 
13
13
  # Citable — evidence and change control for search and AI citation readiness
@@ -88,7 +88,13 @@ prefer running it over re-deriving its checks by hand:
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
90
  citable plan-audit --target <dir|url> [--base-url <url>]
91
+ citable sweep technical --target <dir|url> # Technical SEO sweep + Core Web Vitals metrics
91
92
  citable inspect <page> --target <dir|url>
93
+ citable inspect eeat <page> --target <dir|url> # On-page content analysis & 0-5 E-E-A-T score
94
+ citable inspect readiness <page> --target <dir|url> # Answer-engine readiness (Perplexity, Copilot, ChatGPT)
95
+ citable audit backlinks --input <file> # Off-page authority assessment & toxic domain identification
96
+ citable prioritize matrix [--run <run-id>] # Impact/Effort/Confidence (ICE) scoring matrix
97
+ citable roadmap [generate|show] # 30/90/180-day strategic milestone roadmap
92
98
  citable map-claims --target <dir|url> [--write]
93
99
  citable substantiate [--write]
94
100
  citable schema --target <dir|url>
@@ -109,6 +115,8 @@ citable monitor [runA runB] [--webhook <url>] [--min-severity <sev>] # observat
109
115
  citable report dashboard [--last N] [--since <run-id>] # cross-run evidence trend (Markdown + HTML)
110
116
  citable report share-of-voice [--last N] [--since <run-id>] # competitor citation share (Markdown + HTML)
111
117
  citable report consensus [--last N] [--since <run-id>] # canonical discovery consensus matrix (Markdown + HTML)
118
+ citable report search [--target <dir|url>] [--run <id>] [--format md|html|json] # Enterprise Search Intelligence Briefing (19 pillars, evidence-traceable)
119
+ citable report cro [--target <dir|url>] [--input <file>] [--format md|html|json] # Enterprise CRO & Journey Briefing (25 pillars: observations vs hypotheses vs causation)
112
120
  citable metrics import --provider <name> --input <csv|json>
113
121
  citable connect status
114
122
  citable connect configure --provider <gsc|ga4|wordpress|webflow> --connection-id <id> --property-id <id> [--credential-env <name>] [--write]
@@ -143,6 +151,15 @@ citable artifacts export <run-id> --output <directory>
143
151
  citable artifacts verify --input <directory>
144
152
  citable artifacts import --input <directory>
145
153
  citable inspect cro <page> --target <dir|url> # CRO readiness: CTAs, forms, payment-wallet vs authentication readiness, modeled saliency indices
154
+ citable cro [--target <dir|url>] [--funnel <id>] # Full CRO intelligence suite: funnel, ATF clarity, trust, cognitive load, ICE matrix, roadmap
155
+ citable cro backlog [--target <dir|url>] # Prioritized A/B experiment backlog with falsifiable hypotheses & guardrails
156
+ citable cro roadmap [--target <dir|url>] # 30/90/180-day CRO strategic roadmap tied to measurable conversion outcomes
157
+ citable sweep technical [--target <dir|url>] # Technical SEO sweep with Core Web Vitals readiness metrics (LCP, INP, CLS)
158
+ citable inspect eeat <page> --target <dir|url> # On-page E-E-A-T evaluation on a 0-5 rubric scale
159
+ citable inspect readiness <page> --target <dir|url> # Answer-engine readiness across Perplexity, Bing Copilot, ChatGPT
160
+ citable audit backlinks --input <backlinks.json> # Off-page authority assessment and toxic domain identification
161
+ citable prioritize matrix # Impact/Effort/Confidence (ICE) scoring matrix for findings & roadmap
162
+ citable roadmap strategic # 30/90/180-day strategic milestone horizons with KPI linkages
146
163
  citable preview cro <page> [--export <file.html>] # split-screen before/remediated sandbox (layout-contract checked; accessibility-aware)
147
164
  citable remediate --finding <id> [--target <file>] [--write] # production-safe patch: framework detection, unified diff, static validation, confidence gate, rollback snapshot; semantic copy changes always refuse automated write
148
165
  citable verify remediation --run <run-id> --finding <id> [--target <file>] [--apply] # closed loop: re-run the detector and emit a before/after evidence bundle (schema remediation-verification)
@@ -150,6 +167,8 @@ citable verify page <page> --target <dir|url> # all detectors scoped to one pa
150
167
  citable check experiment <id> [--observed-control N --observed-variant N --days-running N] # SRM, stopping, power, contamination; lifecycle: planned|running|inconclusive|validated
151
168
  citable compatibility # Node engine, optional adapters, browser, framework, registries, edge size limits
152
169
  citable kit export --run <run-id> --finding <id> [--target <file>] # customer-ready implementation kit (finding, diff, evidence, acceptance tests, deployment, limitations)
170
+ citable sow generate [--target <dir|url>] [--budget <amount>] [--format md|html|json] [--output <path>] # Enterprise SOW from findings with 6-gate admissibility & 7-column traceability
171
+ citable sow validate <sow.json> # Validate SOW schema, admissibility gates, and complete traceability matrix
153
172
  ```
154
173
 
155
174
  Audit scopes: `technical seo aeo geo architecture entity claims evidence schema
@@ -1 +1 @@
1
- 1.17.0
1
+ 1.18.0
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "citable",
3
- "version": "1.17.0",
3
+ "version": "1.18.0",
4
4
  "managedBy": "citable-cli",
5
5
  "provider": "trae",
6
6
  "providerName": "Trae",
7
7
  "scope": "bundle",
8
- "sourcePackage": "@nebulacomponents/citable@1.17.0",
8
+ "sourcePackage": "@nebulacomponents/citable@1.18.0",
9
9
  "variantPath": ".trae/skills/citable",
10
10
  "agentProfiles": {
11
11
  "status": "unsupported",
@@ -108,11 +108,12 @@
108
108
  "schemas/scenario.schema.json": "sha256:3f5bc2032d08f973600db068f475176a0e4706b33be42f99c778fe755a0ff38b",
109
109
  "schemas/schedule.schema.json": "sha256:645df065bf33577a960c0bf8bb97e141e9326840303569468dae8a553d468482",
110
110
  "schemas/source-identity-chain.schema.json": "sha256:a65d9c12eaed1bd6b637c66a2f9362c17287fdfcb454d8676fb611d2d28aa019",
111
+ "schemas/sow.schema.json": "sha256:467b5f523773b4d459eeba33bf4b3445307be27058c590c0df49208956a0a2d2",
111
112
  "schemas/variance.schema.json": "sha256:68389f64f0a3be13ff8951e8eefba9a5c31d0738325cb47e37c1a8435bea48f0",
112
113
  "scripts/README.md": "sha256:9eee4e8beb4579a183bd714c9dd24b83abd020753eada5caeffae004739d60b5",
113
- "SKILL.md": "sha256:f39e0863bbcaf178c46afed4ae95834451d96e6b1d07af3883733de707e692ea",
114
+ "SKILL.md": "sha256:fd34736c74771cf9375995f1e69ecd2ceda3a94042d80bb0efd6675b0a5ebc8f",
114
115
  "templates/finding-review.md": "sha256:b270a83d3f015150aac80249ae9314979c0befea39ff92ec455f9a5aaa73404c",
115
- "VERSION": "sha256:00afc49f1599e59129a59b64c2b019de3fe35300c05bb9d96cb25002576ff43b"
116
+ "VERSION": "sha256:04d659518a1793d5396007fcabdc9211a8c1db8406bf4e0fa8069171fdb06518"
116
117
  },
117
- "treeHash": "sha256:e4c2165da7ae3106c3bfa358445d2e51dd974f656d058bc03f22fd0604d2d4b3"
118
+ "treeHash": "sha256:06dcedfde2429241e5714c6e5f0ddee25dc03c53435083a1c0cc3362abdcfdb3"
118
119
  }
@@ -0,0 +1,92 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "citable://schemas/sow.schema.json",
4
+ "title": "Enterprise Statement of Work (SOW)",
5
+ "type": "object",
6
+ "required": [
7
+ "sow_id",
8
+ "version",
9
+ "title",
10
+ "client",
11
+ "supplier",
12
+ "effective_date",
13
+ "executive_scope",
14
+ "admissibility_gate",
15
+ "work_packages",
16
+ "deliverables",
17
+ "acceptance_criteria",
18
+ "traceability_matrix"
19
+ ],
20
+ "properties": {
21
+ "sow_id": { "type": "string" },
22
+ "version": { "type": "string" },
23
+ "title": { "type": "string" },
24
+ "client": {
25
+ "type": "object",
26
+ "required": ["name", "contact"],
27
+ "properties": {
28
+ "name": { "type": "string" },
29
+ "contact": { "type": "string" }
30
+ }
31
+ },
32
+ "supplier": {
33
+ "type": "object",
34
+ "required": ["name", "contact"],
35
+ "properties": {
36
+ "name": { "type": "string" },
37
+ "contact": { "type": "string" }
38
+ }
39
+ },
40
+ "effective_date": { "type": "string" },
41
+ "term_days": { "type": "integer" },
42
+ "executive_scope": {
43
+ "type": "object",
44
+ "required": ["business_objective", "in_scope_properties", "in_scope_systems"],
45
+ "properties": {
46
+ "business_objective": { "type": "string" },
47
+ "in_scope_properties": { "type": "array", "items": { "type": "string" } },
48
+ "in_scope_systems": { "type": "array", "items": { "type": "string" } },
49
+ "channels": { "type": "array", "items": { "type": "string" } },
50
+ "geographies": { "type": "array", "items": { "type": "string" } }
51
+ }
52
+ },
53
+ "admissibility_gate": {
54
+ "type": "object",
55
+ "required": ["total_findings_evaluated", "admitted_count", "refused_count"],
56
+ "properties": {
57
+ "total_findings_evaluated": { "type": "integer" },
58
+ "admitted_count": { "type": "integer" },
59
+ "refused_count": { "type": "integer" },
60
+ "refusal_log": { "type": "array" }
61
+ }
62
+ },
63
+ "work_packages": { "type": "array" },
64
+ "deliverables": { "type": "array" },
65
+ "acceptance_criteria": { "type": "array" },
66
+ "traceability_matrix": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "object",
70
+ "required": [
71
+ "finding_id",
72
+ "recommendation",
73
+ "sow_requirement_id",
74
+ "deliverable_id",
75
+ "acceptance_test_id",
76
+ "owner",
77
+ "evidence_id"
78
+ ],
79
+ "properties": {
80
+ "finding_id": { "type": "string" },
81
+ "recommendation": { "type": "string" },
82
+ "sow_requirement_id": { "type": "string" },
83
+ "work_package_id": { "type": "string" },
84
+ "deliverable_id": { "type": "string" },
85
+ "acceptance_test_id": { "type": "string" },
86
+ "owner": { "type": "string" },
87
+ "evidence_id": { "type": "string" }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
@@ -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.17.0
10
+ version: 1.18.0
11
11
  ---
12
12
 
13
13
  # Citable — evidence and change control for search and AI citation readiness
@@ -88,7 +88,13 @@ prefer running it over re-deriving its checks by hand:
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
90
  citable plan-audit --target <dir|url> [--base-url <url>]
91
+ citable sweep technical --target <dir|url> # Technical SEO sweep + Core Web Vitals metrics
91
92
  citable inspect <page> --target <dir|url>
93
+ citable inspect eeat <page> --target <dir|url> # On-page content analysis & 0-5 E-E-A-T score
94
+ citable inspect readiness <page> --target <dir|url> # Answer-engine readiness (Perplexity, Copilot, ChatGPT)
95
+ citable audit backlinks --input <file> # Off-page authority assessment & toxic domain identification
96
+ citable prioritize matrix [--run <run-id>] # Impact/Effort/Confidence (ICE) scoring matrix
97
+ citable roadmap [generate|show] # 30/90/180-day strategic milestone roadmap
92
98
  citable map-claims --target <dir|url> [--write]
93
99
  citable substantiate [--write]
94
100
  citable schema --target <dir|url>
@@ -109,6 +115,8 @@ citable monitor [runA runB] [--webhook <url>] [--min-severity <sev>] # observat
109
115
  citable report dashboard [--last N] [--since <run-id>] # cross-run evidence trend (Markdown + HTML)
110
116
  citable report share-of-voice [--last N] [--since <run-id>] # competitor citation share (Markdown + HTML)
111
117
  citable report consensus [--last N] [--since <run-id>] # canonical discovery consensus matrix (Markdown + HTML)
118
+ citable report search [--target <dir|url>] [--run <id>] [--format md|html|json] # Enterprise Search Intelligence Briefing (19 pillars, evidence-traceable)
119
+ citable report cro [--target <dir|url>] [--input <file>] [--format md|html|json] # Enterprise CRO & Journey Briefing (25 pillars: observations vs hypotheses vs causation)
112
120
  citable metrics import --provider <name> --input <csv|json>
113
121
  citable connect status
114
122
  citable connect configure --provider <gsc|ga4|wordpress|webflow> --connection-id <id> --property-id <id> [--credential-env <name>] [--write]
@@ -143,6 +151,15 @@ citable artifacts export <run-id> --output <directory>
143
151
  citable artifacts verify --input <directory>
144
152
  citable artifacts import --input <directory>
145
153
  citable inspect cro <page> --target <dir|url> # CRO readiness: CTAs, forms, payment-wallet vs authentication readiness, modeled saliency indices
154
+ citable cro [--target <dir|url>] [--funnel <id>] # Full CRO intelligence suite: funnel, ATF clarity, trust, cognitive load, ICE matrix, roadmap
155
+ citable cro backlog [--target <dir|url>] # Prioritized A/B experiment backlog with falsifiable hypotheses & guardrails
156
+ citable cro roadmap [--target <dir|url>] # 30/90/180-day CRO strategic roadmap tied to measurable conversion outcomes
157
+ citable sweep technical [--target <dir|url>] # Technical SEO sweep with Core Web Vitals readiness metrics (LCP, INP, CLS)
158
+ citable inspect eeat <page> --target <dir|url> # On-page E-E-A-T evaluation on a 0-5 rubric scale
159
+ citable inspect readiness <page> --target <dir|url> # Answer-engine readiness across Perplexity, Bing Copilot, ChatGPT
160
+ citable audit backlinks --input <backlinks.json> # Off-page authority assessment and toxic domain identification
161
+ citable prioritize matrix # Impact/Effort/Confidence (ICE) scoring matrix for findings & roadmap
162
+ citable roadmap strategic # 30/90/180-day strategic milestone horizons with KPI linkages
146
163
  citable preview cro <page> [--export <file.html>] # split-screen before/remediated sandbox (layout-contract checked; accessibility-aware)
147
164
  citable remediate --finding <id> [--target <file>] [--write] # production-safe patch: framework detection, unified diff, static validation, confidence gate, rollback snapshot; semantic copy changes always refuse automated write
148
165
  citable verify remediation --run <run-id> --finding <id> [--target <file>] [--apply] # closed loop: re-run the detector and emit a before/after evidence bundle (schema remediation-verification)
@@ -150,6 +167,8 @@ citable verify page <page> --target <dir|url> # all detectors scoped to one pa
150
167
  citable check experiment <id> [--observed-control N --observed-variant N --days-running N] # SRM, stopping, power, contamination; lifecycle: planned|running|inconclusive|validated
151
168
  citable compatibility # Node engine, optional adapters, browser, framework, registries, edge size limits
152
169
  citable kit export --run <run-id> --finding <id> [--target <file>] # customer-ready implementation kit (finding, diff, evidence, acceptance tests, deployment, limitations)
170
+ citable sow generate [--target <dir|url>] [--budget <amount>] [--format md|html|json] [--output <path>] # Enterprise SOW from findings with 6-gate admissibility & 7-column traceability
171
+ citable sow validate <sow.json> # Validate SOW schema, admissibility gates, and complete traceability matrix
153
172
  ```
154
173
 
155
174
  Audit scopes: `technical seo aeo geo architecture entity claims evidence schema
@@ -1 +1 @@
1
- 1.17.0
1
+ 1.18.0
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "citable",
3
- "version": "1.17.0",
3
+ "version": "1.18.0",
4
4
  "managedBy": "citable-cli",
5
5
  "provider": "trae-cn",
6
6
  "providerName": "Trae CN",
7
7
  "scope": "bundle",
8
- "sourcePackage": "@nebulacomponents/citable@1.17.0",
8
+ "sourcePackage": "@nebulacomponents/citable@1.18.0",
9
9
  "variantPath": ".trae-cn/skills/citable",
10
10
  "agentProfiles": {
11
11
  "status": "unsupported",
@@ -108,11 +108,12 @@
108
108
  "schemas/scenario.schema.json": "sha256:3f5bc2032d08f973600db068f475176a0e4706b33be42f99c778fe755a0ff38b",
109
109
  "schemas/schedule.schema.json": "sha256:645df065bf33577a960c0bf8bb97e141e9326840303569468dae8a553d468482",
110
110
  "schemas/source-identity-chain.schema.json": "sha256:a65d9c12eaed1bd6b637c66a2f9362c17287fdfcb454d8676fb611d2d28aa019",
111
+ "schemas/sow.schema.json": "sha256:467b5f523773b4d459eeba33bf4b3445307be27058c590c0df49208956a0a2d2",
111
112
  "schemas/variance.schema.json": "sha256:68389f64f0a3be13ff8951e8eefba9a5c31d0738325cb47e37c1a8435bea48f0",
112
113
  "scripts/README.md": "sha256:9eee4e8beb4579a183bd714c9dd24b83abd020753eada5caeffae004739d60b5",
113
- "SKILL.md": "sha256:f39e0863bbcaf178c46afed4ae95834451d96e6b1d07af3883733de707e692ea",
114
+ "SKILL.md": "sha256:fd34736c74771cf9375995f1e69ecd2ceda3a94042d80bb0efd6675b0a5ebc8f",
114
115
  "templates/finding-review.md": "sha256:b270a83d3f015150aac80249ae9314979c0befea39ff92ec455f9a5aaa73404c",
115
- "VERSION": "sha256:00afc49f1599e59129a59b64c2b019de3fe35300c05bb9d96cb25002576ff43b"
116
+ "VERSION": "sha256:04d659518a1793d5396007fcabdc9211a8c1db8406bf4e0fa8069171fdb06518"
116
117
  },
117
- "treeHash": "sha256:e4c2165da7ae3106c3bfa358445d2e51dd974f656d058bc03f22fd0604d2d4b3"
118
+ "treeHash": "sha256:06dcedfde2429241e5714c6e5f0ddee25dc03c53435083a1c0cc3362abdcfdb3"
118
119
  }
@@ -0,0 +1,92 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "citable://schemas/sow.schema.json",
4
+ "title": "Enterprise Statement of Work (SOW)",
5
+ "type": "object",
6
+ "required": [
7
+ "sow_id",
8
+ "version",
9
+ "title",
10
+ "client",
11
+ "supplier",
12
+ "effective_date",
13
+ "executive_scope",
14
+ "admissibility_gate",
15
+ "work_packages",
16
+ "deliverables",
17
+ "acceptance_criteria",
18
+ "traceability_matrix"
19
+ ],
20
+ "properties": {
21
+ "sow_id": { "type": "string" },
22
+ "version": { "type": "string" },
23
+ "title": { "type": "string" },
24
+ "client": {
25
+ "type": "object",
26
+ "required": ["name", "contact"],
27
+ "properties": {
28
+ "name": { "type": "string" },
29
+ "contact": { "type": "string" }
30
+ }
31
+ },
32
+ "supplier": {
33
+ "type": "object",
34
+ "required": ["name", "contact"],
35
+ "properties": {
36
+ "name": { "type": "string" },
37
+ "contact": { "type": "string" }
38
+ }
39
+ },
40
+ "effective_date": { "type": "string" },
41
+ "term_days": { "type": "integer" },
42
+ "executive_scope": {
43
+ "type": "object",
44
+ "required": ["business_objective", "in_scope_properties", "in_scope_systems"],
45
+ "properties": {
46
+ "business_objective": { "type": "string" },
47
+ "in_scope_properties": { "type": "array", "items": { "type": "string" } },
48
+ "in_scope_systems": { "type": "array", "items": { "type": "string" } },
49
+ "channels": { "type": "array", "items": { "type": "string" } },
50
+ "geographies": { "type": "array", "items": { "type": "string" } }
51
+ }
52
+ },
53
+ "admissibility_gate": {
54
+ "type": "object",
55
+ "required": ["total_findings_evaluated", "admitted_count", "refused_count"],
56
+ "properties": {
57
+ "total_findings_evaluated": { "type": "integer" },
58
+ "admitted_count": { "type": "integer" },
59
+ "refused_count": { "type": "integer" },
60
+ "refusal_log": { "type": "array" }
61
+ }
62
+ },
63
+ "work_packages": { "type": "array" },
64
+ "deliverables": { "type": "array" },
65
+ "acceptance_criteria": { "type": "array" },
66
+ "traceability_matrix": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "object",
70
+ "required": [
71
+ "finding_id",
72
+ "recommendation",
73
+ "sow_requirement_id",
74
+ "deliverable_id",
75
+ "acceptance_test_id",
76
+ "owner",
77
+ "evidence_id"
78
+ ],
79
+ "properties": {
80
+ "finding_id": { "type": "string" },
81
+ "recommendation": { "type": "string" },
82
+ "sow_requirement_id": { "type": "string" },
83
+ "work_package_id": { "type": "string" },
84
+ "deliverable_id": { "type": "string" },
85
+ "acceptance_test_id": { "type": "string" },
86
+ "owner": { "type": "string" },
87
+ "evidence_id": { "type": "string" }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }