kibi-cli 2.38.0 → 2.39.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 (91) hide show
  1. package/dist/cli-json-command.d.ts.map +1 -1
  2. package/dist/cli-json-command.js +4 -0
  3. package/dist/cli-register-reporting.d.ts.map +1 -1
  4. package/dist/cli-register-reporting.js +1 -0
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +3 -0
  7. package/dist/commands/coverage.d.ts +1 -0
  8. package/dist/commands/coverage.d.ts.map +1 -1
  9. package/dist/commands/coverage.js +40 -0
  10. package/dist/commands/doctor.d.ts +5 -0
  11. package/dist/commands/doctor.d.ts.map +1 -1
  12. package/dist/commands/doctor.js +14 -0
  13. package/dist/commands/migrate.d.ts.map +1 -1
  14. package/dist/commands/migrate.js +9 -3
  15. package/dist/commands/sync/persistence.d.ts.map +1 -1
  16. package/dist/commands/sync/persistence.js +6 -0
  17. package/dist/extractors/markdown.d.ts +6 -0
  18. package/dist/extractors/markdown.d.ts.map +1 -1
  19. package/dist/extractors/markdown.js +21 -0
  20. package/dist/operations/bootstrap/discovery-evidence.d.ts.map +1 -1
  21. package/dist/operations/bootstrap/discovery-evidence.js +44 -2
  22. package/dist/operations/bootstrap/discovery.d.ts.map +1 -1
  23. package/dist/operations/bootstrap/discovery.js +1 -0
  24. package/dist/operations/proof/explain.d.ts +63 -0
  25. package/dist/operations/proof/explain.d.ts.map +1 -1
  26. package/dist/operations/proof/explain.js +162 -0
  27. package/dist/operations/semantic-advisor/analyze-prose.d.ts +9 -1
  28. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
  29. package/dist/operations/semantic-advisor/analyze-prose.js +21 -0
  30. package/dist/operations/semantic-advisor/case-preview.d.ts +24 -0
  31. package/dist/operations/semantic-advisor/case-preview.d.ts.map +1 -0
  32. package/dist/operations/semantic-advisor/case-preview.js +216 -0
  33. package/dist/operations/semantic-advisor/shared.d.ts.map +1 -1
  34. package/dist/operations/semantic-advisor/shared.js +3 -0
  35. package/dist/operations/semantic-advisor/types.d.ts +23 -0
  36. package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
  37. package/dist/plugins/approved-source-analyzers.generated.d.ts +11 -8
  38. package/dist/plugins/approved-source-analyzers.generated.d.ts.map +1 -1
  39. package/dist/plugins/approved-source-analyzers.generated.js +11 -8
  40. package/dist/plugins/source-classification.d.ts +2 -2
  41. package/dist/plugins/source-classification.d.ts.map +1 -1
  42. package/dist/plugins/source-classification.js +25 -1
  43. package/dist/public/operations/catalog.d.ts +31 -1
  44. package/dist/public/operations/catalog.d.ts.map +1 -1
  45. package/dist/public/operations/repair-plan.d.ts +46 -0
  46. package/dist/public/operations/repair-plan.d.ts.map +1 -1
  47. package/dist/public/operations/repair-plan.js +110 -1
  48. package/dist/public/operations/schema6-check-actions.js +1 -1
  49. package/dist/public/operations/specs/check-rules.generated.d.ts +1 -1
  50. package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -1
  51. package/dist/public/operations/specs/check-rules.generated.js +2 -1
  52. package/dist/public/operations/specs/check.d.ts +1 -1
  53. package/dist/public/operations/specs/mutation-schemas.d.ts +30 -0
  54. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
  55. package/dist/public/operations/specs/mutation-schemas.js +30 -0
  56. package/dist/public/operations/specs/upsert.d.ts +30 -0
  57. package/dist/public/operations/specs/upsert.d.ts.map +1 -1
  58. package/dist/public/schemas/entity.d.ts.map +1 -1
  59. package/dist/public/schemas/entity.js +59 -0
  60. package/dist/public/skills/kibi-commit-review/SKILL.md +6 -2
  61. package/dist/public/skills/kibi-decisions/SKILL.md +7 -2
  62. package/dist/public/skills/kibi-decisions/resources/signoff-views.md +3 -1
  63. package/dist/public/skills/kibi-usage/SKILL.md +9 -1
  64. package/dist/schemas/entity.schema.json +92 -0
  65. package/dist/search-answer.d.ts +3 -2
  66. package/dist/search-answer.d.ts.map +1 -1
  67. package/dist/search-answer.js +56 -3
  68. package/dist/traceability/impact-knowledge.d.ts.map +1 -1
  69. package/dist/traceability/impact-knowledge.js +2 -0
  70. package/dist/traceability/temp-kb.d.ts.map +1 -1
  71. package/dist/traceability/temp-kb.js +11 -1
  72. package/dist/types/entities.d.ts +12 -0
  73. package/dist/types/entities.d.ts.map +1 -1
  74. package/dist/usage-telemetry.d.ts +9 -0
  75. package/dist/usage-telemetry.d.ts.map +1 -1
  76. package/dist/usage-telemetry.js +50 -4
  77. package/dist/utils/rule-registry.generated.d.ts +5 -0
  78. package/dist/utils/rule-registry.generated.d.ts.map +1 -1
  79. package/dist/utils/rule-registry.generated.js +6 -0
  80. package/package.json +3 -3
  81. package/schema/entities.pl +12 -0
  82. package/src/public/operations/repair-plan.ts +152 -1
  83. package/src/public/operations/schema6-check-actions.ts +1 -1
  84. package/src/public/operations/specs/check-rules.generated.ts +2 -1
  85. package/src/public/operations/specs/mutation-schemas.ts +34 -0
  86. package/src/public/schemas/entity.ts +65 -0
  87. package/src/public/skills/kibi-commit-review/SKILL.md +6 -2
  88. package/src/public/skills/kibi-decisions/SKILL.md +7 -2
  89. package/src/public/skills/kibi-decisions/resources/signoff-views.md +3 -1
  90. package/src/public/skills/kibi-usage/SKILL.md +9 -1
  91. package/src/schemas/entity.schema.json +92 -0
