@sublang/slc 0.9.0 → 0.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 (91) hide show
  1. package/README.md +44 -15
  2. package/dist/app.d.ts +2 -2
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js +6 -4
  5. package/dist/app.js.map +1 -1
  6. package/dist/artifacts.d.ts +5 -1
  7. package/dist/artifacts.d.ts.map +1 -1
  8. package/dist/artifacts.js +19 -3
  9. package/dist/artifacts.js.map +1 -1
  10. package/dist/clarification.d.ts +32 -0
  11. package/dist/clarification.d.ts.map +1 -0
  12. package/dist/clarification.js +93 -0
  13. package/dist/clarification.js.map +1 -0
  14. package/dist/compiled-execution.js +1 -1
  15. package/dist/compiled-execution.js.map +1 -1
  16. package/dist/compiled-executor.d.ts.map +1 -1
  17. package/dist/compiled-executor.js +58 -22
  18. package/dist/compiled-executor.js.map +1 -1
  19. package/dist/config-file.d.ts.map +1 -1
  20. package/dist/config-file.js.map +1 -1
  21. package/dist/config.d.ts +1 -1
  22. package/dist/config.d.ts.map +1 -1
  23. package/dist/config.js +1 -1
  24. package/dist/config.js.map +1 -1
  25. package/dist/entry-module.d.ts.map +1 -1
  26. package/dist/entry-module.js +16 -7
  27. package/dist/entry-module.js.map +1 -1
  28. package/dist/entry-options.d.ts +13 -0
  29. package/dist/entry-options.d.ts.map +1 -0
  30. package/dist/entry-options.js +116 -0
  31. package/dist/entry-options.js.map +1 -0
  32. package/dist/execution.d.ts +21 -4
  33. package/dist/execution.d.ts.map +1 -1
  34. package/dist/execution.js +58 -19
  35. package/dist/execution.js.map +1 -1
  36. package/dist/index.d.ts +1 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +1 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/interpreter.d.ts.map +1 -1
  41. package/dist/interpreter.js +20 -1
  42. package/dist/interpreter.js.map +1 -1
  43. package/dist/invocation.d.ts.map +1 -1
  44. package/dist/link.d.ts.map +1 -1
  45. package/dist/phase-runner.d.ts +1 -4
  46. package/dist/phase-runner.d.ts.map +1 -1
  47. package/dist/phase-runner.js +4 -1
  48. package/dist/phase-runner.js.map +1 -1
  49. package/dist/phase.d.ts.map +1 -1
  50. package/dist/phase.js.map +1 -1
  51. package/dist/pin-currency.js.map +1 -1
  52. package/dist/pin-generate.js.map +1 -1
  53. package/dist/pin-inputs.js.map +1 -1
  54. package/dist/pins.d.ts.map +1 -1
  55. package/dist/pins.js.map +1 -1
  56. package/dist/pipeline.d.ts.map +1 -1
  57. package/dist/playbook-contract.d.ts.map +1 -1
  58. package/dist/playbook-contract.js.map +1 -1
  59. package/dist/playbook-ports.d.ts +9 -1
  60. package/dist/playbook-ports.d.ts.map +1 -1
  61. package/dist/playbook-ports.js +24 -6
  62. package/dist/playbook-ports.js.map +1 -1
  63. package/dist/progress.js.map +1 -1
  64. package/dist/resolver.js.map +1 -1
  65. package/dist/reviewing-agent.d.ts +2 -2
  66. package/dist/reviewing-agent.d.ts.map +1 -1
  67. package/dist/reviewing-agent.js +34 -12
  68. package/dist/reviewing-agent.js.map +1 -1
  69. package/dist/runner.d.ts +4 -2
  70. package/dist/runner.d.ts.map +1 -1
  71. package/dist/runner.js +361 -45
  72. package/dist/runner.js.map +1 -1
  73. package/dist/slc.config.template.yaml +1 -1
  74. package/dist/verify-coverage.d.ts +7 -0
  75. package/dist/verify-coverage.d.ts.map +1 -1
  76. package/dist/verify-coverage.js +805 -254
  77. package/dist/verify-coverage.js.map +1 -1
  78. package/dist/verify-source.d.ts +2 -0
  79. package/dist/verify-source.d.ts.map +1 -1
  80. package/dist/verify-source.js +370 -24
  81. package/dist/verify-source.js.map +1 -1
  82. package/dist/verify-support.js.map +1 -1
  83. package/dist/verify-typescript.d.ts +3 -0
  84. package/dist/verify-typescript.d.ts.map +1 -0
  85. package/dist/verify-typescript.js +87 -0
  86. package/dist/verify-typescript.js.map +1 -0
  87. package/dist/verify.d.ts +28 -10
  88. package/dist/verify.d.ts.map +1 -1
  89. package/dist/verify.js +604 -133
  90. package/dist/verify.js.map +1 -1
  91. package/package.json +17 -16
