kibi-cli 2.9.0 → 2.11.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 (57) hide show
  1. package/dist/operations/bootstrap/candidates.d.ts +2 -1
  2. package/dist/operations/bootstrap/candidates.d.ts.map +1 -1
  3. package/dist/operations/bootstrap/candidates.js +2 -2
  4. package/dist/operations/bootstrap/generate.d.ts.map +1 -1
  5. package/dist/operations/bootstrap/generate.js +6 -2
  6. package/dist/operations/bootstrap/intent-claims.d.ts +2 -1
  7. package/dist/operations/bootstrap/intent-claims.d.ts.map +1 -1
  8. package/dist/operations/bootstrap/intent-claims.js +27 -5
  9. package/dist/operations/bootstrap/markdown-candidates.d.ts +8 -1
  10. package/dist/operations/bootstrap/markdown-candidates.d.ts.map +1 -1
  11. package/dist/operations/bootstrap/markdown-candidates.js +59 -5
  12. package/dist/operations/bootstrap/presentation.d.ts.map +1 -1
  13. package/dist/operations/bootstrap/presentation.js +6 -0
  14. package/dist/operations/bootstrap/requirement-claims.d.ts +61 -1
  15. package/dist/operations/bootstrap/requirement-claims.d.ts.map +1 -1
  16. package/dist/operations/bootstrap/requirement-claims.js +263 -0
  17. package/dist/operations/bootstrap/types.d.ts +6 -0
  18. package/dist/operations/bootstrap/types.d.ts.map +1 -1
  19. package/dist/operations/modeling/predicate-applyplan.d.ts +7 -0
  20. package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -1
  21. package/dist/operations/modeling/predicate-applyplan.js +39 -12
  22. package/dist/operations/modeling/predicate-binding-hints.d.ts +11 -0
  23. package/dist/operations/modeling/predicate-binding-hints.d.ts.map +1 -0
  24. package/dist/operations/modeling/predicate-binding-hints.js +91 -0
  25. package/dist/operations/modeling/predicate-bindings.d.ts +24 -1
  26. package/dist/operations/modeling/predicate-bindings.d.ts.map +1 -1
  27. package/dist/operations/modeling/predicate-bindings.js +113 -3
  28. package/dist/operations/modeling/predicate-types.d.ts +19 -1
  29. package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
  30. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
  31. package/dist/operations/modeling/suggest-predicates.js +117 -44
  32. package/dist/operations/planning/apply-plan.d.ts +8 -0
  33. package/dist/operations/planning/apply-plan.d.ts.map +1 -1
  34. package/dist/operations/planning/apply-plan.js +69 -20
  35. package/dist/operations/semantic-advisor/observation-plan.d.ts +7 -0
  36. package/dist/operations/semantic-advisor/observation-plan.d.ts.map +1 -1
  37. package/dist/operations/semantic-advisor/observation-plan.js +13 -14
  38. package/dist/public/operations/catalog.d.ts +15 -0
  39. package/dist/public/operations/catalog.d.ts.map +1 -1
  40. package/dist/public/operations/contracts.d.ts.map +1 -1
  41. package/dist/public/operations/contracts.js +5 -1
  42. package/dist/public/operations/specs/bootstrap.d.ts +15 -0
  43. package/dist/public/operations/specs/bootstrap.d.ts.map +1 -1
  44. package/dist/public/operations/specs/bootstrap.js +15 -0
  45. package/dist/public/operations/specs/planning.d.ts +1 -1
  46. package/dist/public/operations/specs/planning.d.ts.map +1 -1
  47. package/dist/public/operations/specs/planning.js +1 -1
  48. package/dist/public/skills/kibi-bootstrap/SKILL.md +5 -5
  49. package/dist/public/skills/kibi-usage/SKILL.md +20 -8
  50. package/dist/public/skills/kibi-usage/resources/workflows.md +2 -2
  51. package/package.json +1 -1
  52. package/src/public/operations/contracts.ts +6 -1
  53. package/src/public/operations/specs/bootstrap.ts +18 -0
  54. package/src/public/operations/specs/planning.ts +4 -1
  55. package/src/public/skills/kibi-bootstrap/SKILL.md +5 -5
  56. package/src/public/skills/kibi-usage/SKILL.md +20 -8
  57. package/src/public/skills/kibi-usage/resources/workflows.md +2 -2
