kibi-cli 0.16.1 → 0.18.1

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 (229) hide show
  1. package/dist/cli-json-command.d.ts.map +1 -1
  2. package/dist/cli-json-command.js +87 -11
  3. package/dist/cli-register-maintenance.d.ts.map +1 -1
  4. package/dist/cli-register-maintenance.js +8 -0
  5. package/dist/cli-register-reporting.d.ts.map +1 -1
  6. package/dist/cli-register-reporting.js +5 -0
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +2 -1
  9. package/dist/commands/aggregated-checks.d.ts.map +1 -1
  10. package/dist/commands/aggregated-checks.js +1 -0
  11. package/dist/commands/check.d.ts.map +1 -1
  12. package/dist/commands/check.js +1 -1
  13. package/dist/commands/coverage.d.ts +5 -0
  14. package/dist/commands/coverage.d.ts.map +1 -1
  15. package/dist/commands/coverage.js +5 -0
  16. package/dist/commands/discovery-table.d.ts.map +1 -1
  17. package/dist/commands/discovery-table.js +96 -5
  18. package/dist/commands/sync/cache.d.ts +2 -0
  19. package/dist/commands/sync/cache.d.ts.map +1 -1
  20. package/dist/commands/sync/cache.js +8 -0
  21. package/dist/commands/sync/manifest.d.ts +12 -1
  22. package/dist/commands/sync/manifest.d.ts.map +1 -1
  23. package/dist/commands/sync/manifest.js +22 -5
  24. package/dist/commands/sync/persistence.d.ts.map +1 -1
  25. package/dist/commands/sync/persistence.js +76 -2
  26. package/dist/commands/sync.d.ts.map +1 -1
  27. package/dist/commands/sync.js +72 -15
  28. package/dist/commands/usage-metrics.d.ts +66 -2
  29. package/dist/commands/usage-metrics.d.ts.map +1 -1
  30. package/dist/commands/usage-metrics.js +34 -24
  31. package/dist/commands/usage-remediation.d.ts +9 -0
  32. package/dist/commands/usage-remediation.d.ts.map +1 -0
  33. package/dist/commands/usage-remediation.js +52 -0
  34. package/dist/extractors/markdown.d.ts +17 -1
  35. package/dist/extractors/markdown.d.ts.map +1 -1
  36. package/dist/extractors/markdown.js +81 -2
  37. package/dist/logic/ir.d.ts +112 -0
  38. package/dist/logic/ir.d.ts.map +1 -0
  39. package/dist/logic/ir.js +729 -0
  40. package/dist/operations/modeling/logic-modeling.d.ts +22 -0
  41. package/dist/operations/modeling/logic-modeling.d.ts.map +1 -0
  42. package/dist/operations/modeling/logic-modeling.js +120 -0
  43. package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
  44. package/dist/operations/modeling/model-requirement.js +83 -2
  45. package/dist/operations/modeling/predicate-applyplan.d.ts +1 -1
  46. package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -1
  47. package/dist/operations/modeling/predicate-applyplan.js +29 -4
  48. package/dist/operations/modeling/predicate-inference.d.ts.map +1 -1
  49. package/dist/operations/modeling/predicate-inference.js +3 -0
  50. package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
  51. package/dist/operations/modeling/predicate-loader.js +7 -1
  52. package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
  53. package/dist/operations/modeling/predicate-ranker.js +40 -2
  54. package/dist/operations/modeling/predicate-types.d.ts +12 -1
  55. package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
  56. package/dist/operations/modeling/requirement-types.d.ts +12 -0
  57. package/dist/operations/modeling/requirement-types.d.ts.map +1 -1
  58. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
  59. package/dist/operations/modeling/suggest-predicates.js +35 -11
  60. package/dist/operations/mutation/audit.js +1 -1
  61. package/dist/operations/mutation/contradictions.d.ts +1 -1
  62. package/dist/operations/mutation/contradictions.d.ts.map +1 -1
  63. package/dist/operations/mutation/contradictions.js +23 -18
  64. package/dist/operations/mutation/relationships.d.ts.map +1 -1
  65. package/dist/operations/mutation/relationships.js +8 -0
  66. package/dist/operations/mutation/serialization.d.ts.map +1 -1
  67. package/dist/operations/mutation/serialization.js +6 -0
  68. package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
  69. package/dist/operations/mutation/strict-fact.js +68 -3
  70. package/dist/operations/mutation/upsert.d.ts +3 -1
  71. package/dist/operations/mutation/upsert.d.ts.map +1 -1
  72. package/dist/operations/mutation/upsert.js +51 -12
  73. package/dist/operations/mutation/validate-upsert.d.ts.map +1 -1
  74. package/dist/operations/mutation/validate-upsert.js +18 -2
  75. package/dist/operations/mutation/validation.d.ts.map +1 -1
  76. package/dist/operations/mutation/validation.js +8 -0
  77. package/dist/operations/semantic-advisor/analysis-receipt.d.ts +2 -2
  78. package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -1
  79. package/dist/operations/semantic-advisor/analysis-receipt.js +30 -16
  80. package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -1
  81. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
  82. package/dist/operations/semantic-advisor/analyze-prose.js +464 -27
  83. package/dist/operations/semantic-advisor/clauses.d.ts +1 -0
  84. package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
  85. package/dist/operations/semantic-advisor/clauses.js +7 -7
  86. package/dist/operations/semantic-advisor/ingestion-boundary.d.ts +18 -0
  87. package/dist/operations/semantic-advisor/ingestion-boundary.d.ts.map +1 -0
  88. package/dist/operations/semantic-advisor/ingestion-boundary.js +167 -0
  89. package/dist/operations/semantic-advisor/observation-plan.d.ts.map +1 -1
  90. package/dist/operations/semantic-advisor/observation-plan.js +15 -3
  91. package/dist/operations/semantic-advisor/shared.d.ts +9 -0
  92. package/dist/operations/semantic-advisor/shared.d.ts.map +1 -1
  93. package/dist/operations/semantic-advisor/shared.js +38 -4
  94. package/dist/operations/semantic-advisor/types.d.ts +66 -1
  95. package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
  96. package/dist/prolog/codec.d.ts.map +1 -1
  97. package/dist/prolog/codec.js +19 -2
  98. package/dist/prolog.d.ts +6 -0
  99. package/dist/prolog.d.ts.map +1 -1
  100. package/dist/prolog.js +247 -63
  101. package/dist/public/diagnostic-usage.d.ts +17 -0
  102. package/dist/public/diagnostic-usage.d.ts.map +1 -0
  103. package/dist/public/diagnostic-usage.js +152 -0
  104. package/dist/public/distribution-parity.d.ts +90 -0
  105. package/dist/public/distribution-parity.d.ts.map +1 -0
  106. package/dist/public/distribution-parity.js +367 -0
  107. package/dist/public/impact/full-kb-quality.d.ts +2 -0
  108. package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
  109. package/dist/public/impact/full-kb-quality.js +53 -1
  110. package/dist/public/impact-diagnostics.d.ts +2 -0
  111. package/dist/public/impact-diagnostics.d.ts.map +1 -1
  112. package/dist/public/impact-diagnostics.js +1 -0
  113. package/dist/public/operations/catalog.d.ts +235 -11
  114. package/dist/public/operations/catalog.d.ts.map +1 -1
  115. package/dist/public/operations/check-executor.d.ts.map +1 -1
  116. package/dist/public/operations/check-executor.js +4 -0
  117. package/dist/public/operations/discovery-executors.d.ts +6 -0
  118. package/dist/public/operations/discovery-executors.d.ts.map +1 -1
  119. package/dist/public/operations/discovery-executors.js +18 -2
  120. package/dist/public/operations/index.d.ts +5 -0
  121. package/dist/public/operations/index.d.ts.map +1 -1
  122. package/dist/public/operations/index.js +5 -0
  123. package/dist/public/operations/legacy-migration-plan.d.ts +113 -0
  124. package/dist/public/operations/legacy-migration-plan.d.ts.map +1 -0
  125. package/dist/public/operations/legacy-migration-plan.js +409 -0
  126. package/dist/public/operations/node-ports.d.ts.map +1 -1
  127. package/dist/public/operations/node-ports.js +90 -0
  128. package/dist/public/operations/repair-plan.d.ts +184 -0
  129. package/dist/public/operations/repair-plan.d.ts.map +1 -0
  130. package/dist/public/operations/repair-plan.js +397 -0
  131. package/dist/public/operations/runtime-types.d.ts +7 -0
  132. package/dist/public/operations/runtime-types.d.ts.map +1 -1
  133. package/dist/public/operations/specs/check.d.ts +3 -3
  134. package/dist/public/operations/specs/check.d.ts.map +1 -1
  135. package/dist/public/operations/specs/check.js +5 -2
  136. package/dist/public/operations/specs/discovery.d.ts +1 -1
  137. package/dist/public/operations/specs/discovery.js +1 -1
  138. package/dist/public/operations/specs/modeling.d.ts +35 -1
  139. package/dist/public/operations/specs/modeling.d.ts.map +1 -1
  140. package/dist/public/operations/specs/modeling.js +32 -1
  141. package/dist/public/operations/specs/mutation-schemas.d.ts +133 -3
  142. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
  143. package/dist/public/operations/specs/mutation-schemas.js +67 -1
  144. package/dist/public/operations/specs/reporting.d.ts +42 -1
  145. package/dist/public/operations/specs/reporting.d.ts.map +1 -1
  146. package/dist/public/operations/specs/reporting.js +70 -6
  147. package/dist/public/operations/specs/semantic.d.ts +30 -2
  148. package/dist/public/operations/specs/semantic.d.ts.map +1 -1
  149. package/dist/public/operations/specs/semantic.js +35 -3
  150. package/dist/public/operations/specs/upsert.d.ts +133 -3
  151. package/dist/public/operations/specs/upsert.d.ts.map +1 -1
  152. package/dist/public/operations/workspace-snapshot.d.ts +10 -0
  153. package/dist/public/operations/workspace-snapshot.d.ts.map +1 -0
  154. package/dist/public/operations/workspace-snapshot.js +20 -0
  155. package/dist/public/schemas/entity.d.ts.map +1 -1
  156. package/dist/public/schemas/entity.js +332 -0
  157. package/dist/public/schemas/relationship.d.ts.map +1 -1
  158. package/dist/public/schemas/relationship.js +1 -0
  159. package/dist/public/skills/kibi-traceability/SKILL.md +7 -1
  160. package/dist/public/skills/kibi-usage/SKILL.md +44 -12
  161. package/dist/public/skills/kibi-usage/resources/fact-lanes.md +12 -2
  162. package/dist/public/skills/kibi-usage/resources/logic-ir.md +43 -0
  163. package/dist/public/skills/kibi-usage/resources/operation-access.md +19 -19
  164. package/dist/public/skills/kibi-usage/resources/ui-requirements.md +96 -0
  165. package/dist/public/skills/kibi-usage/resources/workflows.md +40 -8
  166. package/dist/public/symbol-granularity.d.ts +9 -0
  167. package/dist/public/symbol-granularity.d.ts.map +1 -1
  168. package/dist/public/symbol-granularity.js +16 -0
  169. package/dist/public/telemetry-acceptance.d.ts +89 -0
  170. package/dist/public/telemetry-acceptance.d.ts.map +1 -0
  171. package/dist/public/telemetry-acceptance.js +597 -0
  172. package/dist/public/telemetry-remediation.d.ts +33 -0
  173. package/dist/public/telemetry-remediation.d.ts.map +1 -0
  174. package/dist/public/telemetry-remediation.js +257 -0
  175. package/dist/public/verification-receipt.d.ts +75 -0
  176. package/dist/public/verification-receipt.d.ts.map +1 -0
  177. package/dist/public/verification-receipt.js +129 -0
  178. package/dist/schemas/entity.schema.json +401 -4
  179. package/dist/traceability/staged-diagnostics.d.ts +1 -1
  180. package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
  181. package/dist/traceability/staged-diagnostics.js +17 -10
  182. package/dist/traceability/staged-impact-contract.js +1 -1
  183. package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
  184. package/dist/traceability/staged-symbols-manifest.js +28 -10
  185. package/dist/traceability/temp-kb.d.ts.map +1 -1
  186. package/dist/traceability/temp-kb.js +49 -3
  187. package/dist/types/entities.d.ts +1 -0
  188. package/dist/types/entities.d.ts.map +1 -1
  189. package/dist/types/relationships.d.ts +1 -1
  190. package/dist/types/relationships.d.ts.map +1 -1
  191. package/dist/utils/rule-registry.d.ts +2 -0
  192. package/dist/utils/rule-registry.d.ts.map +1 -1
  193. package/dist/utils/rule-registry.js +18 -0
  194. package/dist/utils/schema-version.d.ts +1 -1
  195. package/dist/utils/schema-version.js +1 -1
  196. package/package.json +34 -2
  197. package/src/public/diagnostic-usage.ts +206 -0
  198. package/src/public/distribution-parity.ts +580 -0
  199. package/src/public/impact/full-kb-quality.ts +74 -1
  200. package/src/public/impact-diagnostics.ts +16 -0
  201. package/src/public/operations/check-executor.ts +4 -0
  202. package/src/public/operations/discovery-executors.ts +24 -2
  203. package/src/public/operations/index.ts +5 -0
  204. package/src/public/operations/legacy-migration-plan.ts +688 -0
  205. package/src/public/operations/node-ports.ts +109 -0
  206. package/src/public/operations/repair-plan.ts +562 -0
  207. package/src/public/operations/runtime-types.ts +8 -0
  208. package/src/public/operations/specs/check.ts +5 -2
  209. package/src/public/operations/specs/discovery.ts +1 -1
  210. package/src/public/operations/specs/modeling.ts +39 -1
  211. package/src/public/operations/specs/mutation-schemas.ts +77 -1
  212. package/src/public/operations/specs/reporting.ts +91 -6
  213. package/src/public/operations/specs/semantic.ts +42 -3
  214. package/src/public/operations/workspace-snapshot.ts +28 -0
  215. package/src/public/schemas/entity.ts +340 -1
  216. package/src/public/schemas/relationship.ts +1 -0
  217. package/src/public/skills/kibi-traceability/SKILL.md +7 -1
  218. package/src/public/skills/kibi-usage/SKILL.md +44 -12
  219. package/src/public/skills/kibi-usage/resources/fact-lanes.md +12 -2
  220. package/src/public/skills/kibi-usage/resources/logic-ir.md +43 -0
  221. package/src/public/skills/kibi-usage/resources/operation-access.md +19 -19
  222. package/src/public/skills/kibi-usage/resources/ui-requirements.md +96 -0
  223. package/src/public/skills/kibi-usage/resources/workflows.md +40 -8
  224. package/src/public/symbol-granularity.ts +25 -0
  225. package/src/public/telemetry-acceptance.ts +859 -0
  226. package/src/public/telemetry-remediation.ts +462 -0
  227. package/src/public/verification-receipt.ts +170 -0
  228. package/src/schemas/entity.schema.json +401 -4
  229. package/src/schemas/relationship.schema.json +1 -0
