@nebulacomponents/citable 1.16.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 (142) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +16 -3
  3. package/dist/universal/.agents/skills/citable/SKILL.md +66 -1
  4. package/dist/universal/.agents/skills/citable/VERSION +1 -1
  5. package/dist/universal/.agents/skills/citable/manifest.json +9 -6
  6. package/dist/universal/.agents/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  7. package/dist/universal/.agents/skills/citable/schemas/finding.schema.json +69 -0
  8. package/dist/universal/.agents/skills/citable/schemas/remediation-verification.schema.json +98 -0
  9. package/dist/universal/.agents/skills/citable/schemas/sow.schema.json +92 -0
  10. package/dist/universal/.claude/agents/citable/manifest.json +2 -2
  11. package/dist/universal/.claude/skills/citable/SKILL.md +66 -1
  12. package/dist/universal/.claude/skills/citable/VERSION +1 -1
  13. package/dist/universal/.claude/skills/citable/manifest.json +9 -6
  14. package/dist/universal/.claude/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  15. package/dist/universal/.claude/skills/citable/schemas/finding.schema.json +69 -0
  16. package/dist/universal/.claude/skills/citable/schemas/remediation-verification.schema.json +98 -0
  17. package/dist/universal/.claude/skills/citable/schemas/sow.schema.json +92 -0
  18. package/dist/universal/.cursor/skills/citable/SKILL.md +66 -1
  19. package/dist/universal/.cursor/skills/citable/VERSION +1 -1
  20. package/dist/universal/.cursor/skills/citable/manifest.json +9 -6
  21. package/dist/universal/.cursor/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  22. package/dist/universal/.cursor/skills/citable/schemas/finding.schema.json +69 -0
  23. package/dist/universal/.cursor/skills/citable/schemas/remediation-verification.schema.json +98 -0
  24. package/dist/universal/.cursor/skills/citable/schemas/sow.schema.json +92 -0
  25. package/dist/universal/.gemini/skills/citable/SKILL.md +66 -1
  26. package/dist/universal/.gemini/skills/citable/VERSION +1 -1
  27. package/dist/universal/.gemini/skills/citable/manifest.json +9 -6
  28. package/dist/universal/.gemini/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  29. package/dist/universal/.gemini/skills/citable/schemas/finding.schema.json +69 -0
  30. package/dist/universal/.gemini/skills/citable/schemas/remediation-verification.schema.json +98 -0
  31. package/dist/universal/.gemini/skills/citable/schemas/sow.schema.json +92 -0
  32. package/dist/universal/.github/skills/citable/SKILL.md +66 -1
  33. package/dist/universal/.github/skills/citable/VERSION +1 -1
  34. package/dist/universal/.github/skills/citable/manifest.json +9 -6
  35. package/dist/universal/.github/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  36. package/dist/universal/.github/skills/citable/schemas/finding.schema.json +69 -0
  37. package/dist/universal/.github/skills/citable/schemas/remediation-verification.schema.json +98 -0
  38. package/dist/universal/.github/skills/citable/schemas/sow.schema.json +92 -0
  39. package/dist/universal/.kiro/skills/citable/SKILL.md +66 -1
  40. package/dist/universal/.kiro/skills/citable/VERSION +1 -1
  41. package/dist/universal/.kiro/skills/citable/manifest.json +9 -6
  42. package/dist/universal/.kiro/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  43. package/dist/universal/.kiro/skills/citable/schemas/finding.schema.json +69 -0
  44. package/dist/universal/.kiro/skills/citable/schemas/remediation-verification.schema.json +98 -0
  45. package/dist/universal/.kiro/skills/citable/schemas/sow.schema.json +92 -0
  46. package/dist/universal/.opencode/skills/citable/SKILL.md +66 -1
  47. package/dist/universal/.opencode/skills/citable/VERSION +1 -1
  48. package/dist/universal/.opencode/skills/citable/manifest.json +9 -6
  49. package/dist/universal/.opencode/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  50. package/dist/universal/.opencode/skills/citable/schemas/finding.schema.json +69 -0
  51. package/dist/universal/.opencode/skills/citable/schemas/remediation-verification.schema.json +98 -0
  52. package/dist/universal/.opencode/skills/citable/schemas/sow.schema.json +92 -0
  53. package/dist/universal/.pi/agent/skills/citable/SKILL.md +66 -1
  54. package/dist/universal/.pi/agent/skills/citable/VERSION +1 -1
  55. package/dist/universal/.pi/agent/skills/citable/manifest.json +9 -6
  56. package/dist/universal/.pi/agent/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  57. package/dist/universal/.pi/agent/skills/citable/schemas/finding.schema.json +69 -0
  58. package/dist/universal/.pi/agent/skills/citable/schemas/remediation-verification.schema.json +98 -0
  59. package/dist/universal/.pi/agent/skills/citable/schemas/sow.schema.json +92 -0
  60. package/dist/universal/.qoder/skills/citable/SKILL.md +66 -1
  61. package/dist/universal/.qoder/skills/citable/VERSION +1 -1
  62. package/dist/universal/.qoder/skills/citable/manifest.json +9 -6
  63. package/dist/universal/.qoder/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  64. package/dist/universal/.qoder/skills/citable/schemas/finding.schema.json +69 -0
  65. package/dist/universal/.qoder/skills/citable/schemas/remediation-verification.schema.json +98 -0
  66. package/dist/universal/.qoder/skills/citable/schemas/sow.schema.json +92 -0
  67. package/dist/universal/.rovodev/skills/citable/SKILL.md +66 -1
  68. package/dist/universal/.rovodev/skills/citable/VERSION +1 -1
  69. package/dist/universal/.rovodev/skills/citable/manifest.json +9 -6
  70. package/dist/universal/.rovodev/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  71. package/dist/universal/.rovodev/skills/citable/schemas/finding.schema.json +69 -0
  72. package/dist/universal/.rovodev/skills/citable/schemas/remediation-verification.schema.json +98 -0
  73. package/dist/universal/.rovodev/skills/citable/schemas/sow.schema.json +92 -0
  74. package/dist/universal/.trae/skills/citable/SKILL.md +66 -1
  75. package/dist/universal/.trae/skills/citable/VERSION +1 -1
  76. package/dist/universal/.trae/skills/citable/manifest.json +9 -6
  77. package/dist/universal/.trae/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  78. package/dist/universal/.trae/skills/citable/schemas/finding.schema.json +69 -0
  79. package/dist/universal/.trae/skills/citable/schemas/remediation-verification.schema.json +98 -0
  80. package/dist/universal/.trae/skills/citable/schemas/sow.schema.json +92 -0
  81. package/dist/universal/.trae-cn/skills/citable/SKILL.md +66 -1
  82. package/dist/universal/.trae-cn/skills/citable/VERSION +1 -1
  83. package/dist/universal/.trae-cn/skills/citable/manifest.json +9 -6
  84. package/dist/universal/.trae-cn/skills/citable/schemas/cli-output-envelope.schema.json +30 -0
  85. package/dist/universal/.trae-cn/skills/citable/schemas/finding.schema.json +69 -0
  86. package/dist/universal/.trae-cn/skills/citable/schemas/remediation-verification.schema.json +98 -0
  87. package/dist/universal/.trae-cn/skills/citable/schemas/sow.schema.json +92 -0
  88. package/dist/universal/manifest.json +112 -76
  89. package/package.json +1 -1
  90. package/schemas/cli-output-envelope.schema.json +30 -0
  91. package/schemas/finding.schema.json +69 -0
  92. package/schemas/remediation-verification.schema.json +98 -0
  93. package/schemas/sow.schema.json +92 -0
  94. package/skill/SKILL.md +66 -1
  95. package/src/analysis/behavioral.js +126 -0
  96. package/src/analysis/croAudit.js +302 -0
  97. package/src/analysis/croRoadmap.js +121 -0
  98. package/src/analysis/eeat.js +300 -0
  99. package/src/analysis/funnelAnalysis.js +171 -0
  100. package/src/analysis/iceMatrix.js +205 -0
  101. package/src/analysis/offpage.js +228 -0
  102. package/src/analysis/readiness.js +253 -0
  103. package/src/analysis/saliency.js +119 -0
  104. package/src/analysis/schemaRecommendations.js +173 -0
  105. package/src/analysis/strategicRoadmap.js +148 -0
  106. package/src/cli/index.js +418 -9
  107. package/src/commands/answerEngineReadiness.js +48 -0
  108. package/src/commands/audit.js +2 -2
  109. package/src/commands/auditBacklinks.js +79 -0
  110. package/src/commands/ciWorkflow.js +63 -0
  111. package/src/commands/compatibility.js +205 -0
  112. package/src/commands/context.js +2 -1
  113. package/src/commands/croBacklog.js +182 -0
  114. package/src/commands/croSuite.js +156 -0
  115. package/src/commands/edgeRules.js +80 -4
  116. package/src/commands/edgeSecurity.js +192 -0
  117. package/src/commands/executive.js +6 -0
  118. package/src/commands/executiveCro.js +30 -0
  119. package/src/commands/executiveSearch.js +28 -0
  120. package/src/commands/experimentGuardrails.js +213 -0
  121. package/src/commands/goldenCorpus.js +155 -0
  122. package/src/commands/implementationKit.js +202 -0
  123. package/src/commands/inspectCro.js +67 -0
  124. package/src/commands/inspectEeat.js +53 -0
  125. package/src/commands/planExperiment.js +52 -0
  126. package/src/commands/previewCro.js +241 -0
  127. package/src/commands/prioritize.js +42 -6
  128. package/src/commands/remediate.js +461 -0
  129. package/src/commands/roadmapCmd.js +69 -0
  130. package/src/commands/schemaCmd.js +10 -2
  131. package/src/commands/sowCmd.js +67 -0
  132. package/src/commands/sweep.js +357 -0
  133. package/src/commands/verifyRemediation.js +204 -0
  134. package/src/commands/visualRegression.js +165 -0
  135. package/src/components/index.js +556 -0
  136. package/src/detectors/cro.js +48 -0
  137. package/src/detectors/framework.js +31 -1
  138. package/src/reporting/executiveCroReport.js +731 -0
  139. package/src/reporting/executiveExport.js +175 -1
  140. package/src/reporting/executiveSearchReport.js +704 -0
  141. package/src/sow/admissibilityGate.js +194 -0
  142. package/src/sow/generateSow.js +762 -0