@@ -1,3 +1,5 @@
1
+ import { createHash } from "node:crypto";
2
+ import { isConventionalSubjectKey, normalizeSubjectKey, } from "../../utils/strict-modeling.js";
1
3
  // implements REQ-KIBI-BOOTSTRAP-PLAN
2
4
  export function normalizeClaimStatement(statement) {
3
5
  return statement
@@ -58,3 +60,264 @@ export function claimFor(statement, source, confidence, provenance) {
58
60
  provenance,
59
61
  };
60
62
  }
63
+ /** One lowercase snake segment, or "" when the value has no usable word. */
64
+ function snakeSegment(value) {
65
+ return value
66
+ .trim()
67
+ .toLowerCase()
68
+ .replace(/[^a-z0-9]+/g, "_")
69
+ .replace(/^_+|_+$/g, "");
70
+ }
71
+ /** The longest aspect a bootstrap key keeps as derived. */
72
+ export const MAX_ASPECT_WORDS = 4;
73
+ export const MAX_ASPECT_CHARS = 40;
74
+ /** Words that start a dependent clause or a second item: the aspect ends before them. */
75
+ const ASPECT_BOUNDARY_WORDS = new Set([
76
+ "when",
77
+ "whenever",
78
+ "while",
79
+ "if",
80
+ "unless",
81
+ "without",
82
+ "after",
83
+ "before",
84
+ "until",
85
+ "because",
86
+ "once",
87
+ "as",
88
+ "by",
89
+ "via",
90
+ "during",
91
+ "except",
92
+ "so",
93
+ "that",
94
+ "which",
95
+ "who",
96
+ "where",
97
+ "since",
98
+ "for",
99
+ "and",
100
+ "or",
101
+ ]);
102
+ /** Words that carry no meaning in a key on their own. */
103
+ const ASPECT_STOP_WORDS = new Set([
104
+ "a",
105
+ "an",
106
+ "the",
107
+ "be",
108
+ "is",
109
+ "are",
110
+ "was",
111
+ "were",
112
+ "been",
113
+ "being",
114
+ "to",
115
+ "of",
116
+ "in",
117
+ "on",
118
+ "at",
119
+ "with",
120
+ "from",
121
+ "into",
122
+ "its",
123
+ "it",
124
+ "their",
125
+ "they",
126
+ "them",
127
+ "this",
128
+ "these",
129
+ "those",
130
+ "can",
131
+ "could",
132
+ "will",
133
+ "would",
134
+ "may",
135
+ "might",
136
+ "must",
137
+ "shall",
138
+ "should",
139
+ "do",
140
+ "does",
141
+ "has",
142
+ "have",
143
+ "had",
144
+ "any",
145
+ "all",
146
+ "each",
147
+ "every",
148
+ "some",
149
+ "only",
150
+ "also",
151
+ "then",
152
+ "than",
153
+ "not",
154
+ "no",
155
+ ]);
156
+ function fitsAspect(words) {
157
+ return (words.length > 0 &&
158
+ words.length <= MAX_ASPECT_WORDS &&
159
+ words.join("_").length <= MAX_ASPECT_CHARS);
160
+ }
161
+ function trimStopWords(words) {
162
+ let start = 0;
163
+ let end = words.length;
164
+ while (start < end && ASPECT_STOP_WORDS.has(words[start] ?? ""))
165
+ start += 1;
166
+ while (end > start && ASPECT_STOP_WORDS.has(words[end - 1] ?? ""))
167
+ end -= 1;
168
+ return words.slice(start, end);
169
+ }
170
+ /**
171
+ * A short noun-phrase aspect for a long one, deterministically: the words
172
+ * before the first clause boundary (when, while, for, and, ...), without
173
+ * leading or trailing stop words; if that is still longer than four words or
174
+ * forty characters, its content words (no stop words or -ly adverbs); if
175
+ * those are still too long, the first content word and the last two, where a
176
+ * noun phrase keeps its head noun. An aspect that already fits is returned
177
+ * unchanged.
178
+ */
179
+ // implements REQ-bootstrap-claim-name-length
180
+ export function shortenSubjectAspect(aspect) {
181
+ const words = aspect.split("_").filter(Boolean);
182
+ if (fitsAspect(words))
183
+ return aspect;
184
+ const boundary = words.findIndex((word, index) => index > 0 &&
185
+ ASPECT_BOUNDARY_WORDS.has(word) &&
186
+ trimStopWords(words.slice(0, index)).length > 0);
187
+ const head = trimStopWords(boundary < 0 ? words : words.slice(0, boundary));
188
+ if (fitsAspect(head))
189
+ return head.join("_");
190
+ // Content words only: no stop words, no -ly adverbs.
191
+ const content = head.filter((word) => !ASPECT_STOP_WORDS.has(word) && !(word.length > 4 && word.endsWith("ly")));
192
+ if (fitsAspect(content))
193
+ return content.join("_");
194
+ // The leading word (the action or state) and the closing words, where an
195
+ // English noun phrase keeps its head noun.
196
+ const picked = Array.from(new Set([content[0], ...content.slice(-(MAX_ASPECT_WORDS - 2))])).filter((word) => typeof word === "string");
197
+ while (picked.length > 1 && picked.join("_").length > MAX_ASPECT_CHARS)
198
+ picked.splice(1, 1);
199
+ const short = picked.join("_");
200
+ return short.length > 0
201
+ ? short.slice(0, MAX_ASPECT_CHARS).replace(/_+$/, "")
202
+ : (words[0] ?? aspect).slice(0, MAX_ASPECT_CHARS);
203
+ }
204
+ function withShortAspect(component, aspect) {
205
+ const full = `${component}.${aspect}`;
206
+ const short = shortenSubjectAspect(aspect);
207
+ const candidate = `${component}.${short}`;
208
+ if (!isConventionalSubjectKey(candidate))
209
+ return {
210
+ ok: false,
211
+ reason: `subject key "${candidate}" does not follow component.aspect[.sub]`,
212
+ };
213
+ return short === aspect
214
+ ? { ok: true, subjectKey: candidate }
215
+ : { ok: true, subjectKey: candidate, shortenedFrom: full };
216
+ }
217
+ /**
218
+ * The bootstrap subject key in the component.aspect[.sub] shape that
219
+ * subject-key-shape checks. A subject that already has that shape is kept.
220
+ * Otherwise the component comes from the declared `component` (claim or
221
+ * knowledge source) and the aspect from the claim's subject; a one-word
222
+ * subject is itself the component and the constrained property becomes the
223
+ * aspect. An aspect longer than four words or forty characters is shortened
224
+ * to a noun phrase and the original key is returned in `shortenedFrom`. When
225
+ * no component can be named the claim is not resolved, so the caller reports
226
+ * it instead of writing a malformed key.
227
+ */
228
+ // implements REQ-bootstrap-subject-key-shape, REQ-bootstrap-claim-name-length
229
+ export function resolveBootstrapSubjectKey(subject, propertyKey, component) {
230
+ const stripped = subject.trim().replace(/^(?:the|a|an)\s+/i, "");
231
+ let key;
232
+ try {
233
+ key = normalizeSubjectKey(stripped);
234
+ }
235
+ catch {
236
+ return { ok: false, reason: `subject "${subject}" has no usable words` };
237
+ }
238
+ if (isConventionalSubjectKey(key))
239
+ return { ok: true, subjectKey: key };
240
+ const flat = key.replace(/\./g, "_");
241
+ const comp = component === undefined ? "" : snakeSegment(component);
242
+ const property = snakeSegment(propertyKey);
243
+ if (comp) {
244
+ const aspect = flat === comp
245
+ ? property
246
+ : flat.startsWith(`${comp}_`)
247
+ ? flat.slice(comp.length + 1)
248
+ : flat;
249
+ return withShortAspect(comp, aspect);
250
+ }
251
+ if (/^[a-z][a-z0-9]*$/.test(flat) && property)
252
+ return withShortAspect(flat, property);
253
+ return {
254
+ ok: false,
255
+ reason: `subject key "${flat}" names no component, so it would violate component.aspect[.sub]`,
256
+ };
257
+ }
258
+ /**
259
+ * Keeps the subject keys of one bootstrap plan distinct. Claims about the
260
+ * same subject (the same full key) share a key; when shortening collapses two
261
+ * different subjects onto one key, the later one gets a third segment from
262
+ * its own wording (or a short digest) instead of colliding.
263
+ */
264
+ // implements REQ-bootstrap-claim-name-length
265
+ export class SubjectKeyRegistry {
266
+ owners = new Map();
267
+ assigned = new Map();
268
+ /** The plan-wide key for a resolution, and the key it collided with, if any. */
269
+ assign(resolution) {
270
+ const identity = resolution.shortenedFrom ?? resolution.subjectKey;
271
+ const known = this.assigned.get(identity);
272
+ if (known !== undefined)
273
+ return { subjectKey: known };
274
+ const owner = this.owners.get(resolution.subjectKey);
275
+ if (owner === undefined || owner === identity) {
276
+ this.owners.set(resolution.subjectKey, identity);
277
+ this.assigned.set(identity, resolution.subjectKey);
278
+ return { subjectKey: resolution.subjectKey };
279
+ }
280
+ const used = new Set(resolution.subjectKey.split(/[._]/));
281
+ const fullWords = identity.split(".").slice(1).join("_").split("_");
282
+ const qualifier = fullWords.find((word) => /^[a-z][a-z0-9]*$/.test(word) &&
283
+ !used.has(word) &&
284
+ !ASPECT_STOP_WORDS.has(word) &&
285
+ !ASPECT_BOUNDARY_WORDS.has(word) &&
286
+ !this.owners.has(`${resolution.subjectKey}.${word}`));
287
+ const subjectKey = `${resolution.subjectKey}.${qualifier ?? `k${digest(identity)}`}`;
288
+ this.owners.set(subjectKey, identity);
289
+ this.assigned.set(identity, subjectKey);
290
+ return { subjectKey, collidedWith: resolution.subjectKey };
291
+ }
292
+ }
293
+ function digest(value) {
294
+ return createHash("sha256").update(value).digest("hex").slice(0, 6);
295
+ }
296
+ /**
297
+ * Resolve a claim's subject key for a plan and describe any renaming as a
298
+ * plan diagnostic, so the operator can pick a better name before applying.
299
+ */
300
+ // implements REQ-bootstrap-claim-name-length
301
+ export function planSubjectKey(subject, propertyKey, component, registry, location) {
302
+ const resolved = resolveBootstrapSubjectKey(subject, propertyKey, component);
303
+ if (!resolved.ok)
304
+ return { resolution: resolved, diagnostics: [] };
305
+ const diagnostics = [];
306
+ const assigned = registry?.assign(resolved) ?? {
307
+ subjectKey: resolved.subjectKey,
308
+ };
309
+ if (resolved.shortenedFrom)
310
+ diagnostics.push(`subject-key-shortened: claim at ${location} would have the subject key ${resolved.shortenedFrom}; its aspect is longer than ${MAX_ASPECT_WORDS} words or ${MAX_ASPECT_CHARS} characters, so the plan uses ${assigned.subjectKey}. Rename the subject after apply if another noun phrase fits better.`);
311
+ if (assigned.collidedWith)
312
+ diagnostics.push(`subject-key-disambiguated: claim at ${location} names a different subject than an earlier claim keyed ${assigned.collidedWith}, so the plan uses ${assigned.subjectKey} instead of reusing that key.`);
313
+ return {
314
+ resolution: {
315
+ ok: true,
316
+ subjectKey: assigned.subjectKey,
317
+ ...(resolved.shortenedFrom
318
+ ? { shortenedFrom: resolved.shortenedFrom }
319
+ : {}),
320
+ },
321
+ diagnostics,
322
+ };
323
+ }
@@ -22,6 +22,8 @@ export type BootstrapKnowledgeSource = {
22
22
  readonly authority: (typeof KNOWLEDGE_SOURCE_AUTHORITIES)[number];
23
23
  readonly connector?: string;
24
24
  readonly notes?: string;
25
+ /** Component the source's claims are about, the first subject_key segment. */
26
+ readonly component?: string;
25
27
  };