@@ -139,7 +139,7 @@ export declare const OPERATION_CATALOG: readonly [{
139
139
  }, {
140
140
  readonly name: "kb_status";
141
141
  readonly cliName: "status";
142
- readonly description: "Report current branch, snapshot, and freshness metadata for the attached KB. Read-only status inspection with no mutation side effects.";
142
+ readonly description: "Report current branch, KB snapshot and freshness metadata, plus the deterministic workspace snapshot used to validate execution receipts. Read-only status inspection with no mutation side effects.";
143
143
  readonly businessInputSchema: {
144
144
  readonly type: "object";
145
145
  readonly properties: {};
@@ -195,7 +195,7 @@ export declare const OPERATION_CATALOG: readonly [{
195
195
  }, {
196
196
  readonly name: "kb_coverage";
197
197
  readonly cliName: "coverage";
198
- readonly description: "Generate curated coverage reports for requirements, symbols, or grouped types. Read-only reporting with no mutation side effects.";
198
+ readonly description: "Generate curated structural coverage and conservative end-to-end requirement proof reports for requirements, symbols, or grouped types. Requirement reports include a deterministic, dependency-ordered, read-only repair plan; optional legacy migration previews reconstruct authored proposition inventories and rank exact schema candidates without producing executable writes. Paginated plans identify incomplete scope. Requirement rows keep coverageStatus separate from proofStatus and require fresh snapshot-bound E2E receipts before proof. No mutation side effects.";
199
199
  readonly businessInputSchema: {
200
200
  readonly type: "object";
201
201
  readonly properties: {
@@ -226,6 +226,38 @@ export declare const OPERATION_CATALOG: readonly [{
226
226
  readonly type: "integer";
227
227
  readonly default: 0;
228
228
  };
229
+ readonly includeMigrationPreview: {
230
+ readonly type: "boolean";
231
+ readonly default: false;
232
+ readonly description: "Opt in to a deterministic, read-only kibi.legacy-migration-plan.v1 preview for ready semantic-inventory repair batches.";
233
+ };
234
+ readonly migrationLimit: {
235
+ readonly type: "integer";
236
+ readonly minimum: 1;
237
+ readonly maximum: 10;
238
+ readonly default: 1;
239
+ readonly description: "Maximum requirement migration batches to preview. Defaults to one review batch.";
240
+ };
241
+ readonly migrationOffset: {
242
+ readonly type: "integer";
243
+ readonly minimum: 0;
244
+ readonly default: 0;
245
+ readonly description: "Zero-based offset into ready semantic-inventory batches.";
246
+ };
247
+ readonly migrationPredicateLimit: {
248
+ readonly type: "integer";
249
+ readonly minimum: 1;
250
+ readonly maximum: 20;
251
+ readonly default: 5;
252
+ readonly description: "Maximum exact predicate-schema candidates retained per assertive proposition.";
253
+ };
254
+ readonly migrationPredicateMinScore: {
255
+ readonly type: "number";
256
+ readonly minimum: 0;
257
+ readonly maximum: 1;
258
+ readonly default: 0.35;
259
+ readonly description: "Minimum deterministic predicate-schema rank score retained in migration previews.";
260
+ };
229
261
  };
230
262
  };
231
263
  readonly requiresProlog: true;
@@ -300,11 +332,39 @@ export declare const OPERATION_CATALOG: readonly [{
300
332
  };
301
333
  readonly description: "Optional complete list of atomic requirement clauses supplied by the caller. Use this for compound prose so every normative clause receives a stable claim key and independent grounding review.";
302
334
  };
335
+ readonly interpretations: {
336
+ readonly type: "array";
337
+ readonly maxItems: 3;
338
+ readonly description: "Optional host-LLM typed kibi.logic.v1 interpretations. Kibi validates and canonicalizes them; raw Prolog is not accepted.";
339
+ readonly items: {
340
+ readonly type: "object";
341
+ readonly required: readonly ["claim_key", "claim_text", "ir"];
342
+ readonly properties: {
343
+ readonly claim_key: {
344
+ readonly type: "string";
345
+ };
346
+ readonly claim_text: {
347
+ readonly type: "string";
348
+ };
349
+ readonly confidence: {
350
+ readonly type: "number";
351
+ readonly minimum: 0;
352
+ readonly maximum: 1;
353
+ };
354
+ readonly span: {
355
+ readonly type: "object";
356
+ };
357
+ readonly ir: {
358
+ readonly type: "object";
359
+ };
360
+ };
361
+ };
362
+ };
303
363
  readonly type: {
304
364
  readonly type: "string";
305
- readonly enum: readonly ["req"];
365
+ readonly enum: readonly ["req", "scenario", "test", "adr", "flag", "event", "symbol", "fact"];
306
366
  readonly default: "req";
307
- readonly description: "Entity type context for analysis. Currently requirement prose is supported.";
367
+ readonly description: "Entity type context for analysis. Requirement, domain-fact, and supporting prose all receive a proposition ledger; only requirements receive deterministic modeling suggestions.";
308
368
  };
309
369
  readonly id: {
310
370
  readonly type: "string";
@@ -386,6 +446,22 @@ export declare const OPERATION_CATALOG: readonly [{
386
446
  readonly uniqueItems: true;
387
447
  readonly description: "Existing requirement logic_claims values. The returned requirement update merges the new atomic claim key into this manifest instead of replacing prior claims.";
388
448
  };
449
+ readonly requirementId: {
450
+ readonly type: "string";
451
+ readonly description: "Optional existing requirement ID to receive the requires_rule relationship.";
452
+ };
453
+ readonly claimKey: {
454
+ readonly type: "string";
455
+ readonly description: "Optional advisor-issued claim key for the exact proposition represented by logic.";
456
+ };
457
+ readonly claimText: {
458
+ readonly type: "string";
459
+ readonly description: "Optional exact proposition text represented by logic; defaults to text.";
460
+ };
461
+ readonly logic: {
462
+ readonly type: "object";
463
+ readonly description: "Optional typed kibi.logic.v1 IR. Kibi validates and canonicalizes it into a rule fact; raw Prolog is rejected.";
464
+ };
389
465
  };
390
466
  };
391
467
  readonly requiresProlog: true;
@@ -394,7 +470,7 @@ export declare const OPERATION_CATALOG: readonly [{
394
470
  }, {
395
471
  readonly name: "kb_suggest_predicates";
396
472
  readonly cliName: "suggest-predicates";
397
- readonly description: "Suggest ontology predicate schemas for prose requirements before agents write facts. Read-only guidance returns ranked candidates, a safe predicate-fact applyPlan, a separate requires_predicate relationshipPlan when a requirement ID is supplied, or an explicit ontology-gap observation when no predicate fits.";
473
+ readonly description: "Suggest ontology predicate schemas for prose requirements before agents write facts. Read-only guidance returns ranked candidates, an applicable predicate-fact plan only when every ordered argument is bound, a separate requires_predicate relationship plan when a requirement ID is supplied, or an explicit ontology-gap observation when no predicate fits.";
398
474
  readonly businessInputSchema: {
399
475
  readonly type: "object";
400
476
  readonly required: readonly ["text"];
@@ -434,6 +510,24 @@ export declare const OPERATION_CATALOG: readonly [{
434
510
  readonly default: true;
435
511
  readonly description: "Whether to include existing KB fact_kind=predicate_schema facts alongside Kibi's built-in predicate catalog. Default: true.";
436
512
  };
513
+ readonly schemaId: {
514
+ readonly type: "string";
515
+ readonly minLength: 1;
516
+ readonly description: "Optional exact reviewed predicate schema ID. When supplied, Kibi selects that schema instead of lexical rank order and fails closed if it is unavailable.";
517
+ };
518
+ readonly argumentBindings: {
519
+ readonly type: "object";
520
+ readonly additionalProperties: {
521
+ readonly type: "string";
522
+ readonly minLength: 1;
523
+ };
524
+ readonly description: "Optional exact predicate argument values keyed by a candidate schema's argument_names. Required before applying a candidate whose binding_status is incomplete; Kibi never substitutes guessed values for unbound arguments.";
525
+ };
526
+ readonly polarityHint: {
527
+ readonly type: "string";
528
+ readonly enum: readonly ["assert", "deny"];
529
+ readonly description: "Optional reviewed polarity override for claims whose surface negation does not express predicate denial. Use only after reviewing the selected schema and full claim scope.";
530
+ };
437
531
  readonly existingLogicClaims: {
438
532
  readonly type: "array";
439
533
  readonly items: {
@@ -618,6 +712,10 @@ export declare const OPERATION_CATALOG: readonly [{
618
712
  readonly type: "string";
619
713
  readonly description: "Optional text anchor/reference. Example: 'requirements.md#L40'.";
620
714
  };
715
+ readonly semantic_text: {
716
+ readonly type: "string";
717
+ readonly description: "Requirement-only authored prose used for semantic inventory hashes and UTF-8 spans. Keep text_ref available for independent document or code evidence.";
718
+ };
621
719
  readonly logic_claims: {
622
720
  readonly type: "array";
623
721
  readonly minItems: 1;
@@ -628,6 +726,30 @@ export declare const OPERATION_CATALOG: readonly [{
628
726
  };
629
727
  readonly description: "Requirement-only manifest of every atomic normative claim key returned by kb_semantic_advisor. A requirement is logic-complete only when every key is grounded by a linked property_value or predicate fact with the same claim_key.";
630
728
  };
729
+ readonly semantic_clauses: {
730
+ readonly type: "array";
731
+ readonly minItems: 1;
732
+ readonly items: {
733
+ readonly type: "string";
734
+ readonly minLength: 1;
735
+ };
736
+ readonly description: "Optional complete atomic decomposition used by kb_semantic_advisor and proposition-complete ingestion. Preserve it when automatic sentence splitting needs a reviewed override.";
737
+ };
738
+ readonly semantic_inventory_version: {
739
+ readonly type: "string";
740
+ readonly const: "kibi.semantic-inventory.v1";
741
+ readonly description: "Requirement-only proposition ledger contract version returned by kb_semantic_advisor.";
742
+ };
743
+ readonly semantic_source_field: {
744
+ readonly type: "string";
745
+ readonly enum: readonly ["semantic_text", "text_ref", "title"];
746
+ readonly description: "Requirement field whose exact UTF-8 bytes anchor semantic_inventory spans.";
747
+ };
748
+ readonly semantic_source_hash: {
749
+ readonly type: "string";
750
+ readonly pattern: "^[a-f0-9]{64}$";
751
+ readonly description: "SHA-256 of the exact semantic source text returned in the advisor inventory contract.";
752
+ };
631
753
  readonly sourceFile: {
632
754
  readonly type: "string";
633
755
  readonly description: "Optional code source file for symbol entities. Example: 'src/auth/login.ts'.";
@@ -652,9 +774,69 @@ export declare const OPERATION_CATALOG: readonly [{
652
774
  readonly enum: readonly ["internal", "consumer"];
653
775
  readonly description: "Optional typed verification perspective for test entities. Example: 'consumer'.";
654
776
  };
777
+ readonly verification_receipts: {
778
+ readonly type: "array";
779
+ readonly maxItems: 50;
780
+ readonly items: {
781
+ readonly type: "object";
782
+ readonly required: readonly ["version", "receipt_id", "test_id", "runner", "command", "scope", "outcome", "code_snapshot", "environment_hash", "started_at", "finished_at", "artifact_digest"];
783
+ readonly properties: {
784
+ readonly version: {
785
+ readonly type: "string";
786
+ readonly const: "kibi.verification-receipt.v1";
787
+ };
788
+ readonly receipt_id: {
789
+ readonly type: "string";
790
+ readonly pattern: "^VR-[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$";
791
+ };
792
+ readonly test_id: {
793
+ readonly type: "string";
794
+ readonly minLength: 1;
795
+ };
796
+ readonly runner: {
797
+ readonly type: "string";
798
+ readonly minLength: 1;
799
+ };
800
+ readonly command: {
801
+ readonly type: "string";
802
+ readonly minLength: 1;
803
+ };
804
+ readonly scope: {
805
+ readonly type: "string";
806
+ readonly enum: readonly ["unit", "integration", "end_to_end"];
807
+ };
808
+ readonly outcome: {
809
+ readonly type: "string";
810
+ readonly enum: readonly ["passed", "failed", "errored", "cancelled", "skipped"];
811
+ };
812
+ readonly code_snapshot: {
813
+ readonly type: "string";
814
+ readonly pattern: "^[a-f0-9]{64}$";
815
+ };
816
+ readonly environment_hash: {
817
+ readonly type: "string";
818
+ readonly pattern: "^[a-f0-9]{64}$";
819
+ };
820
+ readonly started_at: {
821
+ readonly type: "string";
822
+ readonly minLength: 1;
823
+ };
824
+ readonly finished_at: {
825
+ readonly type: "string";
826
+ readonly minLength: 1;
827
+ };
828
+ readonly artifact_digest: {
829
+ readonly type: "string";
830
+ readonly pattern: "^[a-f0-9]{64}$";
831
+ };
832
+ };
833
+ readonly additionalProperties: false;
834
+ };
835
+ readonly description: "Append-only test execution evidence. Proof accepts only the newest valid passed receipt bound to the current code snapshot and within the seven-day freshness window.";
836
+ };
655
837
  readonly fact_kind: {
656
838
  readonly type: "string";
657
- readonly enum: readonly ["subject", "property_value", "observation", "meta", "predicate_schema", "predicate"];
839
+ readonly enum: readonly ["subject", "property_value", "observation", "meta", "predicate_schema", "predicate", "rule_schema", "rule"];
658
840
  readonly description: "Optional fact lane kind for fact entities. Strict lane uses 'subject' and 'property_value'; context lane uses 'observation' or 'meta'; ontology lane uses 'predicate_schema' or 'predicate'. Use kb_model_requirement or kb_suggest_predicates when starting from prose.";
659
841
  };
660
842
  readonly subject_key: {
@@ -776,8 +958,50 @@ export declare const OPERATION_CATALOG: readonly [{
776
958
  };
777
959
  readonly description: "Optional ground-term examples for a predicate schema.";
778
960
  };
961
+ readonly semantic_inventory: {
962
+ readonly type: "array";
963
+ readonly description: "Requirement proposition ledger returned by kb_semantic_advisor; preserve entries while modeling each assertive span.";
964
+ readonly items: {
965
+ readonly type: "object";
966
+ };
967
+ };
968
+ readonly rule_ir: {
969
+ readonly type: "object";
970
+ readonly description: "Schema-validated kibi.logic.v1 rule IR. It is persisted as data and never executed as caller-supplied Prolog.";
971
+ };
972
+ readonly rule_hash: {
973
+ readonly type: "string";
974
+ readonly description: "Deterministic hash of canonical rule_ir.";
975
+ };
976
+ readonly rule_schema_id: {
977
+ readonly type: "string";
978
+ readonly description: "Rule schema fact ID used to validate this rule.";
979
+ };
980
+ readonly rule_name: {
981
+ readonly type: "string";
982
+ readonly description: "Stable rule schema name.";
983
+ };
984
+ readonly semantic_key: {
985
+ readonly type: "string";
986
+ readonly description: "Canonical semantic identity of the normalized logical model.";
987
+ };
988
+ readonly claim_span_start: {
989
+ readonly type: "integer";
990
+ readonly minimum: 0;
991
+ };
992
+ readonly claim_span_end: {
993
+ readonly type: "integer";
994
+ readonly minimum: 0;
995
+ };
779
996
  };
780
- readonly allOf: readonly [Record<string, unknown>];
997
+ readonly allOf: readonly [Record<string, unknown>, {
998
+ readonly if: {
999
+ readonly required: readonly ["verification_receipts"];
1000
+ };
1001
+ readonly then: {
1002
+ readonly required: readonly ["verification_scope"];
1003
+ };
1004
+ }];
781
1005
  readonly required: readonly ["title", "status"];
782
1006
  };
783
1007
  readonly relationships: {
@@ -789,7 +1013,7 @@ export declare const OPERATION_CATALOG: readonly [{
789
1013
  readonly properties: {
790
1014
  readonly type: {
791
1015
  readonly type: "string";
792
- readonly enum: readonly ["depends_on", "specified_by", "verified_by", "validates", "implements", "covered_by", "executable_for", "constrained_by", "constrains", "requires_property", "requires_predicate", "guards", "publishes", "consumes", "supersedes", "relates_to"];
1016
+ readonly enum: readonly ["depends_on", "specified_by", "verified_by", "validates", "implements", "covered_by", "executable_for", "constrained_by", "constrains", "requires_property", "requires_predicate", "requires_rule", "guards", "publishes", "consumes", "supersedes", "relates_to"];
793
1017
  readonly description: "Relationship type enum. Use only supported values. Direction semantics follow KB model (e.g., implements symbol->req, verified_by req/scenario->test, executable_for symbol->test).";
794
1018
  };
795
1019
  readonly from: {
@@ -831,7 +1055,7 @@ export declare const OPERATION_CATALOG: readonly [{
831
1055
  }, {
832
1056
  readonly name: "kb_check";
833
1057
  readonly cliName: "check";
834
- readonly description: "Run KB validation rules and return violations. Use before or after mutations, and after meaningful source edits with impact options to surface symbol granularity and semantic-review diagnostics. Do not use for point lookups. No write side effects. Prefer explicit rules for faster iteration; omit rules for final full validation plus full-KB qualityDiagnostics review.";
1058
+ readonly description: "Run KB validation rules and return violations. Use before or after mutations, and after meaningful source edits with impact options to surface symbol granularity and semantic-review diagnostics. Do not use for point lookups. No write side effects. Prefer explicit rules for faster iteration; omit rules for final full validation plus full-KB qualityDiagnostics review, including telemetry acceptance when .kb/usage.log exists.";
835
1059
  readonly businessInputSchema: {
836
1060
  readonly type: "object";
837
1061
  readonly properties: {
@@ -839,9 +1063,9 @@ export declare const OPERATION_CATALOG: readonly [{
839
1063
  readonly type: "array";
840
1064
  readonly items: {
841
1065
  readonly type: "string";
842
- readonly enum: readonly ["must-priority-coverage", "symbol-coverage", "symbol-traceability", "no-dangling-refs", "no-cycles", "required-fields", "deprecated-adr-no-successor", "domain-contradictions", "strict-fact-shape", "strict-req-fact-pairing", "predicate-verifiability", "logic-coverage", "query-plan-safety"];
1066
+ readonly enum: readonly ["must-priority-coverage", "symbol-coverage", "symbol-traceability", "no-dangling-refs", "no-cycles", "required-fields", "deprecated-adr-no-successor", "domain-contradictions", "strict-fact-shape", "strict-req-fact-pairing", "predicate-verifiability", "logic-coverage", "rule-safety", "rule-verifiability", "semantic-completeness", "query-plan-safety"];
843
1067
  };
844
- readonly description: "Optional rule subset. Allowed: must-priority-coverage, symbol-coverage, symbol-traceability, no-dangling-refs, no-cycles, required-fields, deprecated-adr-no-successor, domain-contradictions, strict-fact-shape, strict-req-fact-pairing, predicate-verifiability, logic-coverage, query-plan-safety. If omitted, server runs all rules plus the full-KB qualityDiagnostics audit scan; if supplied, server preserves scoped validation and skips the full-KB advisory scan.";
1068
+ readonly description: "Optional rule subset. Allowed: must-priority-coverage, symbol-coverage, symbol-traceability, no-dangling-refs, no-cycles, required-fields, deprecated-adr-no-successor, domain-contradictions, strict-fact-shape, strict-req-fact-pairing, predicate-verifiability, logic-coverage, rule-safety, rule-verifiability, semantic-completeness, query-plan-safety. If omitted, server runs all rules plus the full-KB qualityDiagnostics audit scan, including usage telemetry acceptance when evidence exists; if supplied, server preserves scoped validation and skips the full-KB advisory scan.";
845
1069
  };
846
1070
  readonly sourceFiles: {
847
1071
  readonly type: "array";
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/public/operations/catalog.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBe,CAAC;AAO9C,wBAAgB,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAM1D;AAGD,wBAAgB,SAAS,IAAI,SAAS,aAAa,EAAE,CAEpD"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/public/operations/catalog.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBe,CAAC;AAO9C,wBAAgB,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAM1D;AAGD,wBAAgB,SAAS,IAAI,SAAS,aAAa,EAAE,CAEpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-executor.d.ts","sourceRoot":"","sources":["../../../src/public/operations/check-executor.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,sBAAsB,EACtB,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,OAAO,CAAC;CAClE,CAAC;AAcF,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CA4GxC"}
1
+ {"version":3,"file":"check-executor.d.ts","sourceRoot":"","sources":["../../../src/public/operations/check-executor.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,sBAAsB,EACtB,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,OAAO,CAAC;CAClE,CAAC;AAcF,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAgHxC"}
@@ -37,6 +37,8 @@ export async function executeCheck(args, context, options = {}) {
37
37
  ? impactQualityDiagnostics
38
38
  : await collectFullKbQualityDiagnostics({
39
39
  prolog,
40
+ workspaceRoot,
41
+ now: context.clock(),
40
42
  ...maxDiagnosticsOption,
41
43
  });
42
44
  return {
@@ -83,6 +85,8 @@ export async function executeCheck(args, context, options = {}) {
83
85
  : await collectFullKbQualityDiagnostics({
84
86
  prolog,
85
87
  hardViolationEntityIds: new Set(violations.map((v) => v.entityId)),
88
+ workspaceRoot,
89
+ now: context.clock(),
86
90
  ...maxDiagnosticsOption,
87
91
  });
88
92
  return {
@@ -32,6 +32,12 @@ export type StatusPayload = {
32
32
  readonly syncState: string;
33
33
  readonly kbPath?: string;
34
34
  readonly lastSyncSource?: string;
35
+ readonly verificationSnapshot?: string;
36
+ readonly verificationSnapshotAvailable?: boolean;
37
+ readonly verificationSnapshotDirty?: boolean;
38
+ readonly verificationSnapshotFileCount?: number;
39
+ readonly verificationSnapshotVersion?: string;
40
+ readonly verificationSnapshotError?: string;
35
41
  };
36
42
  export declare function executeQuery(input: QueryInput, context: OperationContext): Promise<OperationResult<QueryPayload>>;
37
43
  export declare function executeSearch(input: SearchInput, context: OperationContext): Promise<OperationResult<SearchPayload>>;
@@ -1 +1 @@
1
- {"version":3,"file":"discovery-executors.d.ts","sourceRoot":"","sources":["../../../src/public/operations/discovery-executors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAO3D,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAqBF,wBAAsB,YAAY,CAChC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CA+BxC;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAsCzC;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAyBzC"}
1
+ {"version":3,"file":"discovery-executors.d.ts","sourceRoot":"","sources":["../../../src/public/operations/discovery-executors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAO3D,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACjD,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAC7C,QAAQ,CAAC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CAC7C,CAAC;AAqBF,wBAAsB,YAAY,CAChC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CA+BxC;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAsCzC;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAwCzC"}
@@ -1,6 +1,7 @@
1
1
  import { rankEntities } from "../../search-ranking.js";
2
2
  import { loadEntities, paginateResults, validateEntityType, } from "./discovery-entities.js";
3
3
  import { runOperationJsonQuery } from "./prolog-json.js";
4
+ import { readWorkspaceSnapshot } from "./workspace-snapshot.js";
4
5
  function requireProlog(context) {
5
6
  if (!context.prolog) {
6
7
  throw new Error("Discovery operation requires a Prolog context");
@@ -84,14 +85,29 @@ export async function executeStatus(_input, context) {
84
85
  if (!isStatusPayload(payload)) {
85
86
  throw new Error("Status execution query returned an invalid payload");
86
87
  }
88
+ const snapshotEvidence = await readWorkspaceSnapshot(context);
89
+ const enrichedPayload = {
90
+ ...payload,
91
+ verificationSnapshot: snapshotEvidence.available
92
+ ? snapshotEvidence.snapshot.hash
93
+ : "unknown",
94
+ verificationSnapshotAvailable: snapshotEvidence.available,
95
+ ...(snapshotEvidence.available
96
+ ? {
97
+ verificationSnapshotDirty: snapshotEvidence.snapshot.dirty,
98
+ verificationSnapshotFileCount: snapshotEvidence.snapshot.fileCount,
99
+ verificationSnapshotVersion: snapshotEvidence.snapshot.version,
100
+ }
101
+ : { verificationSnapshotError: snapshotEvidence.error }),
102
+ };
87
103
  return {
88
104
  content: [
89
105
  {
90
106
  type: "text",
91
- text: `Branch ${payload.branch} is ${payload.syncState} (snapshot ${payload.snapshotId}, dirty=${payload.dirty})`,
107
+ text: `Branch ${payload.branch} is ${payload.syncState} (snapshot ${payload.snapshotId}, dirty=${payload.dirty}, verificationSnapshot=${enrichedPayload.verificationSnapshot})`,
92
108
  },
93
109
  ],
94
- structuredContent: payload,
110
+ structuredContent: enrichedPayload,
95
111
  };
96
112
  }
97
113
  catch (error) {
@@ -4,6 +4,8 @@ export * from "./discovery-entities.js";
4
4
  export * from "./discovery-executors.js";
5
5
  export * from "./runtime-types.js";
6
6
  export * from "./node-ports.js";
7
+ export * from "./repair-plan.js";
8
+ export * from "./legacy-migration-plan.js";
7
9
  export * from "./specs/autopilot.js";
8
10
  export * from "./specs/check.js";
9
11
  export * from "./specs/discovery.js";
@@ -14,7 +16,10 @@ export * from "./specs/semantic.js";
14
16
  export * from "./specs/skills.js";
15
17
  export * from "./specs/sparql.js";
16
18
  export * from "./types.js";
19
+ export * from "../telemetry-acceptance.js";
20
+ export * from "../telemetry-remediation.js";
17
21
  export * from "../../operations/autopilot/generate.js";
18
22
  export * from "../../operations/autopilot/presentation.js";
19
23
  export type * from "../../operations/autopilot/types.js";
24
+ export * from "../../logic/ir.js";
20
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,mBAAmB,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,mBAAmB,qCAAqC,CAAC;AACzD,cAAc,mBAAmB,CAAC"}
@@ -4,6 +4,8 @@ export * from "./discovery-entities.js";
4
4
  export * from "./discovery-executors.js";
5
5
  export * from "./runtime-types.js";
6
6
  export * from "./node-ports.js";
7
+ export * from "./repair-plan.js";
8
+ export * from "./legacy-migration-plan.js";
7
9
  export * from "./specs/autopilot.js";
8
10
  export * from "./specs/check.js";
9
11
  export * from "./specs/discovery.js";
@@ -14,5 +16,8 @@ export * from "./specs/semantic.js";
14
16
  export * from "./specs/skills.js";
15
17
  export * from "./specs/sparql.js";
16
18
  export * from "./types.js";
19
+ export * from "../telemetry-acceptance.js";
20
+ export * from "../telemetry-remediation.js";
17
21
  export * from "../../operations/autopilot/generate.js";
18
22
  export * from "../../operations/autopilot/presentation.js";
23
+ export * from "../../logic/ir.js";
@@ -0,0 +1,113 @@
1
+ import type { PredicateSchemaCandidate } from "../../operations/modeling/predicate-types.js";
2
+ import type { RepairPlan } from "./repair-plan.js";
3
+ import type { OperationContext } from "./runtime-types.js";
4
+ export declare const LEGACY_MIGRATION_PLAN_VERSION: "kibi.legacy-migration-plan.v1";
5
+ export type LegacyMigrationPlanInput = {
6
+ readonly migrationLimit?: number;
7
+ readonly migrationOffset?: number;
8
+ readonly migrationPredicateLimit?: number;
9
+ readonly migrationPredicateMinScore?: number;
10
+ };
11
+ export type LegacyMigrationPredicateCandidate = {
12
+ readonly schemaId: string;
13
+ readonly origin: "project_local" | "built_in";
14
+ readonly predicateName: string;
15
+ readonly argumentNames: readonly string[];
16
+ readonly argumentTypes: readonly string[];
17
+ readonly score: number;
18
+ readonly bindingStatus: "complete" | "incomplete";
19
+ readonly unboundArguments: readonly string[];
20
+ readonly polarity: "assert" | "deny";
21
+ readonly canonicalKey: string;
22
+ readonly writeEligible: false;
23
+ };
24
+ export type LegacyMigrationProposition = {
25
+ readonly claimKey: string;
26
+ readonly claimText: string;
27
+ readonly role: string;
28
+ readonly inventoryStatus: string;
29
+ readonly span: {
30
+ readonly start: number;
31
+ readonly end: number;
32
+ };
33
+ readonly recommendedLane: "strict_property" | "predicate" | "rule" | "unresolved" | "nonlogical";
34
+ readonly disposition: "strict_property_candidate" | "predicate_candidate" | "rule_candidate" | "unresolved_ambiguity" | "unresolved_ontology_gap" | "nonlogical";
35
+ readonly predicateCandidates: readonly LegacyMigrationPredicateCandidate[];
36
+ readonly reviewRequired: true;
37
+ };
38
+ export type LegacyMigrationBatch = {
39
+ readonly id: string;
40
+ readonly requirementId: string;
41
+ readonly repairBatchId: string;
42
+ readonly dependsOn: readonly string[];
43
+ readonly state: "ready_for_review" | "blocked";
44
+ readonly autoApplicable: false;
45
+ readonly sourceBinding: {
46
+ readonly status: "compatible" | "conflict" | "missing";
47
+ readonly sourceFile: string | null;
48
+ readonly sourceKind: "authored_markdown_body";
49
+ readonly sourceHash: string | null;
50
+ readonly sourceByteLength: number;
51
+ readonly persistedField: "semantic_text" | null;
52
+ readonly existingTextRef: string | null;
53
+ readonly existingSemanticText: string | null;
54
+ readonly reason: string;
55
+ };
56
+ readonly sourceText: string | null;
57
+ readonly claimDelta: {
58
+ readonly preserved: readonly string[];
59
+ readonly added: readonly string[];
60
+ readonly stale: readonly string[];
61
+ };
62
+ readonly propositions: readonly LegacyMigrationProposition[];
63
+ readonly requirementPropertyPatchPreview: Readonly<Record<string, unknown>> | null;
64
+ readonly diagnostics: readonly string[];
65
+ };
66
+ export type LegacyMigrationPlan = {
67
+ readonly version: typeof LEGACY_MIGRATION_PLAN_VERSION;
68
+ readonly planId: string;
69
+ readonly readOnly: true;
70
+ readonly status: "no_candidates" | "ready" | "blocked" | "partial";
71
+ readonly codeSnapshot: string;
72
+ readonly repairPlanId: string;
73
+ readonly predicateCatalogHash: string;
74
+ readonly scope: {
75
+ readonly repairPlanComplete: boolean;
76
+ readonly candidateRequirements: number;
77
+ readonly selectedRequirements: number;
78
+ readonly offset: number;
79
+ readonly limit: number;
80
+ readonly selectionComplete: boolean;
81
+ readonly nextOffset: number | null;
82
+ };
83
+ readonly applicationPolicy: {
84
+ readonly previewOnly: true;
85
+ readonly reviewEveryProposition: true;
86
+ readonly preserveExistingTextRefs: true;
87
+ readonly exactBindingsBeforeWrite: true;
88
+ readonly validateBeforeEachWrite: true;
89
+ readonly sequentialUpsertsOnly: true;
90
+ readonly recheckContradictionsAfterEachBatch: true;
91
+ };
92
+ readonly summary: {
93
+ readonly batchCount: number;
94
+ readonly readyBatchCount: number;
95
+ readonly blockedBatchCount: number;
96
+ readonly propositionCount: number;
97
+ readonly assertivePropositionCount: number;
98
+ readonly unresolvedPropositionCount: number;
99
+ readonly predicateCandidateCount: number;
100
+ };
101
+ readonly batches: readonly LegacyMigrationBatch[];
102
+ readonly diagnostics: readonly string[];
103
+ };
104
+ type LegacyMigrationPlanDependencies = {
105
+ readonly requirements: readonly Readonly<Record<string, unknown>>[];
106
+ readonly projectPredicateSchemas: readonly PredicateSchemaCandidate[];
107
+ readonly readSource: (requirement: Readonly<Record<string, unknown>>) => Promise<string | null>;
108
+ readonly diagnostics?: readonly string[];
109
+ };
110
+ export declare function buildLegacyMigrationPlan(repairPlan: RepairPlan, input: LegacyMigrationPlanInput, codeSnapshot: string, dependencies: LegacyMigrationPlanDependencies): Promise<LegacyMigrationPlan>;
111
+ export declare function buildLegacyMigrationPlanFromContext(repairPlan: RepairPlan, input: LegacyMigrationPlanInput, codeSnapshot: string, context: OperationContext): Promise<LegacyMigrationPlan>;
112
+ export {};
113
+ //# sourceMappingURL=legacy-migration-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-migration-plan.d.ts","sourceRoot":"","sources":["../../../src/public/operations/legacy-migration-plan.ts"],"names":[],"mappings":"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"}