@@ -51,7 +51,9 @@ writes and opens the page; `--format json` prints the view.
51
51
  The person answers by number ("1 yes, 2 exploratory, 3 reword: ..."). Copy
52
52
  each answer into `answer`, render again, and record the rules only once every
53
53
  question is answered. An answer is the person's words: quote it in
54
- `origin.ref`; a view itself is never an approval.
54
+ `origin.ref`; a view itself is never an approval. Record the answers on the
55
+ branch of the change they approve and push them to its pull request, never to
56
+ a separate one.
55
57
 
56
58
  ## Summary contents
57
59
 
@@ -2,7 +2,7 @@
2
2
  id: kibi-usage
3
3
  name: Kibi Usage
4
4
  description: Use Kibi's source-first, exact-Git, migration-aware, proof-aware operations safely across MCP or the trusted local CLI, including partial completion repair.
5
- version: 2.36.0
5
+ version: 2.37.0
6
6
  kibiCompatibility: ">=1.0.0"
7
7
  tags:
8
8
  - kibi
@@ -372,6 +372,14 @@ human sets `approved_by`; `kb_check` flags approvals an agent recorded without
372
372
  corroboration. Never fill in an approval yourself. Record why a requirement
373
373
  exists in `rationale`, or link the ADR that explains it.
374
374
 
375
+ A signoff belongs to the change it approves. Ask for it before you open or
376
+ merge the pull request, and when the person answers, record their answer
377
+ (`approved_by` or a `*_waiver_approved_by` field set to them, their words in
378
+ `origin.ref` or `approval_ref`) on the same branch and push it to the same pull
379
+ request. Writing down an answer the person gave is not approving it yourself.
380
+ Never open a separate pull request only to carry a signoff, firmness or waiver
381
+ approval.
382
+
375
383
  ## Decision firmness
376
384
 
377
385
  Requirements and ADRs carry `firmness`, which says what you may do with them.
@@ -562,6 +562,18 @@
562
562
  "minLength": 1,
563
563
  "description": "Requirement-only. Optional reference to the approval decision record (ticket, ADR or review link) for an exception requirement."
564
564
  },