26
28
  /**
27
29
  * What a harvested claim is: intended behavior, an observation about how
@@ -38,6 +40,10 @@ export type BootstrapIntentClaim = {
38
40
  readonly excerpt?: string;
39
41
  /** Defaults to intent; normalization omits the default. */
40
42
  readonly kind?: BootstrapIntentClaimKind;
43
+ /** Component the claim is about; overrides the knowledge source's. */
44
+ readonly component?: string;
45
+ /** Why the requirement exists, as the source or the human stated it. */
46
+ readonly rationale?: string;
41
47
  };
42
48
  /** Identifies one declared claim by its source and exact citation. */
43
49
  export type BootstrapClaimReference = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/operations/bootstrap/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/operations/bootstrap/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGxE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,MAAM,CAGR;AAED,mFAAmF;AACnF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAChE,GAAG,MAAM,CAWT;AAED,eAAO,MAAM,sBAAsB,8HAUzB,CAAC;AACX,eAAO,MAAM,4BAA4B,mDAI/B,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,qDAIrB,CAAC;AACX,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,wBAAwB,CAAC;IACzC,sEAAsE;IACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,eAAe,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAChE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAC5B,KAAK,GACL,UAAU,GACV,MAAM,GACN,KAAK,GACL,MAAM,GACN,QAAQ,CACX,EAAE,CAAC;IACJ,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,GAAG,cAAc,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAGhD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAChE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,cAAc,GACd,eAAe,GACf,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,cAAc,GACtB,sBAAsB,GACtB,kBAAkB,GAClB,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,GACzB,kBAAkB,CAAC;AAEvB,eAAO,MAAM,wBAAwB,sHAO3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,aAAa,GACb,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,SAAS;QAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;KACrB,EAAE,CAAC;IACJ,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;KAChE,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;QAC5B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;QAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;QACxC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IACpE,QAAQ,CAAC,oBAAoB,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5E,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;IAC3E,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5E,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC7B,eAAe,CAAC,0BAA0B,CAAC,GAAG;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;CACxD,CAAC"}
