kibi-cli 0.6.2 → 0.8.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 (49) hide show
  1. package/dist/commands/check.d.ts.map +1 -1
  2. package/dist/commands/check.js +18 -0
  3. package/dist/commands/init-helpers.d.ts +1 -0
  4. package/dist/commands/init-helpers.d.ts.map +1 -1
  5. package/dist/commands/init-helpers.js +39 -6
  6. package/dist/commands/init.d.ts.map +1 -1
  7. package/dist/commands/init.js +2 -1
  8. package/dist/commands/sync/manifest.d.ts +1 -0
  9. package/dist/commands/sync/manifest.d.ts.map +1 -1
  10. package/dist/commands/sync/manifest.js +1 -1
  11. package/dist/commands/sync/persistence.d.ts.map +1 -1
  12. package/dist/commands/sync/persistence.js +4 -2
  13. package/dist/commands/sync/staging.d.ts +3 -0
  14. package/dist/commands/sync/staging.d.ts.map +1 -1
  15. package/dist/commands/sync/staging.js +58 -1
  16. package/dist/commands/sync.d.ts +18 -1
  17. package/dist/commands/sync.d.ts.map +1 -1
  18. package/dist/commands/sync.js +19 -4
  19. package/dist/extractors/markdown.d.ts +2 -0
  20. package/dist/extractors/markdown.d.ts.map +1 -1
  21. package/dist/extractors/symbols-coordinator.d.ts +34 -0
  22. package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
  23. package/dist/extractors/symbols-coordinator.js +70 -1
  24. package/dist/extractors/symbols-ts.d.ts +2 -0
  25. package/dist/extractors/symbols-ts.d.ts.map +1 -1
  26. package/dist/extractors/symbols-ts.js +108 -1
  27. package/dist/public/brief-config.d.ts +4 -0
  28. package/dist/public/brief-config.d.ts.map +1 -0
  29. package/dist/public/brief-config.js +21 -0
  30. package/dist/public/extractors/symbols-coordinator.d.ts +1 -1
  31. package/dist/public/extractors/symbols-coordinator.d.ts.map +1 -1
  32. package/dist/public/extractors/symbols-coordinator.js +1 -1
  33. package/dist/public/operational-artifacts.d.ts +2 -0
  34. package/dist/public/operational-artifacts.d.ts.map +1 -0
  35. package/dist/public/operational-artifacts.js +4 -0
  36. package/dist/search-ranking.d.ts.map +1 -1
  37. package/dist/search-ranking.js +132 -25
  38. package/dist/utils/config.d.ts +18 -3
  39. package/dist/utils/config.d.ts.map +1 -1
  40. package/dist/utils/config.js +39 -0
  41. package/dist/utils/rule-registry.d.ts.map +1 -1
  42. package/dist/utils/rule-registry.js +6 -0
  43. package/package.json +10 -2
  44. package/schema/config.json +73 -0
  45. package/schema/entities.pl +1 -0
  46. package/schema/relationships.pl +4 -0
  47. package/src/public/brief-config.ts +25 -0
  48. package/src/public/extractors/symbols-coordinator.ts +7 -0
  49. package/src/public/operational-artifacts.ts +5 -0
@@ -61,6 +61,74 @@
61
61
  "description": "[DEPRECATED] No longer used. Branch lifecycle now follows git naturally without requiring a configured default. This field is ignored but kept for backward compatibility.",
62
62
  "deprecated": true
63
63
  },
64
+ "briefs": {
65
+ "type": "object",
66
+ "description": "Configuration for shared brief delivery defaults",
67
+ "properties": {
68
+ "enabled": {
69
+ "type": "boolean",
70
+ "default": true
71
+ },
72
+ "retention": {
73
+ "type": "object",
74
+ "properties": {
75
+ "maxPerBranch": {
76
+ "type": "integer",
77
+ "minimum": 1,
78
+ "maximum": 10000,
79
+ "default": 200
80
+ },
81
+ "maxAgeDays": {
82
+ "type": "integer",
83
+ "minimum": 1,
84
+ "maximum": 3650,
85
+ "default": 14
86
+ },
87
+ "keepUnread": {
88
+ "type": "boolean",
89
+ "default": true
90
+ }
91
+ },
92
+ "additionalProperties": false
93
+ },
94
+ "channels": {
95
+ "type": "object",
96
+ "properties": {
97
+ "vscode": {
98
+ "type": "boolean",
99
+ "default": true
100
+ },
101
+ "tui": {
102
+ "type": "boolean",
103
+ "default": true
104
+ }
105
+ },
106
+ "additionalProperties": false
107
+ },
108
+ "tui": {
109
+ "type": "object",
110
+ "properties": {
111
+ "toast": {
112
+ "type": "boolean",
113
+ "default": true
114
+ },
115
+ "appendPrompt": {
116
+ "type": "boolean",
117
+ "default": true
118
+ },
119
+ "idleDelayMs": {
120
+ "type": "integer",
121
+ "minimum": 0,
122
+ "maximum": 60000,
123
+ "default": 1500,
124
+ "description": "Delay in milliseconds after session.idle before idle-brief generation is attempted"
125
+ }
126
+ },
127
+ "additionalProperties": false
128
+ }
129
+ },
130
+ "additionalProperties": false
131
+ },
64
132
  "checks": {
65
133
  "type": "object",
66
134
  "description": "Configuration for KB validation rules",
@@ -113,6 +181,11 @@
113
181
  "type": "boolean",
114
182
  "description": "Detect malformed strict facts (facts with fact_kind that are missing required fields)",
115
183
  "default": false
184
+ },
185
+ "strict-req-fact-pairing": {
186
+ "type": "boolean",
187
+ "description": "Detect requirements with incomplete strict subject/property fact pairing for contradiction-safe semantics",
188
+ "default": false
116
189
  }