package/CHANGELOG.md CHANGED
@@ -15,6 +15,53 @@ _No entries yet. See [`BOUNTY.md`](BOUNTY.md) to submit the first one._
15
15
 
16
16
  ## Unreleased
17
17
 
18
+ ## 1.18.0 — 2026-09-09
19
+
20
+ ### Added — Enterprise Search, CRO Intelligence & SOW Governance
21
+
22
+ - Added Enterprise Statement of Work (SOW) generation engine (`citable sow generate`, `citable sow validate`):
23
+ - Contractual schema `schemas/sow.schema.json` formalizing required executive scope, admissibility gate, work packages, deliverables, acceptance criteria, and 7-column traceability matrix.
24
+ - 6-criterion Scope Admissibility Gate (`src/sow/admissibilityGate.js`): enforces evidence maturity, scope boundary, technical feasibility, commercial materiality (ICE-BV / severity), measurable acceptance, and ownership clarity before findings become contractual scope. Catalogues refused items in an explicit contractual refusal log with refusal codes and remediation handling.
25
+ - Complete 25-pillar SOW generator (`src/sow/generateSow.js`) with standalone Markdown and responsive enterprise HTML renderers.
26
+ - Enforced 7-column Traceability Matrix mapping: Finding ID → Recommendation → SOW Requirement ID → Deliverable ID → Acceptance Test ID → Responsible Owner → Source Evidence.
27
+ - Commercial terms tied strictly to verified deliverable acceptance; disclaims search rankings, AI citations, and conversion revenue guarantees in adherence to Citable governance principles.
28
+ - Added Enterprise Split Executive Reports (`src/reporting/executiveSearchReport.js`, `src/reporting/executiveCroReport.js`, `citable report search`, `citable report cro`):
29
+ - Enterprise Search Intelligence Briefing: 19 pillars, evidence register traceability, fact vs inference separation, multi-engine visibility baseline, Core Web Vitals, AEO/GEO extraction posture, schema architecture, competitive SERP footprint.
30
+ - Enterprise CRO & Customer Journey Briefing: 25 pillars, observation vs hypothesis vs causation separation, visual saliency modeling, message-match scoring, cognitive load and abandonment friction, offer architecture, and statistical experiment design.
31
+ - Added Technical SEO Sweep & Core Web Vitals audit (`citable sweep technical`, `src/commands/sweep.js`): static analysis of render-blocking resources, image layout shifts, and CWV readiness thresholds (LCP, INP, CLS).
32
+ - Added On-Page Content & E-E-A-T Scoring (`citable inspect eeat`, `src/analysis/eeat.js`): 0-5 rubric scoring across Experience, Expertise, Authoritativeness, and Trustworthiness with evidence extraction.
33
+ - Added Answer-Engine Readiness inspection (`citable inspect readiness`, `src/analysis/readiness.js`): automated multi-engine evaluation across Perplexity, Bing Copilot, and ChatGPT.
34
+ - Added Off-Page Authority Assessment & Toxic Backlink Detection (`citable audit backlinks`, `src/commands/auditBacklinks.js`, `src/analysis/offpage.js`): identifies spam TLDs, PBN footprints, and automated disavow recommendations.
35
+ - Added Schema.org Recommendations engine (`src/analysis/schemaRecommendations.js`, `citable schema`): evaluates content patterns to propose structured markup for FAQPage, Speakable, and HowTo.
36
+ - Added Impact / Effort / Confidence (ICE) Prioritization Matrix (`citable prioritize matrix`, `src/analysis/iceMatrix.js`): scoring matrix categorizing findings into Quick Wins, Strategic Bets, Low-Hanging Fruit, and Deprioritized.
37
+ - Added 30/90/180-Day Strategic & CRO Milestone Roadmaps (`citable roadmap strategic`, `citable cro roadmap`, `src/analysis/strategicRoadmap.js`, `src/analysis/croRoadmap.js`): phased implementation schedules tied to verified technical deliverables and conversion metrics.
38
+ - Added End-to-End CRO Intelligence Suite (`citable cro`, `src/commands/croSuite.js`, `src/analysis/croAudit.js`, `src/analysis/funnelAnalysis.js`, `src/analysis/behavioral.js`): conversion path continuity, above-the-fold clarity, trust and objection analysis, and prioritized A/B experiment backlog with statistical power blueprints.
39
+
40
+ ## 1.17.0 — 2026-09-08
41
+
42
+ ### Added — Closed-Loop Remediation & Customer Fulfillment (Nebula Release Requests)
43
+
44
+ - Added production-safe patch review in `src/commands/remediate.js`: framework detection (`detectFramework`), idempotent patchers (`applyPatchDetailed` — second application is a fixed point), unified diffs before any write (`unifiedDiff`), structural static validation that fails closed on unknown frameworks (`validatePatchedSource`), explicit confidence scoring with per-factor breakdown and a semantic-copy cap (`computeConfidence`), rollback snapshots with SHA-256 manifests under `.citable/remediation/snapshots/`, and refusal of `--write` when validation fails or confidence is below the 0.7 gate. Semantic microcopy replacements (CRO-012/COMP-003) always refuse automated write: copy decisions are human editorial judgments, not mechanical fixes.
45
+ - Added closed-loop remediation verification `citable verify remediation --run <run-id> --finding <id> [--target <file>] [--apply]` (`src/commands/verifyRemediation.js`): maps source-run finding → gated patch → detector re-run → before/after verdict (`verified`, `not_resolved`, `blocked`, `patch_refused`), detects new critical/high regressions against the full before-run, and emits a checksummed evidence bundle validated against the new contract `schemas/remediation-verification.schema.json`. Resolution means the detector no longer reports the same subject — never an outcome guarantee.
46
+ - Added customer-ready implementation kit exporter `citable kit export --run <run-id> --finding <id> [--target <file>]` (`src/commands/implementationKit.js`): produces a structured directory with the verbatim finding, exact unified diff, Nebula Component template, rendering-evidence manifest (real evidence only — imagery is never fabricated), acceptance tests, deployment/rollback instructions, re-audit script, and explicit limitations/assumptions. Modeled revenue or lift estimates are excluded by policy.
47
+ - Added per-finding provenance envelopes in `src/detectors/framework.js` (`runDetectors`): every finding now records `detector_version`, `tool_version`, source URL/file, evidence selector, evidence source class, viewport (or an explicit note that none was captured), methodology (deterministic vs heuristic), and a revalidation requirement. Contract extended in `schemas/finding.schema.json`. Detector definitions default to `version: 1` and must be bumped on semantic changes.
48
+ - Added `citable compatibility` (`src/commands/compatibility.js`): pre-flight diagnosis of Node engine requirements, optional peer adapters (playwright, lighthouse, chrome-launcher, tesseract.js) distinguishing installed vs importable, browser executable presence (never claiming launch success), project framework detection for remediation format matching, registry/schema freshness, and generated-edge size against documented platform limits.
49
+ - Added `citable verify page <page> --target <dir|url>`: full detector set scoped to a single page with severity breakdown and explicit posture definition (pass = no detector currently reports the page; not an outcome guarantee).
50
+ - Added edge-code security audit `src/commands/edgeSecurity.js` with rules EDGSEC-001 through EDGSEC-007 (CSP unsafe-inline, HTMLRewriter `html:true` injection sinks, unescaped interpolation into HTML/script/Liquid contexts, untrusted referral fragments into parsing DOM sinks, potential PII collection, per-request response variance without cache guidance, worker size limits). Every `citable export edge` now ships with a security summary; `citable audit edge <file> --format <fmt>` audits arbitrary edge code. Also fixed a missing `fs` import that crashed `exportEdgeRules` with `--output`.
51
+ - Added experiment safety guardrails `citable check experiment <id>` (`src/commands/experimentGuardrails.js`): sample-ratio mismatch (chi-square, standard 0.001 alpha), stopping-early, underpowered samples, experiment contamination and variant collisions, revenue attribution without a concluded SRM-clean experiment, and a mutually exclusive lifecycle of `planned | running | inconclusive | validated` with explicit definitions — "winner" language is never used.
52
+ - Added deterministic visual layout-contract suite `citable test visual` (`src/commands/visualRegression.js`): contract checks (three viewport classes, keyboard focus visibility, reduced motion, narrow-mobile collapse, text-zoom wrapping, dark/light preference, aria-pressed toggles, 48px touch targets) plus a 22-cell screenshot matrix that records per-cell captures when playwright and a browser are available and otherwise records an explicit skipped state with required inputs. Preview HTML gained focus-visible outlines, prefers-reduced-motion handling, narrow-width collapse, long-string wrapping, color-scheme adaptation, and accessible viewport toggles.
53
+ - Added structured machine-readable output contract: every `--json` payload is wrapped in the stable envelope `{ citable_output_schema, tool_version, command, generated_at, result }` with contract `schemas/cli-output-envelope.schema.json` (envelope version 1.0).
54
+ - Added golden benchmark corpus `tests/fixtures/golden-corpus/` (version 1, anonymized synthetic fixtures across ecommerce, SaaS, lead generation, checkout, and agency verticals) with page-level detector labels and saliency bounds, plus `citable corpus benchmark` (`src/commands/goldenCorpus.js`) computing per-detector TP/FP/FN, precision, recall, and F1 with a fail-closed regression gate and mutation-tested failure proofs. Emphasis detectors include CRO-021 and the saliency indices.
55
+
56
+ ### Changed — Terminology and Claim-Accuracy Hardening
57
+
58
+ - Split `CRO-021` (detector version 2) into distinct capabilities: payment-wallet readiness (Apple Pay, Google Pay, PayPal Express — payment methods) and authentication readiness (WebAuthn/passkeys — account authentication, reported informationally by `inspect cro` as `express_checkout_readiness`). The misleading "biometric readiness" framing is retired; a passkey-only checkout still fails wallet readiness. Fixtures prove both detection and the wallet/auth distinction.
59
+ - Removed the unsupported "edge cache speeds (<2ms latency)" and "sub-500ms" performance claims from `docs/ROADMAP.md`: no speed or latency figure may be stated publicly without a documented measurement methodology.
60
+ - Hardened `NebulaScentBeacon` referral handling in `src/components/index.js`: referrer and `:~:text=` fragments are documented and enforced as user-controlled untrusted input used only against a fixed allowlist to detect referral state; raw values are never rendered, persisted, or transmitted, and dynamic claim text must come from developer-controlled props.
61
+ - Labeled all modeled outputs as heuristic indices: `calculateVisualSaliency` now returns `fact_status: modeled_index_not_observed_behavior` with interpretation notes; `inspect cro` labels Friction Surface Area and keystroke-effort values as modeled; gaze-path output is explicitly "order of modeled salience, not measured fixations".
62
+ - Distinguished measured outcomes from modeled estimates in executive slide decks (`src/reporting/executiveExport.js`): a dedicated "Measured vs Modeled" slide separates deterministic findings from heuristic indices and states what is not claimed (revenue lift, conversion uplift); the fabricated "100% Mechanical Friction Eliminated" and "Zero Friction" claims were replaced with labeled modeled targets.
63
+
64
+
18
65
  ## 1.16.0 — 2026-09-08