@@ -8,6 +8,13 @@ export declare function buildSuggestion(schema: PredicateSchemaCandidate, text:
8
8
  }): PredicateSuggestion;
9
9
  export declare function buildPredicateApplyPlan(suggestion: PredicateSuggestion, args: SuggestPredicatesArgs): Array<Record<string, unknown>>;
10
10
  export declare function buildRelationshipPlan(factId: string | undefined, requirementId: string | undefined, claimText?: string, existingLogicClaims?: readonly string[]): Record<string, unknown> | null;
11
+ /**
12
+ * The ontology-gap observation plan. It is a review note, not a semantic
13
+ * claim: it quotes the claim in claim_text without a claim_key, carries the
14
+ * review tags in `tags` only (a tag is not an entity, so no relationship
15
+ * targets it) and explains itself in `document.body`, so kb_upsert accepts
16
+ * it unchanged.
17
+ */
11
18
  export declare function buildGapApplyPlan(text: string, args: SuggestPredicatesArgs): Array<Record<string, unknown>>;
12
19
  /**
13
20
  * Build a review-only schema draft when retrieval found no eligible schema.
@@ -1 +1 @@
1
- {"version":3,"file":"predicate-applyplan.d.ts","sourceRoot":"","sources":["../../../src/operations/modeling/predicate-applyplan.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAEV,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAQ9B,wBAAgB,eAAe,CAC7B,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,gBAAgB,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EACvD,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,EAChC,WAAW,CAAC,EAAE;IACZ,WAAW,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACtC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACA,mBAAmB,CA8FrB;AAGD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,qBAAqB,GAC1B,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqChC;AAGD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,CAAC,EAAE,MAAM,EAClB,mBAAmB,GAAE,SAAS,MAAM,EAAO,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAuBhC;AAGD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,qBAAqB,GAC1B,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+BhC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,0BAA0B,CAoE5B"}
1
+ {"version":3,"file":"predicate-applyplan.d.ts","sourceRoot":"","sources":["../../../src/operations/modeling/predicate-applyplan.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAEV,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAQ9B,wBAAgB,eAAe,CAC7B,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,gBAAgB,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EACvD,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,EAChC,WAAW,CAAC,EAAE;IACZ,WAAW,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACtC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACA,mBAAmB,CAyGrB;AAGD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,qBAAqB,GAC1B,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqChC;AAGD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,CAAC,EAAE,MAAM,EAClB,mBAAmB,GAAE,SAAS,MAAM,EAAO,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAuBhC;AAoBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,qBAAqB,GAC1B,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAwBhC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,0BAA0B,CAoE5B"}
@@ -33,7 +33,18 @@ export function buildSuggestion(schema, text, subject, score, argumentBindings =
33
33
  !(index === 0 &&
34
34
  predicateArgs[index] === "launcher" &&
35
35
  diagnostics?.explicitSubject !== true &&
36
- typeof argumentBindings[name] !== "string")),
36
+ typeof argumentBindings[name] !== "string"),
37
+ // A subject named through subjectHint is the agent's reviewed
38
+ // subject, even when the schema names its first argument after it.
39
+ index === 0 &&
40
+ diagnostics?.explicitSubject === true &&
41
+ typeof argumentBindings[name] !== "string"
42
+ ? { constants: schema.argument_constants?.[name] }
43
+ : {
44
+ argumentName: name,
45
+ argumentNames: schema.argument_names,
46
+ constants: schema.argument_constants?.[name],
47
+ }),
37
48
  ]));
38
49
  const bindingProvenance = aggregateBindingProvenance(Object.values(bindingProvenanceByArgument));
39
50
  const unboundArguments = schema.argument_names.filter((name) => undeclaredArguments.has(name) ||
@@ -136,9 +147,31 @@ export function buildRelationshipPlan(factId, requirementId, claimText, existing
136
147
  instructions: `Apply the predicate fact ${factId} first, update the requirement with the returned merged logicClaims manifest, then attach this relationship without overwriting other requirement metadata. The relationship target is the planned fact id ${factId}, never a candidates[].id (SUGGEST-...).`,
137
148
  };
138
149
  }
139
- // implements REQ-mcp-suggest-predicates
150
+ /**
151
+ * The prose an ontology-gap observation carries in `document.body`. Schema 8
152
+ * blocks an observation without body context (entity-context-missing), so the
153
+ * body says why the note exists and quotes the claim it is about.
154
+ */
155
+ function gapObservationBody(text, args) {
156
+ const origin = [
157
+ args.requirementId ? `requirement ${args.requirementId}` : null,
158
+ args.source ? `source ${args.source}` : null,
159
+ ].filter((value) => value !== null);
160
+ return [
161
+ "No available predicate schema fits this claim, so kb_model mode predicates recorded it as an open ontology gap. The observation does not ground the claim; it stays visible for review until a reviewed predicate_schema covers this kind of statement.",
162
+ ...(origin.length > 0 ? [`Claim from ${origin.join(", ")}:`] : ["Claim:"]),
163
+ `> ${text.trim().replace(/\n/g, "\n> ")}`,
164
+ ].join("\n\n");
165
+ }
166
+ // implements REQ-mcp-suggest-predicates, REQ-model-predicates-plan-roundtrip
167
+ /**
168
+ * The ontology-gap observation plan. It is a review note, not a semantic
169
+ * claim: it quotes the claim in claim_text without a claim_key, carries the
170
+ * review tags in `tags` only (a tag is not an entity, so no relationship
171
+ * targets it) and explains itself in `document.body`, so kb_upsert accepts
172
+ * it unchanged.
173
+ */
140
174
  export function buildGapApplyPlan(text, args) {
141
- const claimKey = semanticClaimKey(text);
142
175
  const factId = hashId("FACT-ONTOLOGY-GAP", [
143
176
  args.requirementId ?? "",
144
177
  args.source ?? "",
@@ -152,20 +185,14 @@ export function buildGapApplyPlan(text, args) {
152
185
  title: "Ontology gap: predicate schema needed",
153
186
  status: "active",
154
187
  source: args.source ?? "mcp://kibi/suggest-predicates",
155
- text_ref: args.source,
188
+ ...(args.source ? { text_ref: args.source } : {}),
156
189
  tags: ["review:ontology-gap", "needs_schema_extension"],
157
190
  fact_kind: "observation",
158
191
  value_string: text,
159
- claim_key: claimKey,
160
192
  claim_text: text,
161
193
  },
162
- relationships: [
163
- {
164
- type: "relates_to",
165
- from: factId,
166
- to: "review:ontology-gap",
167
- },
168
- ],
194
+ document: { body: gapObservationBody(text, args) },
195
+ relationships: [],
169
196
  },
170
197
  ];
171
198
  }