117
190
  },
118
191
  "additionalProperties": false
@@ -20,6 +20,7 @@ entity_property(_, status, atom).
20
20
  entity_property(_, created_at, datetime).
21
21
  entity_property(_, updated_at, datetime).
22
22
  entity_property(_, source, uri).
23
+ entity_property(_, sourceFile, uri).
23
24
 
24
25
  % Optional properties
25
26
  entity_property(_, tags, list).
@@ -9,6 +9,7 @@ relationship_type(verified_by).
9
9
  relationship_type(validates).
10
10
  relationship_type(implements).
11
11
  relationship_type(covered_by).
12
+ relationship_type(executable_for).
12
13
  relationship_type(constrained_by).
13
14
  relationship_type(guards).
14
15
  relationship_type(publishes).
@@ -25,6 +26,9 @@ valid_relationship(verified_by, req, test).
25
26
  valid_relationship(validates, test, req).
26
27
  valid_relationship(implements, symbol, req).
27
28
  valid_relationship(covered_by, symbol, test).
29
+ valid_relationship(executable_for, symbol, test).
30
+ valid_relationship(verified_by, scenario, test).
31
+ valid_relationship(validates, test, scenario).
28
32
  valid_relationship(constrained_by, symbol, adr).
29
33
  % guards can target symbol, event, or req
30
34
  valid_relationship(guards, flag, symbol).
@@ -0,0 +1,25 @@
1
+ import { loadConfig, type BriefsConfig } from "../utils/config.js";
2
+
3
+ export type { BriefsConfig } from "../utils/config.js";
4
+
5
+ export function loadBriefConfig(cwd: string = process.cwd()): BriefsConfig { // implements REQ-003
6
+ const briefs = loadConfig(cwd).briefs;
7
+
8
+ return {
9
+ enabled: briefs?.enabled ?? true,
10
+ retention: {
11
+ maxPerBranch: briefs?.retention?.maxPerBranch ?? 200,
12
+ maxAgeDays: briefs?.retention?.maxAgeDays ?? 14,
13
+ keepUnread: briefs?.retention?.keepUnread ?? true,
14
+ },
15
+ channels: {
16
+ vscode: briefs?.channels?.vscode ?? true,
17
+ tui: briefs?.channels?.tui ?? true,
18
+ },
19
+ tui: {
20
+ toast: briefs?.tui?.toast ?? true,
21
+ appendPrompt: briefs?.tui?.appendPrompt ?? true,
22
+ idleDelayMs: briefs?.tui?.idleDelayMs ?? 1500,
23
+ },
24
+ };
25
+ }
@@ -17,6 +17,13 @@
17
17
  */
18
18
 
19
19
  export {
20
+ analyzeSourceText,
20
21
  enrichSymbolCoordinates,
21
22
  type ManifestSymbolEntry,
23
+ type AnalyzeSourceTextOptions,
24
+ type SourceAnalysisProvider,
25
+ type SourceAnalysisResult,
26
+ type SourceModuleAnalysis,
27
+ type SourceSymbolAnalysis,
28
+ type SourceSymbolKind,
22
29
  } from "../../extractors/symbols-coordinator.js";
@@ -0,0 +1,5 @@
1
+ export function isOperationalArtifactPath(pathLike: string): boolean { // implements REQ-001
2
+ const normalized = pathLike.replaceAll("\\", "/");
3
+
4
+ return /(^|\/)\.sisyphus\//.test(normalized);
5
+ }