19
66
 
20
67
  ### Added — Nebula Components Enterprise Platform Suite
package/README.md CHANGED
@@ -21,7 +21,7 @@ generator, not a Lighthouse wrapper, not an "AI visibility score".
21
21
  objectives, interventions, optional connections, reviewers, review policies,
22
22
  governed exceptions, semantic review items, sampling plans, and audit schedules — all
23
23
  JSON-Schema validated with referential integrity and history-preserving saves.
24
- - **180 detectors** across 19 namespaces (TECH, CRAWL, ARCH, PAGE, ANS,
24
+ - **181 detectors** across 19 namespaces (TECH, CRAWL, ARCH, PAGE, ANS,
25
25
  SCHEMA, CWV, GEO, AEO, CLAIM, EVD, LIFE, AGENT, MEAS, EXP, CONF, SEC, LINK,
26
26
  CRO), each with remediation, verification, severity, and determinism declared.
27
27
  - **Evidence packages** for every run: manifest, findings, report, captured
@@ -210,6 +210,19 @@ citable artifacts verify --input ./portable-run
210
210
  citable artifacts import --input ./portable-run
211
211
  citable substantiate # claim/evidence assessment (dry run)
212
212
  citable validate # registry schema + referential integrity
213
+
214
+ # CRO remediation loop: audit → explain → remediate → verify → hand off
215
+ citable inspect cro <page> --target ./dist
216
+ citable remediate --finding CRO-007 --target src/Form.jsx # dry run: diff + validation + confidence
217
+ citable remediate --finding CRO-007 --target src/Form.jsx --write # gated; rollback snapshot created
218
+ citable verify remediation --run <run-id> --finding CRO-007 --target src/Form.jsx --apply
219
+ citable kit export --run <run-id> --finding CRO-007 --target src/Form.jsx
220
+ citable check experiment <id> --observed-control 5000 --observed-variant 4980 --days-running 6
221
+ citable verify page /pricing --target ./dist
222
+ citable compatibility
223
+ citable audit edge worker.js --format cloudflare-worker
224
+ citable test visual
225
+ citable corpus benchmark
213
226
  ```
214
227
 
215
228
  ## Repository map
@@ -218,8 +231,8 @@ citable validate # registry schema + referential integrity
218
231
  | --- | --- |
219
232
  | `skill/` | Canonical agent skill: SKILL.md, command contracts, rubrics, anti-patterns, policies, templates |
220
233
  | `src/` | CLI, commands, registries, detectors, crawler/extractor, evidence, reporting |
221
- | `schemas/` | JSON Schemas: 27 registries plus findings, runs, observations, release governance, remediation, config, and prompt results |
222
- | `tests/` | Unit + integration suites; positive/negative fixtures |
234
+ | `schemas/` | JSON Schemas: 29 registries plus findings, runs, observations, release governance, remediation verification, the CLI output envelope, config, and prompt results |
235
+ | `tests/` | Unit + integration suites; positive/negative fixtures; labeled golden benchmark corpus |
223
236
  | `docs/` | ADR, traceability matrix, known limitations |
224
237
  | `dist/` | Generated distribution packages (run `npm run build:dist`) |
225
238
 
@@ -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.16.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]
@@ -138,9 +146,29 @@ citable corpus evaluate --input <acceptance-corpus.json>
138
146
  citable corpus publish --input <acceptance-corpus.json> --output <public-corpus.json>
139
147
  citable corpus receipt --run <run-id> [--input <execution-context.json>]
140
148
  citable corpus compare-receipts <receipt-a.json> <receipt-b.json>
149
+ citable corpus benchmark [--corpus <dir>] [--output <report.json>] # labeled golden fixtures → per-detector precision/recall gate
141
150
  citable artifacts export <run-id> --output <directory>
142
151
  citable artifacts verify --input <directory>
143
152
  citable artifacts import --input <directory>
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
163
+ citable preview cro <page> [--export <file.html>] # split-screen before/remediated sandbox (layout-contract checked; accessibility-aware)
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
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)
166
+ citable verify page <page> --target <dir|url> # all detectors scoped to one page; pass = no detector currently reports it, never an outcome guarantee
167
+ citable check experiment <id> [--observed-control N --observed-variant N --days-running N] # SRM, stopping, power, contamination; lifecycle: planned|running|inconclusive|validated
168
+ citable compatibility # Node engine, optional adapters, browser, framework, registries, edge size limits
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
144
172
  ```
145
173
 
146
174
  Audit scopes: `technical seo aeo geo architecture entity claims evidence schema
@@ -194,6 +222,43 @@ monitoring interpretation.
194
222
  Use `commands/field-validation.md` for acceptance-corpus authorization,
195
223
  sanitization, publication refusal, reproducibility, and evidence boundaries.
196
224
 
225
+ ## CRO remediation loop (audit → explain → remediate → verify → hand off)
226
+
227
+ The CRO suite completes the loop. Rules that govern every step:
228
+
229
+ 1. **Safe patches only.** `remediate --write` is gated on framework detection,
230
+ static structural validation, idempotency, and an explicit confidence
231
+ threshold. Semantic microcopy replacements are refused for automated write
232
+ (fact ≠ inference): they require a human editorial decision. Every write
233
+ creates a rollback snapshot under `.citable/remediation/snapshots/`.
234
+ 2. **A written patch is not a verified repair.** Run
235
+ `verify remediation --run <run-id> --finding <id>`. Resolution means the
236
+ detector no longer reports the same subject — never a conversion guarantee.
237
+ The verification bundle is schema-validated
238
+ (`schemas/remediation-verification.schema.json`).
239
+ 3. **Payment wallets ≠ authentication.** Apple Pay/Google Pay/PayPal are
240
+ payment methods; WebAuthn/passkeys are account authentication. Report them
241
+ separately (`inspect cro` returns `payment_wallet_readiness` and
242
+ `authentication_readiness`). Never use "biometric readiness" as a claim.
243
+ 4. **Modeled indices are labeled.** Friction Surface Area, CTA Conspicuity
244
+ Index, and gaze-path ordering are heuristic indices over captured DOM
245
+ conditions — not observed user behavior and not revenue estimates. Slide
246
+ decks and kits must keep measured (deterministic findings) and modeled
247
+ (indices, projections) in separate, labeled categories. No latency,
248
+ speed, or "percentage eliminated" figure may be stated without a
249
+ documented measurement methodology.
250
+ 5. **Referral fragments are untrusted input.** ScentBeacon-style components
251
+ may match referrer/`:~:text=` against a fixed allowlist to detect the
252
+ referral state; raw values are never rendered, persisted, or transmitted.
253
+ Dynamic claim text must come from registry-bound developer props.
254
+ 6. **Experiments carry guardrails.** `check experiment` reports SRM, stopping
255
+ early, underpowered samples, contamination, and unsupported revenue
256
+ attribution, and derives one lifecycle of `planned`, `running`,
257
+ `inconclusive`, or `validated` — never "winner".
258
+ 7. **Machine-readable output is a contract.** `--json` wraps every command
259
+ payload in the `citable_output_schema` 1.0 envelope
260
+ (`schemas/cli-output-envelope.schema.json`).
261
+
197
262
  ## Command workflows
198
263
 
199
264
  Detailed per-command workflows live in `commands/`. Follow them; they define
@@ -1 +1 @@
1
- 1.16.0
1
+ 1.18.0
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "citable",
3
- "version": "1.16.0",
3
+ "version": "1.18.0",
4
4
  "managedBy": "citable-cli",
5
5
  "provider": "codex",
6
6
  "providerName": "OpenAI Codex",
7
7
  "scope": "bundle",
8
- "sourcePackage": "@nebulacomponents/citable@1.16.0",
8
+ "sourcePackage": "@nebulacomponents/citable@1.18.0",
9
9
  "variantPath": ".agents/skills/citable",
10
10
  "agentProfiles": {
11
11
  "status": "unsupported",
@@ -58,6 +58,7 @@
58
58
  "schemas/browser-evidence-plan.schema.json": "sha256:81ef14f665b4a00f01afb747576faeb06025722e5c15a36eff3d17e59e978851",
59
59
  "schemas/canonical-index-import.schema.json": "sha256:ef633662cb30873242ca356443bc4835afe56bb020208e8f42fa47ac8047b66e",
60
60
  "schemas/claim.schema.json": "sha256:ce79ccbfa34ece9b7a309a6962522ea06a1f44c468b4c472b5c376554a788537",
61
+ "schemas/cli-output-envelope.schema.json": "sha256:6964e8f2f43618bfd0d7a3f5344b37ebc26f04779796bb8ff4675b935b6208c3",
61
62
  "schemas/common.defs.json": "sha256:ac66081df6b86f652e066ea868edecfcd36cdd1b1c81e55a1e3af880f671b727",
62
63
  "schemas/competitor.schema.json": "sha256:2f6fd7e4543846bde56ff4dc62bb41fa366889787b794a7cdb0bff1a3392e591",
63
64
  "schemas/config.schema.json": "sha256:a87f3bb0087de09035b9f2dafea66e32e4fcc2e3e329abcd0fd8a5ec33318f2a",
@@ -77,7 +78,7 @@
77
78
  "schemas/exception.schema.json": "sha256:c88985494ec66554330fdc5b65d033527d0005acf41f10798b1e831d171f8944",
78
79
  "schemas/experiment.schema.json": "sha256:4b5d16481448597b152269296b67b5776be6f03d8f9afba1833bcee10bf3c05b",
79
80
  "schemas/field-validation-metrics.schema.json": "sha256:bd5daeafc1593f1c4707d75180e1feb1e81d9345a57c1f269eadf13c36cb7012",
80
- "schemas/finding.schema.json": "sha256:85907cd04cd8d2fe24a1e618e0df7160f6d56aa1818db501f345aebce5eb5edb",
81
+ "schemas/finding.schema.json": "sha256:1775425b9b989dd4ffc0c607eb9d64e95cad2124f9058f83ef78b0b0030e209f",
81
82
  "schemas/fleet.schema.json": "sha256:3bf5772695ae4bb49a8c5fdbedee230ddb1d84aff6a3176eeb41527aca6ef2a5",
82
83
  "schemas/funnel.schema.json": "sha256:6c368f29296ac45f5d52bb3a2f95fa935a1f30f3d53aae846156e9aa4c8ec59c",
83
84
  "schemas/initiative.schema.json": "sha256:491f6cc022c7ac1f9ea9ac9ddfcd270cb49c390e2601fe1e73aa6192a9e7689a",
@@ -97,6 +98,7 @@
97
98
  "schemas/release-manifest.schema.json": "sha256:962be645e790b5f3dc6f6ea455e187492d727dcb91d00f91e4e25b40e2dbc360",
98
99
  "schemas/release-state.schema.json": "sha256:9920f68e538915d0d07044f313a9e410775a38ce9bb46a55d9ebe02970784803",
99
100
  "schemas/remediation-spec.schema.json": "sha256:6fe8cb773702862ba6d261198bb5cc2dca3eca0a2310a60ebddd04377654df8d",
101
+ "schemas/remediation-verification.schema.json": "sha256:b4e4f3ce8d72ef64cdb879a86b6afe9220e2d9e4d13ed3486348cc8ee38e1319",
100
102
  "schemas/review-item.schema.json": "sha256:df532a70385d5031bbc18654f3ccb436dc6e8d402ccf987e58f8f7e3ad2fb3f1",
101
103
  "schemas/review-policy.schema.json": "sha256:b2d176b1886f78c384b25532a0c3eb18548dfbd17f362a305e622bab562a1d04",
102
104
  "schemas/reviewer.schema.json": "sha256:3716697b752575a1277f2c2b318b1f2565de02bf9dce2a0c165567ab5330d18b",
@@ -106,11 +108,12 @@
106
108
  "schemas/scenario.schema.json": "sha256:3f5bc2032d08f973600db068f475176a0e4706b33be42f99c778fe755a0ff38b",
107
109
  "schemas/schedule.schema.json": "sha256:645df065bf33577a960c0bf8bb97e141e9326840303569468dae8a553d468482",
108
110
  "schemas/source-identity-chain.schema.json": "sha256:a65d9c12eaed1bd6b637c66a2f9362c17287fdfcb454d8676fb611d2d28aa019",
111
+ "schemas/sow.schema.json": "sha256:467b5f523773b4d459eeba33bf4b3445307be27058c590c0df49208956a0a2d2",
109
112
  "schemas/variance.schema.json": "sha256:68389f64f0a3be13ff8951e8eefba9a5c31d0738325cb47e37c1a8435bea48f0",
110
113
  "scripts/README.md": "sha256:9eee4e8beb4579a183bd714c9dd24b83abd020753eada5caeffae004739d60b5",
111
- "SKILL.md": "sha256:5a5dbae5d5af91f58dddf8fd2a1ed71c1740f81e5813b91e9329850ae6a46301",
114
+ "SKILL.md": "sha256:fd34736c74771cf9375995f1e69ecd2ceda3a94042d80bb0efd6675b0a5ebc8f",
112
115
  "templates/finding-review.md": "sha256:b270a83d3f015150aac80249ae9314979c0befea39ff92ec455f9a5aaa73404c",
113
- "VERSION": "sha256:46081fd90571a274160408ebc81fc91b78ffca4049d477998e3b6909ac245e05"
116
+ "VERSION": "sha256:04d659518a1793d5396007fcabdc9211a8c1db8406bf4e0fa8069171fdb06518"
114
117
  },
115
- "treeHash": "sha256:ac0e50b9957821d1e1e8efe33b0aa22314eca5d1fdcfc6ac90f017c2ec26d4b3"
118
+ "treeHash": "sha256:06dcedfde2429241e5714c6e5f0ddee25dc03c53435083a1c0cc3362abdcfdb3"
116
119
  }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$id": "citable://schemas/cli-output-envelope.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "CLI JSON output envelope",
5
+ "description": "Stable envelope for every `citable <command> --json` output. Consumers read `citable_output_schema` for envelope compatibility and read command data from `result`. The envelope version changes only on breaking envelope changes; command payloads evolve backward-compatibly inside result.",
6
+ "type": "object",
7
+ "required": ["citable_output_schema", "tool_version", "generated_at", "result"],
8
+ "properties": {
9
+ "citable_output_schema": {
10
+ "type": "string",
11
+ "pattern": "^\\d+\\.\\d+$",
12
+ "description": "Envelope contract version. 1.0 is the initial stable contract."
13
+ },
14
+ "tool_version": {
15
+ "type": "string",
16
+ "description": "Citable package version that produced the output."
17
+ },
18
+ "command": {
19
+ "type": ["string", "null"],
20
+ "description": "Top-level command that produced this output."
21
+ },
22
+ "generated_at": {
23
+ "type": "string",
24
+ "description": "ISO-8601 timestamp of when the output was generated."
25
+ },
26
+ "result": {
27
+ "description": "Command-specific payload. Structure is defined per command and evolves backward-compatibly within an envelope major version."
28
+ }
29
+ }
30
+ }
@@ -257,6 +257,75 @@
257
257
  }
258
258
  }
259
259
  },
260
+ "provenance": {
261
+ "type": "object",
262
+ "required": [
263
+ "detector_version",
264
+ "tool_version",
265
+ "evidence_source",
266
+ "methodology",
267
+ "revalidation_required"
268
+ ],
269
+ "properties": {
270
+ "detector_version": {
271
+ "type": "integer",
272
+ "minimum": 1
273
+ },
274
+ "tool_version": {
275
+ "type": "string"
276
+ },
277
+ "source_url": {
278
+ "type": [
279
+ "string",
280
+ "null"
281
+ ]
282
+ },
283
+ "source_file": {
284
+ "type": [
285
+ "string",
286
+ "null"
287
+ ]
288
+ },
289
+ "evidence_selector": {
290
+ "type": [
291
+ "string",
292
+ "null"
293
+ ]
294
+ },
295
+ "evidence_source": {
296
+ "type": "string",
297
+ "enum": [
298
+ "dom_parse",
299
+ "registry",
300
+ "registry+dom_parse",
301
+ "controlled_observation",
302
+ "configuration"
303
+ ]
304
+ },
305
+ "viewport": {
306
+ "type": [
307
+ "string",
308
+ "null"
309
+ ]
310
+ },
311
+ "viewport_note": {
312
+ "type": [
313
+ "string",
314
+ "null"
315
+ ]
316
+ },
317
+ "methodology": {
318
+ "type": "string"
319
+ },
320
+ "revalidation_required": {
321
+ "type": "string",
322
+ "enum": [
323
+ "on_next_audit",
324
+ "human_review_before_action"
325
+ ]
326
+ }
327
+ }
328
+ },
260
329
  "status": {
261
330
  "type": "object",
262
331
  "required": [
@@ -0,0 +1,98 @@
1
+ {
2
+ "$id": "citable://schemas/remediation-verification.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Remediation verification record",
5
+ "description": "Closed-loop evidence that a detector finding was addressed: before-run finding, applied patch, re-run detector result, and verdict. Proves only that the detector no longer reports the same subject; it never proves a conversion or outcome guarantee.",
6
+ "type": "object",
7
+ "required": [
8
+ "verification_id", "timestamp", "status", "tool_version",
9
+ "source_run_id", "detector_id", "subject", "verdict",
10
+ "provenance", "limitations"
11
+ ],
12
+ "properties": {
13
+ "verification_id": { "type": "string", "pattern": "^VR-[0-9]{14,20}-[a-z0-9]{2,8}$" },
14
+ "timestamp": { "type": "string" },
15
+ "status": { "type": "string", "enum": ["verified", "not_resolved", "blocked", "patch_refused"] },
16
+ "tool_version": { "type": "string" },
17
+ "repository_commit": { "type": ["string", "null"] },
18
+ "source_run_id": { "type": ["string", "null"], "minLength": 1 },
19
+ "recheck_run_id": { "type": ["string", "null"] },
20
+ "detector_id": { "type": ["string", "null"] },
21
+ "subject": {
22
+ "type": ["object", "null"],
23
+ "properties": {
24
+ "type": { "type": "string" },
25
+ "identifier": { "type": ["string", "null"] }
26
+ }
27
+ },
28
+ "verdict": {
29
+ "type": "object",
30
+ "required": ["resolved"],
31
+ "properties": {
32
+ "resolved": { "type": "boolean" },
33
+ "before_finding_ids": { "type": "array", "items": { "type": "string" } },
34
+ "after_finding_ids": { "type": "array", "items": { "type": "string" } },
35
+ "new_regressions": {
36
+ "type": "array",
37
+ "items": {
38
+ "type": "object",
39
+ "required": ["finding_id", "detector_id", "severity", "summary"],
40
+ "properties": {
41
+ "finding_id": { "type": "string" },
42
+ "detector_id": { "type": "string" },
43
+ "severity": { "type": "string" },
44
+ "summary": { "type": "string" }
45
+ }
46
+ }
47
+ },
48
+ "resolution_definition": {
49
+ "type": "string",
50
+ "description": "States the exact resolution criterion used; detector absence is not an outcome guarantee."
51
+ }
52
+ }
53
+ },
54
+ "patch": {
55
+ "type": ["object", "null"],
56
+ "properties": {
57
+ "target_file": { "type": "string" },
58
+ "framework": { "type": ["string", "null"] },
59
+ "patcher_class": { "type": ["string", "null"] },
60
+ "confidence": { "type": ["number", "null"] },
61
+ "validation_passed": { "type": "boolean" },
62
+ "applied": { "type": "boolean" },
63
+ "refusal_reason": { "type": ["string", "null"] },
64
+ "rollback_snapshot": { "type": ["string", "null"] },
65
+ "before_sha256": { "type": ["string", "null"] },
66
+ "after_sha256": { "type": ["string", "null"] }
67
+ }
68
+ },
69
+ "provenance": {
70
+ "type": "object",
71
+ "required": ["command", "recheck_target", "detectors_run"],
72
+ "properties": {
73
+ "command": { "type": "string" },
74
+ "recheck_target": { "type": ["string", "null"] },
75
+ "detectors_run": { "type": "array", "items": { "type": "string" } },
76
+ "detectors_skipped": {
77
+ "type": "array",
78
+ "items": {
79
+ "type": "object",
80
+ "properties": {
81
+ "detector_id": { "type": "string" },
82
+ "reason": { "type": "string" }
83
+ }
84
+ }
85
+ },
86
+ "recheck_errors": { "type": "array", "items": { "type": "string" } },
87
+ "recheck_warnings": { "type": "array", "items": { "type": "string" } }
88
+ }
89
+ },
90
+ "limitations": {
91
+ "type": "array",
92
+ "items": { "type": "string" },
93
+ "minItems": 1
94
+ },
95
+ "bundle_dir": { "type": ["string", "null"] },
96
+ "bundle_checksums": { "type": "object" }
97
+ }
98
+ }
@@ -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
+ }
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "citable-agent-profiles",
3
- "version": "1.16.0",
3
+ "version": "1.18.0",
4
4
  "managedBy": "citable-cli",
5
5
  "provider": "claude",
6
- "sourcePackage": "@nebulacomponents/citable@1.16.0",
6
+ "sourcePackage": "@nebulacomponents/citable@1.18.0",
7
7
  "files": {
8
8
  "citable-auditor.md": "sha256:06fe8d84834b2c09b7e7083aa6f57e94e837e0643dbe4ead4bbecf651fb41cad",
9
9
  "citable-semantic-reviewer.md": "sha256:77582263a048ea41ae3f7ee326dbd036222fab81ed83bda98034ec83ee21ef2e"