@@ -10,16 +10,26 @@
10
10
  * mechanically decidable, so it is decided here rather than left to a Reviewer's
11
11
  * judgment (phase-execution-51).
12
12
  *
13
+ * An item other than a script item may instead carry the prefix-first layout
14
+ * Playbook's prefix pass produces — its relayed values after its instructions —
15
+ * read from the prompt itself, mirroring Playbook's checker rule for rule
16
+ * (DR-052).
17
+ *
13
18
  * Every function is pure over the two texts: no filesystem, no definition, no
14
19
  * installed engine, and no prior artifact. Semantic item partitioning, condition
15
20
  * wording, and result descriptions remain the Reviewer's concern.
16
21
  */
22
+ // JavaScript's `.` excludes `\r` and `$` anchors only at end of input, so a
23
+ // `\r` left on a split line defeats every anchored pattern below. Split on the
24
+ // full CRLF or LF boundary once, here, rather than tolerating `\r` in each.
25
+ const LINE_BOUNDARY = /\r?\n/;
17
26
  const ITEM_HEADING = /^###\s+(\S+)\s*$/;
18
27
  const MARKDOWN_FENCE = /^```markdown\s*$/i;
19
28
  const FENCE_END = /^```\s*$/;
20
29
  const BLOCKQUOTE = /^>\s?(.*)$/;