565
+ "failure_side_waiver": {
566
+ "type": "string",
567
+ "minLength": 1,
568
+ "pattern": "\\S",
569
+ "description": "Requirement-only. Why the requirement has no failure side to test: its claims state a capability or an output shape, so there is no input or attempt for Kibi to refuse. Waives the happy_path_only gap once failure_side_waiver_approved_by is set."
570
+ },
571
+ "failure_side_waiver_approved_by": {
572
+ "type": "string",
573
+ "minLength": 1,
574
+ "pattern": "\\S",
575
+ "description": "Requirement-only. The person who accepted failure_side_waiver. Without it the waiver is reported as awaiting approval and the gap stays open."
576
+ },
565
577
  "rationale": {
566
578
  "type": "string",
567
579
  "minLength": 1,
@@ -684,6 +696,32 @@
684
696
  },
685
697
  "reason": {
686
698
  "type": "string"
699
+ },
700
+ "dimension": {
701
+ "type": "object",
702
+ "required": [
703
+ "quantifier",
704
+ "rewrites"
705
+ ],
706
+ "properties": {
707
+ "quantifier": {
708
+ "type": "string",
709
+ "minLength": 1
710
+ },
711
+ "rewrites": {
712
+ "type": "array",
713
+ "items": {
714
+ "type": "string",
715
+ "enum": [
716
+ "bound",
717
+ "rule",
718
+ "count",
719
+ "set"
720
+ ]
721
+ }
722
+ }
723
+ },
724
+ "additionalProperties": false
687
725
  }
688
726
  },
689
727
  "additionalProperties": false
@@ -1602,6 +1640,30 @@
1602
1640
  "claim_text": {
1603
1641
  "type": "string"
1604
1642
  },
1643
+ "dimension_waiver": {
1644
+ "type": "string",
1645
+ "minLength": 1,
1646
+ "pattern": "\\S",
1647
+ "description": "Fact-only. Why the quantifier word in claim_text (each, every, all, or a cardinality bound) ranges over nothing, so the claim needs no count, set or rule. Waives dimension_unrepresented for the claim once dimension_waiver_approved_by is set."
1648
+ },
1649
+ "dimension_waiver_approved_by": {
1650
+ "type": "string",
1651
+ "minLength": 1,
1652
+ "pattern": "\\S",
1653
+ "description": "Fact-only. The person who accepted dimension_waiver. Without it the waiver is reported as awaiting approval and the gap stays open."
1654
+ },
1655
+ "case_waiver": {
1656
+ "type": "string",
1657
+ "minLength": 1,
1658
+ "pattern": "\\S",
1659
+ "description": "Fact-only. Why the edge cases Kibi derives from this fact (the value past a bound, a value outside a set) are covered some other way or cannot occur. Waives uncovered_case for the fact once case_waiver_approved_by is set."
1660
+ },
1661
+ "case_waiver_approved_by": {
1662
+ "type": "string",
1663
+ "minLength": 1,
1664
+ "pattern": "\\S",
1665
+ "description": "Fact-only. The person who accepted case_waiver. Without it the waiver is reported as awaiting approval and the gap stays open."
1666
+ },
1605
1667
  "predicate_name": {
1606
1668
  "type": "string"
1607
1669
  },
@@ -1839,6 +1901,26 @@
1839
1901
  "claim_text"
1840
1902
  ]
1841
1903
  },
1904
+ {
1905
+ "required": [
1906
+ "dimension_waiver"
1907
+ ]
1908
+ },
1909
+ {
1910
+ "required": [
1911
+ "dimension_waiver_approved_by"
1912
+ ]
1913
+ },
1914
+ {
1915
+ "required": [
1916
+ "case_waiver"
1917
+ ]
1918
+ },
1919
+ {
1920
+ "required": [
1921
+ "case_waiver_approved_by"
1922
+ ]
1923
+ },
1842
1924
  {
1843
1925
  "required": [
1844
1926
  "predicate_name"
@@ -2051,6 +2133,16 @@
2051
2133
  "approval_ref"
2052
2134
  ]
2053
2135
  },
2136
+ {
2137
+ "required": [
2138
+ "failure_side_waiver"
2139
+ ]
2140
+ },
2141
+ {
2142
+ "required": [
2143
+ "failure_side_waiver_approved_by"
2144
+ ]
2145
+ },
2054
2146
  {
2055
2147
  "required": [
2056
2148
  "rationale"