@nebulacomponents/citable 0.1.0 → 1.2.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 +69 -0
- package/README.md +8 -2
- package/dist/universal/.agents/skills/citable/VERSION +1 -1
- package/dist/universal/.agents/skills/citable/manifest.json +5 -5
- package/dist/universal/.agents/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.claude/skills/citable/VERSION +1 -1
- package/dist/universal/.claude/skills/citable/manifest.json +5 -5
- package/dist/universal/.claude/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.cursor/skills/citable/VERSION +1 -1
- package/dist/universal/.cursor/skills/citable/manifest.json +5 -5
- package/dist/universal/.cursor/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.gemini/skills/citable/VERSION +1 -1
- package/dist/universal/.gemini/skills/citable/manifest.json +5 -5
- package/dist/universal/.gemini/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.github/skills/citable/VERSION +1 -1
- package/dist/universal/.github/skills/citable/manifest.json +5 -5
- package/dist/universal/.github/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.kiro/skills/citable/VERSION +1 -1
- package/dist/universal/.kiro/skills/citable/manifest.json +5 -5
- package/dist/universal/.kiro/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.opencode/skills/citable/VERSION +1 -1
- package/dist/universal/.opencode/skills/citable/manifest.json +5 -5
- package/dist/universal/.opencode/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.pi/agent/skills/citable/VERSION +1 -1
- package/dist/universal/.pi/agent/skills/citable/manifest.json +5 -5
- package/dist/universal/.pi/agent/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.qoder/skills/citable/VERSION +1 -1
- package/dist/universal/.qoder/skills/citable/manifest.json +5 -5
- package/dist/universal/.qoder/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.rovodev/skills/citable/VERSION +1 -1
- package/dist/universal/.rovodev/skills/citable/manifest.json +5 -5
- package/dist/universal/.rovodev/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.trae/skills/citable/VERSION +1 -1
- package/dist/universal/.trae/skills/citable/manifest.json +5 -5
- package/dist/universal/.trae/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/.trae-cn/skills/citable/VERSION +1 -1
- package/dist/universal/.trae-cn/skills/citable/manifest.json +5 -5
- package/dist/universal/.trae-cn/skills/citable/schemas/finding.schema.json +253 -50
- package/dist/universal/manifest.json +51 -51
- package/package.json +4 -1
- package/schemas/finding.schema.json +253 -50
- package/src/cli/index.js +7 -0
- package/src/commands/selfUpgrade.js +146 -0
- package/src/crawler/fetch.js +42 -9
- package/src/detectors/agent.js +495 -0
- package/src/detectors/cwv.js +171 -0
- package/src/detectors/framework.js +1 -1
- package/src/detectors/hreflang.js +164 -0
- package/src/detectors/index.js +4 -1
- package/src/installer/index.js +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,74 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.2.0 — 2026-07-18
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **`self-upgrade` command** — checks npm registry for the latest version and upgrades the npx cache if a newer version is available:
|
|
8
|
+
- `npx @nebulacomponents/citable self-upgrade` — check and upgrade
|
|
9
|
+
- `npx @nebulacomponents/citable self-upgrade --check` — check only, no upgrade
|
|
10
|
+
- `npx @nebulacomponents/citable self-upgrade --json` — machine-readable output
|
|
11
|
+
- Uses Node's built-in `fetch` (no extra deps), 10s timeout, graceful offline error
|
|
12
|
+
- **6 new tests** for self-upgrade (current, update-available, registry failure × 2 each for human/JSON output)
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Test count: 84 → 90
|
|
17
|
+
|
|
18
|
+
## 1.1.0 — 2026-07-18
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **AGENT namespace** — 10 agent-readiness detectors based on [isitagentready.com](https://isitagentready.com/) checks:
|
|
23
|
+
- **AGENT-001** `AI bot rules absent from robots.txt` — checks for GPTBot, ClaudeBot, PerplexityBot, anthropic-ai, and other AI crawler rules
|
|
24
|
+
- **AGENT-002** `Link response headers absent` — HTTP Link headers for agent discovery (sitemap, MCP, API catalog)
|
|
25
|
+
- **AGENT-003** `llms.txt missing` — llmstxt.org structured Markdown for LLM consumption
|
|
26
|
+
- **AGENT-004** `MCP Server Card not discoverable` — `/.well-known/mcp` for Model Context Protocol server auto-discovery (API sites only)
|
|
27
|
+
- **AGENT-005** `A2A Agent Card not discoverable` — `/.well-known/agent.json` for Google A2A inter-agent discovery (agent sites only)
|
|
28
|
+
- **AGENT-006** `Markdown content negotiation not supported` — `Accept: text/markdown` / Cloudflare Markdown for Agents
|
|
29
|
+
- **AGENT-007** `Web Bot Auth not declared` — Cloudflare Web Bot Auth for authenticated bot access
|
|
30
|
+
- **AGENT-008** `Content-Signals header absent` — Cloudflare Content Signals for AI usage permissions
|
|
31
|
+
- **AGENT-009** `auth.md not present` — `/auth.md` authentication documentation for agent consumers (API/auth sites only)
|
|
32
|
+
- **AGENT-010** `Agentic commerce protocols not declared` — x402, MPP, UCP, ACP payment protocol signals (commerce sites only)
|
|
33
|
+
- **38 new tests** for AGENT detectors
|
|
34
|
+
- **`agent-readiness` discipline** added to finding schema
|
|
35
|
+
- **`file` subject type** added to finding schema
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- Detector count: 102/15 namespaces (0.1.0) → 109/17 (1.0.0) → **119/18 namespaces** (this release)
|
|
40
|
+
- Test count: 46 → 84
|
|
41
|
+
|
|
42
|
+
## 1.0.0 — 2026-07-18
|
|
43
|
+
|
|
44
|
+
**First production release.**
|
|
45
|
+
|
|
46
|
+
### Added
|
|
47
|
+
|
|
48
|
+
- **HREFLANG namespace** — 3 detectors for international SEO validation:
|
|
49
|
+
- HREFLANG-001: hreflang link validation (valid hreflang values)
|
|
50
|
+
- HREFLANG-002: self-reference check (page should reference itself)
|
|
51
|
+
- HREFLANG-003: x-default presence (missing default language fallback)
|
|
52
|
+
- **CWV namespace** — 3 infrastructure detectors for Core Web Vitals readiness:
|
|
53
|
+
- CWV-001: LCP potential blockers (render-blocking scripts, images without dimensions)
|
|
54
|
+
- CWV-002: preconnect hints for fonts
|
|
55
|
+
- CWV-003: image optimization checks (format, dimensions, lazy loading)
|
|
56
|
+
|
|
57
|
+
> **Limitation:** no field or lab data collection; the CWV detectors check
|
|
58
|
+
> infrastructure readiness, not performance.
|
|
59
|
+
- **URL fetch resilience** — retry with exponential backoff + jitter, 5xx handling
|
|
60
|
+
- **CI workflow** — GitHub Actions for Node 22 matrix testing
|
|
61
|
+
|
|
62
|
+
### Changed
|
|
63
|
+
|
|
64
|
+
- **Detector count** — now 109 detectors across 17 namespaces
|
|
65
|
+
- **Documentation** — fixed test count (33 → 46), updated README/CLAUDE.md/AGENTS.md
|
|
66
|
+
|
|
67
|
+
### Fixed
|
|
68
|
+
|
|
69
|
+
- CI workflow compatibility — use actions@v4, Node 22 (not v6, Node 24)
|
|
70
|
+
- npm-publish workflow — fixed version check for new packages
|
|
71
|
+
|
|
3
72
|
## 0.1.0 — 2026-07-18
|
|
4
73
|
|
|
5
74
|
Initial MVP.
|
package/README.md
CHANGED
|
@@ -16,8 +16,8 @@ generator, not a Lighthouse wrapper, not an "AI visibility score".
|
|
|
16
16
|
- **Persistent registries** (`.citable/`): queries, prompts, entities, claims,
|
|
17
17
|
evidence, pages, crawler policies, competitors, experiments — all
|
|
18
18
|
JSON-Schema validated with referential integrity and history-preserving saves.
|
|
19
|
-
- **
|
|
20
|
-
ENTITY, CLAIM, EVD, SCHEMA, LINK, EXT, GEO, RECO, LIFE, MEAS), each with
|
|
19
|
+
- **119 detectors** across 18 namespaces (TECH, CRAWL, ARCH, PAGE, ANS,
|
|
20
|
+
ENTITY, CLAIM, EVD, SCHEMA, LINK, EXT, GEO, RECO, LIFE, MEAS, HREFLANG, CWV, AGENT), each with
|
|
21
21
|
remediation, verification, severity, and determinism declared.
|
|
22
22
|
- **Evidence packages** for every run: manifest, findings, report, captured
|
|
23
23
|
robots/sitemaps/headers/schema/link graph, checksums.
|
|
@@ -28,6 +28,12 @@ generator, not a Lighthouse wrapper, not an "AI visibility score".
|
|
|
28
28
|
mandatory human-review conditions.
|
|
29
29
|
- **Multi-agent distribution**: Claude Code, Codex-compatible, Cursor, Gemini,
|
|
30
30
|
generic — generated from one canonical `skill/` source.
|
|
31
|
+
- **Agent-readiness detectors** (AGENT namespace): agents are both readers
|
|
32
|
+
and writers of your site — `llms.txt` and Markdown content negotiation shape
|
|
33
|
+
what they consume; MCP Server Cards and A2A Agent Cards expose what they can
|
|
34
|
+
invoke; Content-Signals and Web Bot Auth govern the permissions they receive.
|
|
35
|
+
Citable checks all of these in one pass alongside the rest of your
|
|
36
|
+
SEO/AEO/GEO signal surface.
|
|
31
37
|
|
|
32
38
|
## Install
|
|
33
39
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1.2.0
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "citable",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"managedBy": "citable-cli",
|
|
5
5
|
"provider": "codex",
|
|
6
6
|
"providerName": "OpenAI Codex",
|
|
7
7
|
"scope": "bundle",
|
|
8
|
-
"sourcePackage": "@nebulacomponents/citable@
|
|
8
|
+
"sourcePackage": "@nebulacomponents/citable@1.2.0",
|
|
9
9
|
"variantPath": ".agents/skills/citable",
|
|
10
10
|
"files": {
|
|
11
11
|
"commands/ingest.md": "sha256:cf35659aecd9d0e160909003efdbe056864fc5d824c71b4ef0ee801ce07ff598",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"schemas/entity.schema.json": "sha256:12f9222122255c86059185bc66e528e2828b430f7abc5683e6759774eb555553",
|
|
39
39
|
"schemas/evidence.schema.json": "sha256:a78d39cd1d66c89198b0ecc9af48c8d3d8659c7b5cbb9f96c43d18fcf2b4aeb7",
|
|
40
40
|
"schemas/experiment.schema.json": "sha256:704ea5c14cd4409c3a1806b8b1c124bcd9f2fe9e313dfa93662889bed0cb6441",
|
|
41
|
-
"schemas/finding.schema.json": "sha256:
|
|
41
|
+
"schemas/finding.schema.json": "sha256:85907cd04cd8d2fe24a1e618e0df7160f6d56aa1818db501f345aebce5eb5edb",
|
|
42
42
|
"schemas/page.schema.json": "sha256:195d2f91d67550627c7047fd8e98d08dc386bc5858a02239d6c23b99193eaac2",
|
|
43
43
|
"schemas/project.schema.json": "sha256:ea48fdb6480f7047ba4594bd5908bc1f79c1ad6b9a2c204df900959b5f203dc6",
|
|
44
44
|
"schemas/prompt-result.schema.json": "sha256:b55be47d7d58d7b1dd8c3b1e849e24e55216212c592cde7eb836953379b85737",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"scripts/README.md": "sha256:1c3e952950ef353849621b07c5f615bf7cd20cc5654da4635492a7bd6384e747",
|
|
49
49
|
"SKILL.md": "sha256:637bb755bca6a2225c5b69edab0b8be7dff294e784d7ce25cec23546b847324c",
|
|
50
50
|
"templates/finding-review.md": "sha256:b270a83d3f015150aac80249ae9314979c0befea39ff92ec455f9a5aaa73404c",
|
|
51
|
-
"VERSION": "sha256:
|
|
51
|
+
"VERSION": "sha256:1e5b51cde515396a9fa762909cf8ca6584ccc564b325d2eebeea76175fe95c4d"
|
|
52
52
|
},
|
|
53
|
-
"treeHash": "sha256:
|
|
53
|
+
"treeHash": "sha256:ced29038005c4b29321f3ddb6c77cd8749a917b96983da422ed5677443be395a"
|
|
54
54
|
}
|
|
@@ -3,54 +3,184 @@
|
|
|
3
3
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
4
|
"title": "Finding",
|
|
5
5
|
"type": "object",
|
|
6
|
-
"required": [
|
|
6
|
+
"required": [
|
|
7
|
+
"finding_id",
|
|
8
|
+
"detector_id",
|
|
9
|
+
"run_id",
|
|
10
|
+
"timestamp",
|
|
11
|
+
"discipline",
|
|
12
|
+
"subject",
|
|
13
|
+
"observation",
|
|
14
|
+
"classification",
|
|
15
|
+
"remediation",
|
|
16
|
+
"verification",
|
|
17
|
+
"status"
|
|
18
|
+
],
|
|
7
19
|
"properties": {
|
|
8
|
-
"finding_id": {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
|
|
20
|
+
"finding_id": {
|
|
21
|
+
"$ref": "citable://schemas/common.defs.json#/definitions/id"
|
|
22
|
+
},
|
|
23
|
+
"detector_id": {
|
|
24
|
+
"$ref": "citable://schemas/common.defs.json#/definitions/id"
|
|
25
|
+
},
|
|
26
|
+
"run_id": {
|
|
27
|
+
"type": "string"
|
|
28
|
+
},
|
|
29
|
+
"timestamp": {
|
|
30
|
+
"type": "string"
|
|
31
|
+
},
|
|
32
|
+
"discipline": {
|
|
33
|
+
"type": "array",
|
|
34
|
+
"minItems": 1,
|
|
35
|
+
"items": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"enum": [
|
|
38
|
+
"seo",
|
|
39
|
+
"aeo",
|
|
40
|
+
"geo",
|
|
41
|
+
"agent-readiness"
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
},
|
|
13
45
|
"subject": {
|
|
14
46
|
"type": "object",
|
|
15
|
-
"required": [
|
|
47
|
+
"required": [
|
|
48
|
+
"type",
|
|
49
|
+
"identifier"
|
|
50
|
+
],
|
|
16
51
|
"properties": {
|
|
17
|
-
"type": {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
52
|
+
"type": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"enum": [
|
|
55
|
+
"url",
|
|
56
|
+
"page",
|
|
57
|
+
"source_file",
|
|
58
|
+
"registry_entry",
|
|
59
|
+
"site",
|
|
60
|
+
"schema_block",
|
|
61
|
+
"link",
|
|
62
|
+
"crawler",
|
|
63
|
+
"claim",
|
|
64
|
+
"evidence",
|
|
65
|
+
"entity",
|
|
66
|
+
"prompt",
|
|
67
|
+
"query",
|
|
68
|
+
"experiment",
|
|
69
|
+
"run",
|
|
70
|
+
"file"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"identifier": {
|
|
74
|
+
"type": "string"
|
|
75
|
+
},
|
|
76
|
+
"url": {
|
|
77
|
+
"type": "string"
|
|
78
|
+
},
|
|
79
|
+
"source_file": {
|
|
80
|
+
"type": "string"
|
|
81
|
+
},
|
|
82
|
+
"source_location": {
|
|
83
|
+
"type": "string"
|
|
84
|
+
},
|
|
85
|
+
"rendered_selector": {
|
|
86
|
+
"type": "string"
|
|
87
|
+
}
|
|
23
88
|
}
|
|
24
89
|
},
|
|
25
90
|
"observation": {
|
|
26
91
|
"type": "object",
|
|
27
|
-
"required": [
|
|
92
|
+
"required": [
|
|
93
|
+
"summary",
|
|
94
|
+
"evidence"
|
|
95
|
+
],
|
|
28
96
|
"properties": {
|
|
29
|
-
"summary": {
|
|
30
|
-
|
|
97
|
+
"summary": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"minLength": 1
|
|
100
|
+
},
|
|
101
|
+
"evidence": {
|
|
102
|
+
"type": "array",
|
|
103
|
+
"minItems": 1,
|
|
104
|
+
"items": {
|
|
105
|
+
"type": "string"
|
|
106
|
+
}
|
|
107
|
+
},
|
|
31
108
|
"captured_value": {},
|
|
32
109
|
"expected_value": {}
|
|
33
110
|
}
|
|
34
111
|
},
|
|
35
112
|
"classification": {
|
|
36
113
|
"type": "object",
|
|
37
|
-
"required": [
|
|
114
|
+
"required": [
|
|
115
|
+
"finding_type",
|
|
116
|
+
"severity",
|
|
117
|
+
"confidence",
|
|
118
|
+
"deterministic",
|
|
119
|
+
"impact"
|
|
120
|
+
],
|
|
38
121
|
"properties": {
|
|
39
|
-
"finding_type": {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
122
|
+
"finding_type": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"enum": [
|
|
125
|
+
"deterministic_observation",
|
|
126
|
+
"evidence_backed_semantic_finding",
|
|
127
|
+
"probabilistic_inference",
|
|
128
|
+
"strategic_hypothesis",
|
|
129
|
+
"experiment_result",
|
|
130
|
+
"untestable_condition"
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
"severity": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"enum": [
|
|
136
|
+
"critical",
|
|
137
|
+
"high",
|
|
138
|
+
"medium",
|
|
139
|
+
"low",
|
|
140
|
+
"informational",
|
|
141
|
+
"experimental"
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
"confidence": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"enum": [
|
|
147
|
+
"confirmed",
|
|
148
|
+
"high",
|
|
149
|
+
"medium",
|
|
150
|
+
"low",
|
|
151
|
+
"unknown"
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
"deterministic": {
|
|
155
|
+
"type": "boolean"
|
|
156
|
+
},
|
|
43
157
|
"impact": {
|
|
44
158
|
"type": "object",
|
|
45
159
|
"properties": {
|
|
46
|
-
"retrieval": {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
|
|
160
|
+
"retrieval": {
|
|
161
|
+
"$ref": "#/definitions/impactLevel"
|
|
162
|
+
},
|
|
163
|
+
"ranking": {
|
|
164
|
+
"$ref": "#/definitions/impactLevel"
|
|
165
|
+
},
|
|
166
|
+
"citation": {
|
|
167
|
+
"$ref": "#/definitions/impactLevel"
|
|
168
|
+
},
|
|
169
|
+
"representation": {
|
|
170
|
+
"$ref": "#/definitions/impactLevel"
|
|
171
|
+
},
|
|
172
|
+
"legal": {
|
|
173
|
+
"$ref": "#/definitions/impactLevel"
|
|
174
|
+
},
|
|
175
|
+
"reputational": {
|
|
176
|
+
"$ref": "#/definitions/impactLevel"
|
|
177
|
+
},
|
|
178
|
+
"conversion": {
|
|
179
|
+
"$ref": "#/definitions/impactLevel"
|
|
180
|
+
},
|
|
181
|
+
"maintainability": {
|
|
182
|
+
"$ref": "#/definitions/impactLevel"
|
|
183
|
+
}
|
|
54
184
|
}
|
|
55
185
|
}
|
|
56
186
|
}
|
|
@@ -58,44 +188,117 @@
|
|
|
58
188
|
"reasoning": {
|
|
59
189
|
"type": "object",
|
|
60
190
|
"properties": {
|
|
61
|
-
"applicable_requirement": {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"
|
|
191
|
+
"applicable_requirement": {
|
|
192
|
+
"type": "string"
|
|
193
|
+
},
|
|
194
|
+
"explanation": {
|
|
195
|
+
"type": "string"
|
|
196
|
+
},
|
|
197
|
+
"assumptions": {
|
|
198
|
+
"type": "array",
|
|
199
|
+
"items": {
|
|
200
|
+
"type": "string"
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"limitations": {
|
|
204
|
+
"type": "array",
|
|
205
|
+
"items": {
|
|
206
|
+
"type": "string"
|
|
207
|
+
}
|
|
208
|
+
}
|
|
65
209
|
}
|
|
66
210
|
},
|
|
67
211
|
"remediation": {
|
|
68
212
|
"type": "object",
|
|
69
|
-
"required": [
|
|
213
|
+
"required": [
|
|
214
|
+
"preferred"
|
|
215
|
+
],
|
|
70
216
|
"properties": {
|
|
71
|
-
"preferred": {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"
|
|
75
|
-
|
|
217
|
+
"preferred": {
|
|
218
|
+
"type": "string"
|
|
219
|
+
},
|
|
220
|
+
"alternatives": {
|
|
221
|
+
"type": "array",
|
|
222
|
+
"items": {
|
|
223
|
+
"type": "string"
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"unsafe_shortcuts": {
|
|
227
|
+
"type": "array",
|
|
228
|
+
"items": {
|
|
229
|
+
"type": "string"
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
"owner": {
|
|
233
|
+
"type": [
|
|
234
|
+
"string",
|
|
235
|
+
"null"
|
|
236
|
+
]
|
|
237
|
+
},
|
|
238
|
+
"review_required": {
|
|
239
|
+
"type": "boolean"
|
|
240
|
+
}
|
|
76
241
|
}
|
|
77
242
|
},
|
|
78
243
|
"verification": {
|
|
79
244
|
"type": "object",
|
|
80
|
-
"required": [
|
|
245
|
+
"required": [
|
|
246
|
+
"method"
|
|
247
|
+
],
|
|
81
248
|
"properties": {
|
|
82
|
-
"method": {
|
|
83
|
-
|
|
84
|
-
|
|
249
|
+
"method": {
|
|
250
|
+
"type": "string"
|
|
251
|
+
},
|
|
252
|
+
"expected_result": {
|
|
253
|
+
"type": "string"
|
|
254
|
+
},
|
|
255
|
+
"detector_to_rerun": {
|
|
256
|
+
"type": "string"
|
|
257
|
+
}
|
|
85
258
|
}
|
|
86
259
|
},
|
|
87
260
|
"status": {
|
|
88
261
|
"type": "object",
|
|
89
|
-
"required": [
|
|
262
|
+
"required": [
|
|
263
|
+
"state"
|
|
264
|
+
],
|
|
90
265
|
"properties": {
|
|
91
|
-
"state": {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
266
|
+
"state": {
|
|
267
|
+
"type": "string",
|
|
268
|
+
"enum": [
|
|
269
|
+
"open",
|
|
270
|
+
"acknowledged",
|
|
271
|
+
"in_remediation",
|
|
272
|
+
"resolved",
|
|
273
|
+
"accepted_risk",
|
|
274
|
+
"false_positive"
|
|
275
|
+
]
|
|
276
|
+
},
|
|
277
|
+
"first_seen": {
|
|
278
|
+
"type": "string"
|
|
279
|
+
},
|
|
280
|
+
"last_seen": {
|
|
281
|
+
"type": "string"
|
|
282
|
+
},
|
|
283
|
+
"resolved_at": {
|
|
284
|
+
"type": [
|
|
285
|
+
"string",
|
|
286
|
+
"null"
|
|
287
|
+
]
|
|
288
|
+
}
|
|
95
289
|
}
|
|
96
290
|
}
|
|
97
291
|
},
|
|
98
292
|
"definitions": {
|
|
99
|
-
"impactLevel": {
|
|
293
|
+
"impactLevel": {
|
|
294
|
+
"type": "string",
|
|
295
|
+
"enum": [
|
|
296
|
+
"none",
|
|
297
|
+
"low",
|
|
298
|
+
"medium",
|
|
299
|
+
"high",
|
|
300
|
+
"unknown"
|
|
301
|
+
]
|
|
302
|
+
}
|
|
100
303
|
}
|
|
101
|
-
}
|
|
304
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1.2.0
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "citable",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"managedBy": "citable-cli",
|
|
5
5
|
"provider": "claude",
|
|
6
6
|
"providerName": "Claude Code",
|
|
7
7
|
"scope": "bundle",
|
|
8
|
-
"sourcePackage": "@nebulacomponents/citable@
|
|
8
|
+
"sourcePackage": "@nebulacomponents/citable@1.2.0",
|
|
9
9
|
"variantPath": ".claude/skills/citable",
|
|
10
10
|
"files": {
|
|
11
11
|
"commands/ingest.md": "sha256:cf35659aecd9d0e160909003efdbe056864fc5d824c71b4ef0ee801ce07ff598",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"schemas/entity.schema.json": "sha256:12f9222122255c86059185bc66e528e2828b430f7abc5683e6759774eb555553",
|
|
39
39
|
"schemas/evidence.schema.json": "sha256:a78d39cd1d66c89198b0ecc9af48c8d3d8659c7b5cbb9f96c43d18fcf2b4aeb7",
|
|
40
40
|
"schemas/experiment.schema.json": "sha256:704ea5c14cd4409c3a1806b8b1c124bcd9f2fe9e313dfa93662889bed0cb6441",
|
|
41
|
-
"schemas/finding.schema.json": "sha256:
|
|
41
|
+
"schemas/finding.schema.json": "sha256:85907cd04cd8d2fe24a1e618e0df7160f6d56aa1818db501f345aebce5eb5edb",
|
|
42
42
|
"schemas/page.schema.json": "sha256:195d2f91d67550627c7047fd8e98d08dc386bc5858a02239d6c23b99193eaac2",
|
|
43
43
|
"schemas/project.schema.json": "sha256:ea48fdb6480f7047ba4594bd5908bc1f79c1ad6b9a2c204df900959b5f203dc6",
|
|
44
44
|
"schemas/prompt-result.schema.json": "sha256:b55be47d7d58d7b1dd8c3b1e849e24e55216212c592cde7eb836953379b85737",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"scripts/README.md": "sha256:1c3e952950ef353849621b07c5f615bf7cd20cc5654da4635492a7bd6384e747",
|
|
49
49
|
"SKILL.md": "sha256:637bb755bca6a2225c5b69edab0b8be7dff294e784d7ce25cec23546b847324c",
|
|
50
50
|
"templates/finding-review.md": "sha256:b270a83d3f015150aac80249ae9314979c0befea39ff92ec455f9a5aaa73404c",
|
|
51
|
-
"VERSION": "sha256:
|
|
51
|
+
"VERSION": "sha256:1e5b51cde515396a9fa762909cf8ca6584ccc564b325d2eebeea76175fe95c4d"
|
|
52
52
|
},
|
|
53
|
-
"treeHash": "sha256:
|
|
53
|
+
"treeHash": "sha256:ced29038005c4b29321f3ddb6c77cd8749a917b96983da422ed5677443be395a"
|
|
54
54
|
}
|