21
30
  const PLACEHOLDER = /<([A-Za-z_$#][A-Za-z0-9_$#-]*)>/g;
22
31
  const RELAY_PLACEHOLDER_LINE = /^>\s+<[A-Za-z_$#][A-Za-z0-9_$#-]*>$/;
32
+ const RAW_PLACEHOLDER_LINE = /^<[A-Za-z_$#][A-Za-z0-9_$#-]*>$/;
23
33
  const RESULT_BULLET = /^-\s+`([A-Za-z_$][A-Za-z0-9_$]*)`:\s+(.+)$/;
24
34
  // A result-field entry names one output property, optionally annotating its
25
35
  // ownership; the name is captured as authored so a non-identifier is reported
@@ -27,6 +37,10 @@ const RESULT_BULLET = /^-\s+`([A-Za-z_$][A-Za-z0-9_$]*)`:\s+(.+)$/;
27
37
  const ANNOTATED_FIELD = /^([^\s:]+)\s*:\s*<([^>]*)>$/;
28
38
  const BARE_FIELD = /^\S+$/;
29
39
  const FIELD_IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
40
+ const RELAY_LINE = /^>/;
41
+ // An item's alternative prefix-first tilings are kept as the fragment texts
42
+ // they carry; an item admitting more than this many is reported, never guessed.
43
+ const TILING_LIMIT = 4096;
30
44
  const ENGLISH_PLAYER = '[A-Z][A-Za-z0-9_-]*';
31
45
  /** Resolves Markdown escaping that is Source syntax rather than prompt content. */
32
46
  function normalizePromptLine(line) {
@@ -52,7 +66,7 @@ function introducesQuotedRelay(lines, start) {
52
66
  * @throws {Error} when an instruction fence is never closed.
53
67
  */
54
68
  export function sourcePromptFragments(sourceText) {
55
- const lines = sourceText.split('\n');
69
+ const lines = sourceText.split(LINE_BOUNDARY);
56
70
  const fragments = [];
57
71
  for (let index = 0; index < lines.length; index++) {
58
72
  if (MARKDOWN_FENCE.test(lines[index])) {
@@ -120,7 +134,7 @@ function actingPlayer(acting) {
120
134
  }
121
135
  /** Parses the minimal GEARS item surface the Source-fidelity rules read. */
122
136
  export function parseGearsContract(gearsText) {
123
- const lines = gearsText.split('\n');
137
+ const lines = gearsText.split(LINE_BOUNDARY);
124
138
  const starts = [];
125
139
  for (let index = 0; index < lines.length; index++) {
126
140
  const heading = ITEM_HEADING.exec(lines[index]);
@@ -142,6 +156,9 @@ export function parseGearsContract(gearsText) {
142
156
  }
143
157
  const acting = section.slice(0, Math.max(firstQuote, 0)).join(' ');
144
158
  const delegated = /\bCaptain shall (?:prompt\b|relay\b)/.test(acting);
159
+ // text2gears.md "Script behaviors": fixed machine syntax in every Source
160
+ // language, so the clause is matched in this exact English form.
161
+ const script = /\bCaptain shall run:/.test(acting);
145
162
  const player = actingPlayer(acting);
146
163
  const results = [];
147
164
  for (const line of section.slice(Math.max(cursor, 0))) {
@@ -158,6 +175,7 @@ export function parseGearsContract(gearsText) {
158
175
  id: start.id,
159
176
  ordinal,
160
177
  delegated,
178
+ script,
161
179
  ...(player === undefined ? {} : { player }),
162
180
  prompt,
163
181
  results,
@@ -170,18 +188,292 @@ function placeholderField(token) {
170
188
  return 'irNumber';
171
189
  return token.replace(/-([A-Za-z0-9_$])/g, (_match, next) => next.toUpperCase());
172
190
  }
173
- /** First exact contiguous occurrence of `needle` in `haystack`. */
174
- function fragmentIndex(haystack, needle) {
191
+ /** Every exact contiguous occurrence of `needle` in `haystack`. */
192
+ function fragmentIndices(haystack, needle) {
193
+ const indices = [];
175
194
  if (needle.length === 0 || needle.length > haystack.length)
176
- return -1;
195
+ return indices;
177
196
  outer: for (let index = 0; index <= haystack.length - needle.length; index++) {
178
197
  for (let offset = 0; offset < needle.length; offset++) {
179
198
  if (haystack[index + offset] !== needle[offset])
180
199
  continue outer;
181
200
  }
182
- return index;
201
+ indices.push(index);
202
+ }
203
+ return indices;
204
+ }
205
+ /** A fragment's units, in Source order. */
206
+ function fragmentUnits(fragment) {
207
+ if (fragment.kind === 'relay') {
208
+ return [{ kind: 'relay', start: fragment.start, lines: fragment.lines }];
209
+ }
210
+ const units = [];
211
+ let from = -1;
212
+ let to = -1;
213
+ const flush = () => {
214
+ if (from === -1)
215
+ return;
216
+ units.push({
217
+ kind: 'instruction',
218
+ start: fragment.start + from,
219
+ lines: fragment.lines.slice(from, to),
220
+ });
221
+ from = -1;
222
+ };
223
+ for (let index = 0; index < fragment.lines.length;) {
224
+ let end = index;
225
+ while (end < fragment.lines.length && fragment.lines[end] !== '')
226
+ end++;
227
+ const paragraph = fragment.lines.slice(index, end);
228
+ if (paragraph.length > 0 &&
229
+ paragraph.every((line) => RELAY_LINE.test(line))) {
230
+ flush();
231
+ units.push({
232
+ kind: 'relay',
233
+ start: fragment.start + index,
234
+ lines: paragraph,
235
+ });
236
+ }
237
+ else if (paragraph.length > 0) {
238
+ if (from === -1)
239
+ from = index;
240
+ to = end;
241
+ }
242
+ index = end + 1;
243
+ }
244
+ flush();
245
+ return units;
246
+ }
247
+ /** Whether two line arrays are equal. */
248
+ function sameLines(left, right) {
249
+ return (left.length === right.length &&
250
+ left.every((line, index) => line === right[index]));
251
+ }
252
+ /**
253
+ * The prefix-first tilings of an item's prompt. The prompt must be tiled by
254
+ * whole fragments taken in Source order: their instruction units in the region
255
+ * before the trailing relay blocks and their relay units among the trailing
256
+ * blocks, or in place where the raw layout kept a relay beside instruction
257
+ * text, each unit occurrence used once, with blank lines and bare quoted
258
+ * placeholder lines free among the trailing blocks. Before a unit stand exactly
259
+ * the one blank line the pass leaves where a moved relay unit stood, exactly
260
+ * the authored blank lines between it and a unit of its fragment that kept its
261
+ * place, or the boundary Source composed before a fragment. Every tiling is
262
+ * kept as the multiset of fragment texts it carries, for conservation; a prompt
263
+ * with a relay block before an instruction line admits none.
264
+ */
265
+ function prefixFirstTilings(item, fragments, textIds) {
266
+ const { prompt } = item;
267
+ // The relay blocks the pass moves: blank-bounded runs of quoted lines.
268
+ const inBlock = prompt.map(() => false);
269
+ for (let start = 0; start < prompt.length; start++) {
270
+ let end = start;
271
+ while (end < prompt.length && RELAY_LINE.test(prompt[end]))
272
+ end++;
273
+ if (end > start &&
274
+ (start === 0 || prompt[start - 1] === '') &&
275
+ (end === prompt.length || prompt[end] === '')) {
276
+ inBlock.fill(true, start, end);
277
+ }
278
+ start = Math.max(start, end);
279
+ }
280
+ let lastStatic = -1;
281
+ prompt.forEach((line, index) => {
282
+ if (line !== '' && !inBlock[index])
283
+ lastStatic = index;
284
+ });
285
+ if (inBlock.some((inside, index) => inside && index < lastStatic)) {
286
+ return { tilings: [], overflow: false };
287
+ }
288
+ const statics = prompt.slice(0, lastStatic + 1);
289
+ const tail = prompt.slice(lastStatic + 1);
290
+ const free = (line) => line === '' || RELAY_PLACEHOLDER_LINE.test(line);
291
+ // The static line after `unit` matched at the cursor across exactly `gap`
292
+ // blank lines, or across any number where Source composed the boundary.
293
+ const staticMatch = (line, unit, gap) => {
294
+ let at = line;
295
+ if (line > 0) {
296
+ if (gap === null) {
297
+ while (at < statics.length && statics[at] === '')
298
+ at++;
299
+ }
300
+ else {
301
+ for (let count = 0; count < gap; count++, at++) {
302
+ if (statics[at] !== '')
303
+ return -1;
304
+ }
305
+ }
306
+ }
307
+ return sameLines(statics.slice(at, at + unit.lines.length), unit.lines)
308
+ ? at + unit.lines.length
309
+ : -1;
310
+ };
311
+ // The tail line after `unit` matched at or after the cursor, past free lines.
312
+ const tailMatch = (at, unit) => {
313
+ for (let index = at; index + unit.lines.length <= tail.length; index++) {
314
+ if (sameLines(tail.slice(index, index + unit.lines.length), unit.lines)) {
315
+ return index + unit.lines.length;
316
+ }
317
+ if (!free(tail[index]))
318
+ return -1;
319
+ }
320
+ return -1;
321
+ };
322
+ // Each reachable position — static line, tail line, whether the last unit
323
+ // moved — with every multiset of fragment texts some path to it carries, as
324
+ // sorted text ids.
325
+ const keyOf = (state) => `${state.line} ${state.tail} ${Number(state.lastMoved)}`;
326
+ let overflow = false;
327
+ const merge = (states, state) => {
328
+ const existing = states.get(keyOf(state));
329
+ if (existing === undefined) {
330
+ states.set(keyOf(state), state);
331
+ return;
332
+ }
333
+ for (const list of state.lists) {
334
+ if (existing.lists.size >= TILING_LIMIT && !existing.lists.has(list)) {
335
+ overflow = true;
336
+ break;
337
+ }
338
+ existing.lists.add(list);
339
+ }
340
+ };
341
+ const withText = (list, id) => (list === '' ? [id] : [...list.split(',').map(Number), id])
342
+ .sort((left, right) => left - right)
343
+ .join(',');
344
+ let reached = new Map();
345
+ merge(reached, { line: 0, tail: 0, lastMoved: false, lists: new Set(['']) });
346
+ fragments.forEach((fragment, index) => {
347
+ const units = fragmentUnits(fragment);
348
+ const next = new Map();
349
+ for (const state of reached.values()) {
350
+ merge(next, { ...state, lists: new Set(state.lists) });
351
+ }
352
+ let frontier = [...reached.values()];
353
+ units.forEach((unit, position) => {
354
+ const previous = units[position - 1];
355
+ const advanced = [];
356
+ for (const state of frontier) {
357
+ // The blank lines before this unit: the pass's one after a moved unit,
358
+ // the authored count after a unit of this fragment that stayed, and
359
+ // Source's own composition before a fragment's first unit.
360
+ const gap = state.lastMoved
361
+ ? 1
362
+ : position === 0
363
+ ? null
364
+ : unit.start - (previous.start + previous.lines.length);
365
+ const line = staticMatch(state.line, unit, gap);
366
+ if (unit.kind === 'instruction') {
367
+ if (line >= 0)
368
+ advanced.push({ ...state, line, lastMoved: false });
369
+ continue;
370
+ }
371
+ const end = tailMatch(state.tail, unit);
372
+ if (end >= 0)
373
+ advanced.push({ ...state, tail: end, lastMoved: true });
374
+ if (line >= 0)
375
+ advanced.push({ ...state, line, lastMoved: false });
376
+ }
377
+ frontier = advanced;
378
+ });
379
+ for (const state of frontier) {
380
+ const lists = new Set([...state.lists].map((list) => withText(list, textIds[index])));
381
+ merge(next, { ...state, lists });
382
+ }
383
+ reached = next;
384
+ });
385
+ const ends = [...reached.values()].filter((state) => state.line === statics.length && tail.slice(state.tail).every(free));
386
+ return {
387
+ tilings: [...new Set(ends.flatMap((state) => [...state.lists]))].map((list) => (list === '' ? [] : list.split(',').map(Number))),
388
+ overflow,
389
+ };
390
+ }
391
+ /** Non-overlapping contiguous occurrences of `needle` in `haystack`. */
392
+ function countFragment(haystack, needle) {
393
+ let count = 0;
394
+ if (needle.length === 0)
395
+ return count;
396
+ outer: for (let index = 0; index + needle.length <= haystack.length;) {
397
+ for (let offset = 0; offset < needle.length; offset++) {
398
+ if (haystack[index + offset] !== needle[offset]) {
399
+ index++;
400
+ continue outer;
401
+ }
402
+ }
403
+ count++;
404
+ index += needle.length;
405
+ }
406
+ return count;
407
+ }
408
+ /**
409
+ * The deficit left by the best choice of one carriage per item offering
410
+ * several: for each fragment text, how many authored fragments no chosen
411
+ * carriage supplies. The search is exact, memoized over the deficit still to
412
+ * cover.
413
+ */
414
+ function residualDeficit(deficit, choices) {
415
+ const total = (vector) => vector.reduce((sum, value) => sum + value, 0);
416
+ const memo = new Map();
417
+ const search = (depth, vector) => {
418
+ if (depth === choices.length || total(vector) === 0)
419
+ return vector;
420
+ const key = `${depth}|${vector.join(',')}`;
421
+ const seen = memo.get(key);
422
+ if (seen !== undefined)
423
+ return seen;
424
+ let best = vector;
425
+ for (const alternative of choices[depth]) {
426
+ const result = search(depth + 1, vector.map((value, id) => Math.max(0, value - alternative[id])));
427
+ if (total(result) < total(best))
428
+ best = result;
429
+ if (total(best) === 0)
430
+ break;
431
+ }
432
+ memo.set(key, best);
433
+ return best;
434
+ };
435
+ return search(0, [...deficit]);
436
+ }
437
+ /** Whether complete, nonoverlapping matches admit an ordered attribution. */
438
+ function fragmentsAreInSourceOrder(prompt, fragments) {
439
+ const spans = new Map();
440
+ for (const fragment of fragments) {
441
+ for (const start of fragmentIndices(prompt, fragment.lines)) {
442
+ const end = start + fragment.lines.length;
443
+ const key = `${start}:${end}`;
444
+ const span = spans.get(key) ?? { start, end, sourceStarts: [] };
445
+ // Fragments arrive in Source order. Identical matches are alternatives,
446
+ // not independent fragments competing for the same prompt position.
447
+ span.sourceStarts.push(fragment.start);
448
+ spans.set(key, span);
449
+ }
450
+ }
451
+ const ordered = [...spans.values()].sort((left, right) => left.start - right.start || right.end - left.end);
452
+ let furthestEnd = -1;
453
+ let sourceFloor = -1;
454
+ let completed = 0;
455
+ const attributed = [];
456
+ for (const span of ordered) {
457
+ // A shorter full match inside another full fragment is incidental content
458
+ // of that larger fragment, not a second independently ordered occurrence.
459
+ if (span.end <= furthestEnd)
460
+ continue;
461
+ furthestEnd = span.end;
462
+ // Remaining ends increase strictly. Only disjoint prior spans establish
463
+ // order; crossing overlaps do not invent an ordering of shared lines.
464
+ while (completed < attributed.length &&
465
+ attributed[completed].end <= span.start) {
466
+ sourceFloor = Math.max(sourceFloor, attributed[completed].sourceStart);
467
+ completed++;
468
+ }
469
+ // The earliest compatible attribution leaves every later choice available,
470
+ // so failure here means no order-preserving attribution exists.
471
+ const sourceStart = span.sourceStarts.find((start) => start >= sourceFloor);
472
+ if (sourceStart === undefined)
473
+ return false;
474
+ attributed.push({ end: span.end, sourceStart });
183
475
  }
184
- return -1;
476
+ return true;
185
477
  }
186
478
  /**
187
479
  * The conservation findings at the Source→GEARS seam (verification-25).
@@ -194,31 +486,71 @@ function fragmentIndex(haystack, needle) {
194
486
  * @throws {Error} when the Source's instruction fence is never closed.
195
487
  */
196
488
  export function checkSourceGearsContract(sourceText, gearsText) {
197
- const findings = [];
198
489
  const fragments = sourcePromptFragments(sourceText);
199
490
  const items = parseGearsContract(gearsText);
491
+ const findings = [];
492
+ // A fragment's text id is the index of the first fragment authored with it.
493
+ const texts = fragments.map((fragment) => JSON.stringify(fragment.lines));
494
+ const textIds = texts.map((text) => texts.indexOf(text));
495
+ const ids = [...new Set(textIds)];
496
+ // Each item is accepted in Source order or, unless it is a script item —
497
+ // shell text the prefix pass never moves — in a prefix-first tiling. Its
498
+ // carriage of each fragment text follows one layout it is accepted in: its
499
+ // contiguous occurrences when in Source order, or one tiling's fragments; an
500
+ // item accepted in neither, already reported, carries its contiguous ones.
501
+ // The chosen carriages together supply each authored text as many times as
502
+ // Source authors it, so one occurrence never stands for two authored
503
+ // fragments (DR-052).
504
+ const verdicts = items.map((item) => {
505
+ const sourceOrder = fragmentsAreInSourceOrder(item.prompt, fragments);
506
+ const prefixFirst = item.script
507
+ ? { tilings: [], overflow: false }
508
+ : prefixFirstTilings(item, fragments, textIds);
509
+ const count = (tiling) => ids.map((id) => tiling.filter((textId) => textId === id).length);
510
+ const carriages = prefixFirst.tilings.map(count);
511
+ if (sourceOrder || carriages.length === 0) {
512
+ carriages.unshift(ids.map((id) => countFragment(item.prompt, fragments[id].lines)));
513
+ }
514
+ return {
515
+ sourceOrder,
516
+ prefixFirst: prefixFirst.tilings.length > 0,
517
+ overflow: prefixFirst.overflow,
518
+ carriages: [
519
+ ...new Map(carriages.map((carriage) => [carriage.join(','), carriage])).values(),
520
+ ],
521
+ };
522
+ });
523
+ const deficit = ids.map((id, position) => Math.max(0, textIds.filter((textId) => textId === id).length -
524
+ verdicts
525
+ .filter((verdict) => verdict.carriages.length === 1)
526
+ .reduce((sum, verdict) => sum + verdict.carriages[0][position], 0)));
527
+ const choices = verdicts
528
+ .map((verdict) => verdict.carriages)
529
+ .filter((carriages) => carriages.length > 1);
530
+ const residual = residualDeficit(deficit, choices);
200
531
  const relayedFields = new Set(fragments
201
532
  .filter((fragment) => fragment.kind === 'relay')
202
533
  .flatMap((fragment) => fragment.lines.flatMap((line) => [...line.matchAll(PLACEHOLDER)].map((match) => placeholderField(match[1])))));
203
534
  const authoredLines = new Set(fragments.flatMap((fragment) => fragment.lines.filter((line) => line !== '')));
204
- for (const fragment of fragments) {
205
- if (!items.some((item) => fragmentIndex(item.prompt, fragment.lines) >= 0)) {
535
+ ids.forEach((id, position) => {
536
+ const missing = residual[position];
537
+ if (missing === 0)
538
+ return;
539
+ const indexes = textIds.flatMap((textId, index) => textId === id ? [index] : []);
540
+ for (const index of indexes.slice(-missing)) {
541
+ const fragment = fragments[index];
206
542
  findings.push(`source ${fragment.kind} fragment at line ${fragment.start + 1} was dropped or changed`);
207
543
  }
208
- }
209
- for (const item of items) {
210
- const matches = fragments
211
- .map((fragment) => ({
212
- fragment,
213
- promptIndex: fragmentIndex(item.prompt, fragment.lines),
214
- }))
215
- .filter((entry) => entry.promptIndex >= 0)
216
- .sort((left, right) => left.promptIndex - right.promptIndex);
217
- for (let index = 1; index < matches.length; index++) {
218
- if (matches[index - 1].fragment.start > matches[index].fragment.start) {
219
- findings.push(`${item.id}: authored prompt fragments are out of Source order`);
220
- break;
221
- }
544
+ });
545
+ for (const [index, item] of items.entries()) {
546
+ // An item in Source order keeps its contiguous carriage whatever its
547
+ // tilings; any other stands on them, so an enumeration cut short is named.
548
+ const verdict = verdicts[index];
549
+ if (!verdict.sourceOrder && verdict.overflow) {
550
+ findings.push(`${item.id}: prompt admits more tilings than the checker verifies`);
551
+ }
552
+ if (!verdict.sourceOrder && !verdict.prefixFirst) {
553
+ findings.push(`${item.id}: authored prompt fragments are out of Source order`);
222
554
  }
223
555
  // A Source that authors no fragment leaves prompt wording to the compiler
224
556
  // (DR-029), so the invented-line rule applies only once one exists.
@@ -229,6 +561,10 @@ export function checkSourceGearsContract(sourceText, gearsText) {
229
561
  continue;
230
562
  if (RELAY_PLACEHOLDER_LINE.test(line))
231
563
  continue;
564
+ if (RAW_PLACEHOLDER_LINE.test(line)) {
565
+ findings.push(`${item.id}: additional placeholder line ${JSON.stringify(line)} lacks a literal quote marker in the prompt; use ${JSON.stringify(`> > ${line}`)} in GEARS to retain ${JSON.stringify(`> ${line}`)} as prompt content`);
566
+ continue;
567
+ }
232
568
  findings.push(`${item.id}: prompt line is not an authored fragment: ${JSON.stringify(line)}`);
233
569
  }
234
570
  }
@@ -262,7 +598,17 @@ export function checkSourceGearsContract(sourceText, gearsText) {
262
598
  }
263
599
  const reported = new Set();
264
600
  for (const item of items) {
601
+ // A script blockquote is shell text no agent reads, so a placeholder
602
+ // there binds the command to its target rather than relaying player text
603
+ // into a prompt; the literal quote marker does not apply to it.
604
+ if (item.script)
605
+ continue;
265
606
  for (const line of item.prompt) {
607
+ // A line the Source authored keeps the Source's own form — a command
608
+ // that compares the value as a single-quoted shell word, for instance —
609
+ // so the marker is owed only by a line the compiler composed.
610
+ if (authoredLines.has(line))
611
+ continue;
266
612
  for (const match of line.matchAll(PLACEHOLDER)) {
267
613
  const field = placeholderField(match[1]);
268
614
  if (!relayedFields.has(field))
@@ -1 +1 @@
1
- {"version":3,"file":"verify-source.js","sourceRoot":"","sources":["../src/verify-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-source.js","sourceRoot":"","sources":["../src/verify-source.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify-support.js","sourceRoot":"","sources":["../src/verify-support.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,oBAAoB,YAAY,CAAC;AAE7E,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,WAAW;IACX,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,sBAAsB;CACd,CAAC;AAQX,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK;QAClC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAClC,WAAmB;IAEnB,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QAC7B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAChD,OAAO,OAAO,CAAC,OAAO,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC1D,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,GAAG,CAChB,oBAAoB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACjE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"verify-support.js","sourceRoot":"","sources":["../src/verify-support.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,oBAAoB,YAAY,CAAC;AAE7E,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,WAAW;IACX,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,sBAAsB;CACd,CAAC;AAQX,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK;QAClC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAClC,WAAmB;IAEnB,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QAC7B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAChD,OAAO,OAAO,CAAC,OAAO,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC1D,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,GAAG,CAChB,oBAAoB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACjE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Strict standalone FSM check without changing source or dependency resolution. */
2
+ export declare function checkFsmTypeScript(target: string, signal?: AbortSignal, additionalEsmRoots?: readonly string[]): Promise<readonly string[]>;
3
+ //# sourceMappingURL=verify-typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-typescript.d.ts","sourceRoot":"","sources":["../src/verify-typescript.ts"],"names":[],"mappings":"AASA,oFAAoF;AACpF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,EACpB,kBAAkB,GAAE,SAAS,MAAM,EAAO,GACzC,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAc5B"}