@@ -0,0 +1,11 @@
1
+ import type { BindingHint, PredicateSuggestion } from "./predicate-types.js";
2
+ /**
3
+ * For each unbound argument of a candidate: its type, its declared constants
4
+ * when the vocabulary is closed, example values from the schema, and why the
5
+ * current value was not accepted, so the agent binds from the claim text
6
+ * instead of guessing.
7
+ */
8
+ export declare function buildBindingHints(candidate: PredicateSuggestion, text: string): BindingHint[];
9
+ /** One line per hint for the text summary: `name (type, e.g. a, b)`. */
10
+ export declare function describeBindingHints(hints: readonly BindingHint[]): string;
11
+ //# sourceMappingURL=predicate-binding-hints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predicate-binding-hints.d.ts","sourceRoot":"","sources":["../../../src/operations/modeling/predicate-binding-hints.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAoD7E;;;;;GAKG;AAEH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE,MAAM,GACX,WAAW,EAAE,CA2Bf;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAW1E"}
@@ -0,0 +1,91 @@
1
+ import { isGenericPlaceholder, nameOrStopWordReason, } from "./predicate-bindings.js";
2
+ const MAX_EXAMPLES = 5;
3
+ /** Split `name(a, b(c), d)` into its top-level arguments, or [] when it is not a call. */
4
+ function exampleArguments(example) {
5
+ const open = example.indexOf("(");
6
+ const close = example.lastIndexOf(")");
7
+ if (open < 0 || close <= open)
8
+ return [];
9
+ const inner = example.slice(open + 1, close);
10
+ const args = [];
11
+ let depth = 0;
12
+ let current = "";
13
+ for (const char of inner) {
14
+ if (char === "(" || char === "[")
15
+ depth += 1;
16
+ if (char === ")" || char === "]")
17
+ depth -= 1;
18
+ if (char === "," && depth === 0) {
19
+ args.push(current.trim());
20
+ current = "";
21
+ continue;
22
+ }
23
+ current += char;
24
+ }
25
+ args.push(current.trim());
26
+ return args.filter(Boolean);
27
+ }
28
+ function unboundReason(candidate, name, value, text) {
29
+ const schema = candidate.schema;
30
+ const provenance = candidate.binding_provenance_by_argument[name];
31
+ const nameReason = nameOrStopWordReason(value, {
32
+ argumentName: name,
33
+ argumentNames: schema.argument_names,
34
+ constants: schema.argument_constants?.[name],
35
+ text,
36
+ });
37
+ if (nameReason !== null)
38
+ return `The value "${value}" is not a binding: ${nameReason}.`;
39
+ if (!value.trim() || isGenericPlaceholder(value))
40
+ return "The claim text names no value for this argument.";
41
+ if (provenance === "inferred")
42
+ return `The value "${value}" was inferred and does not appear in the claim text; confirm it or pass the exact value.`;
43
+ if (schema.argument_constants?.[name])
44
+ return `The value "${value}" is not one of this argument's declared constants.`;
45
+ return `The value "${value}" needs review.`;
46
+ }
47
+ /**
48
+ * For each unbound argument of a candidate: its type, its declared constants
49
+ * when the vocabulary is closed, example values from the schema, and why the
50
+ * current value was not accepted, so the agent binds from the claim text
51
+ * instead of guessing.
52
+ */
53
+ // implements REQ-model-predicates-binding-placeholders
54
+ export function buildBindingHints(candidate, text) {
55
+ const schema = candidate.schema;
56
+ const parsedExamples = schema.examples.map(exampleArguments);
57
+ return candidate.unbound_arguments.map((name) => {
58
+ const position = schema.argument_names.indexOf(name);
59
+ const constants = schema.argument_constants?.[name];
60
+ const exampleValues = parsedExamples
61
+ .map((args) => args[position])
62
+ .filter((value) => typeof value === "string");
63
+ const examples = Array.from(new Set([...(constants ?? []), ...exampleValues])).slice(0, MAX_EXAMPLES);
64
+ const current = candidate.predicate_args[position] ?? "";
65
+ const description = schema.argument_descriptions?.[position];
66
+ return {
67
+ argument: name,
68
+ position,
69
+ type: schema.argument_types[position] ?? "unknown",
70
+ ...(description ? { description } : {}),
71
+ ...(constants ? { allowedValues: [...constants] } : {}),
72
+ examples,
73
+ currentValue: current,
74
+ provenance: candidate.binding_provenance_by_argument[name] ?? "placeholder",
75
+ reason: unboundReason(candidate, name, current, text),
76
+ };
77
+ });
78
+ }
79
+ /** One line per hint for the text summary: `name (type, e.g. a, b)`. */
80
+ export function describeBindingHints(hints) {
81
+ return hints
82
+ .map((hint) => {
83
+ const values = hint.allowedValues
84
+ ? `one of ${hint.allowedValues.join(", ")}`
85
+ : hint.examples.length > 0
86
+ ? `e.g. ${hint.examples.join(", ")}`
87
+ : "no example in the schema";
88
+ return `${hint.argument} (${hint.type}, ${values})`;
89
+ })
90
+ .join("; ");
91
+ }
@@ -1,6 +1,29 @@
1
1
  import type { BindingProvenance } from "./predicate-types.js";
2
2
  export declare function isGenericPlaceholder(value: string): boolean;
3
- export declare function classifyBinding(value: string, text: string, explicit: boolean, canonical?: boolean): BindingProvenance;
3
+ /** A binding value in the snake_case form argument names use. */
4
+ export declare function bindingToken(value: string): string;
5
+ /** The schema context a binding is judged against. */
6
+ export type BindingContext = Readonly<{
7
+ /** The argument this value binds. */
8
+ argumentName?: string;
9
+ /** Every argument name of the schema. */
10
+ argumentNames?: readonly string[];
11
+ /** Declared constants of this argument: always valid when matched. */
12
+ constants?: readonly string[] | undefined;
13
+ /**
14
+ * The claim text. A value that repeats an argument name is still a real
15
+ * binding when the claim itself names it (a `launcher` argument bound to
16
+ * "launcher" in "The launcher must ...").
17
+ */
18
+ text?: string | undefined;
19
+ }>;
20
+ /**
21
+ * Why a value only stands in for a binding, or null when it can be a reviewed
22
+ * value: it repeats its own or another argument's name, or it is a bare stop
23
+ * word. Declared constants and the booleans `true`/`false` always pass.
24
+ */
25
+ export declare function nameOrStopWordReason(value: string, context?: BindingContext): string | null;
26
+ export declare function classifyBinding(value: string, text: string, explicit: boolean, canonical?: boolean, context?: BindingContext): BindingProvenance;
4
27
  export declare function aggregateBindingProvenance(values: readonly BindingProvenance[]): BindingProvenance;
5
28
  export declare function bindingCanBeApplied(value: BindingProvenance): boolean;
6
29
  //# sourceMappingURL=predicate-bindings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"predicate-bindings.d.ts","sourceRoot":"","sources":["../../../src/operations/modeling/predicate-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAkG9D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAW3D;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,SAAS,UAAQ,GAChB,iBAAiB,CAYnB;AASD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GACnC,iBAAiB,CAQnB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAErE"}
1
+ {"version":3,"file":"predicate-bindings.d.ts","sourceRoot":"","sources":["../../../src/operations/modeling/predicate-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAkG9D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAW3D;AAgED,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED,sDAAsD;AACtD,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,sEAAsE;IACtE,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC,CAAC;AAiBH;;;;GAIG;AAEH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,cAAmB,GAC3B,MAAM,GAAG,IAAI,CAYf;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,SAAS,UAAQ,EACjB,OAAO,GAAE,cAAmB,GAC3B,iBAAiB,CAmBnB;AASD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GACnC,iBAAiB,CAQnB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAErE"}