@specverse/engines 6.27.13 → 6.29.4

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 (38) hide show
  1. package/dist/ai/analyse-runner.d.ts +16 -0
  2. package/dist/ai/analyse-runner.d.ts.map +1 -1
  3. package/dist/ai/analyse-runner.js +119 -60
  4. package/dist/ai/analyse-runner.js.map +1 -1
  5. package/dist/ai/behaviours-runner.d.ts +49 -0
  6. package/dist/ai/behaviours-runner.d.ts.map +1 -0
  7. package/dist/ai/behaviours-runner.js +177 -0
  8. package/dist/ai/behaviours-runner.js.map +1 -0
  9. package/dist/ai/deployment-emitter.d.ts +86 -0
  10. package/dist/ai/deployment-emitter.d.ts.map +1 -0
  11. package/dist/ai/deployment-emitter.js +201 -0
  12. package/dist/ai/deployment-emitter.js.map +1 -0
  13. package/dist/ai/index.d.ts +2 -0
  14. package/dist/ai/index.d.ts.map +1 -1
  15. package/dist/ai/index.js +5 -0
  16. package/dist/ai/index.js.map +1 -1
  17. package/dist/ai/manifest-emitter.d.ts +60 -0
  18. package/dist/ai/manifest-emitter.d.ts.map +1 -0
  19. package/dist/ai/manifest-emitter.js +126 -0
  20. package/dist/ai/manifest-emitter.js.map +1 -0
  21. package/dist/ai/model-resolver.d.ts.map +1 -1
  22. package/dist/ai/model-resolver.js +4 -1
  23. package/dist/ai/model-resolver.js.map +1 -1
  24. package/dist/ai/skeleton-emitter.d.ts +11 -1
  25. package/dist/ai/skeleton-emitter.d.ts.map +1 -1
  26. package/dist/ai/skeleton-emitter.js +73 -2
  27. package/dist/ai/skeleton-emitter.js.map +1 -1
  28. package/dist/analyse-prepass/adapters/react-views.d.ts +59 -0
  29. package/dist/analyse-prepass/adapters/react-views.d.ts.map +1 -0
  30. package/dist/analyse-prepass/adapters/react-views.js +314 -0
  31. package/dist/analyse-prepass/adapters/react-views.js.map +1 -0
  32. package/dist/analyse-prepass/index.d.ts +15 -0
  33. package/dist/analyse-prepass/index.d.ts.map +1 -1
  34. package/dist/analyse-prepass/index.js +46 -0
  35. package/dist/analyse-prepass/index.js.map +1 -1
  36. package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +51 -4
  37. package/libs/instance-factories/cli/templates/commander/command-generator.ts +70 -5
  38. package/package.json +2 -2
@@ -68,6 +68,22 @@ export interface RunAnalyseOptions {
68
68
  useMicrocalls?: boolean;
69
69
  /** Concurrency cap for per-action micro-calls (default 10). */
70
70
  microcallConcurrency?: number;
71
+ /**
72
+ * When false (engines 6.29.0+), skip the LLM-heavy behaviours phase
73
+ * and emit a faithful-skeleton spec with placeholder action bodies.
74
+ * The output is still a valid SpecVerse spec — bodies show
75
+ * `description: "(behaviours pending — run spv ai behaviours)"` and
76
+ * `steps: []`. Defaults to `true` for backward compatibility with
77
+ * existing callers; the `spv ai analyse` CLI command flips this to
78
+ * `false` per the analyse/behaviours split (TODO: see plan
79
+ * 2026-05-06-ANALYSE-BEHAVIOURS-SPLIT.md).
80
+ *
81
+ * Use case: iterate on the prepass + skeleton + manifest + deployment
82
+ * emission without paying for LLM time on bodies. Then run
83
+ * `spv ai behaviours <analysed-spec>` (or call `runBehaviours`)
84
+ * to fill bodies once the structure is confirmed correct.
85
+ */
86
+ withBehaviours?: boolean;
71
87
  }
72
88
  export interface RunAnalyseResult {
73
89
  outputDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"analyse-runner.d.ts","sourceRoot":"","sources":["../../src/ai/analyse-runner.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAGL,KAAK,WAAW,EAAE,KAAK,YAAY,EACpC,MAAM,gBAAgB,CAAC;AAiBxB,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC;IACjC,aAAa,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAqCD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2oBnF"}
1
+ {"version":3,"file":"analyse-runner.d.ts","sourceRoot":"","sources":["../../src/ai/analyse-runner.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAGL,KAAK,WAAW,EAAE,KAAK,YAAY,EACpC,MAAM,gBAAgB,CAAC;AAiBxB,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC;IACjC,aAAa,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAqCD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAysBnF"}
@@ -234,7 +234,7 @@ export async function runAnalyse(opts) {
234
234
  }
235
235
  // Skeleton emitter (Phase A) — deterministic facts → faithful skeleton.
236
236
  const { emitFaithfulSkeleton } = await import('./skeleton-emitter.js');
237
- const { skeleton, provenance: skeletonProvenance } = emitFaithfulSkeleton(prepassFacts);
237
+ const { skeleton, provenance: skeletonProvenance, classesByComponent: skeletonClassesByComponent, entityHome: skeletonEntityHome } = emitFaithfulSkeleton(prepassFacts);
238
238
  writeFileSync(join(specsDir(opts.outputDir), 'skeleton.specly'), skeleton);
239
239
  writeFileSync(join(factsDir(opts.outputDir), 'skeleton-provenance.json'), JSON.stringify(skeletonProvenance, null, 2));
240
240
  // Build candidateStepsByMethodKey from facts. Each method's timeline as
@@ -247,66 +247,112 @@ export async function runAnalyse(opts) {
247
247
  candidateStepsByMethodKey.set(`${cls.entityName}::${mi}`, lines.join('\n'));
248
248
  }
249
249
  }
250
- // Build a manifest overview from the skeleton (top-level component
251
- // names + a summary of detected entities).
252
- const skeletonOverview = skeleton.split('\n').slice(0, 80).join('\n');
253
- // Run the orchestrator.
254
- const { runActionMicrocalls, assembleFinalSpec } = await import('./microcall-orchestrator.js');
255
- const totalStubs = skeletonProvenance.actionStubs.length;
256
- const concurrencyCap = opts.microcallConcurrency ?? 5;
257
- console.log(` microcalls: dispatching ${totalStubs} action stub(s) (concurrency=${concurrencyCap}, timeout=5m/call)`);
258
- const microcallStart = Date.now();
259
- let completed = 0;
260
- const microcallResult = await runActionMicrocalls({
261
- skeleton,
262
- skeletonProvenance,
263
- candidateStepsByMethodKey,
264
- model,
265
- // Default 5 (was 10) — empirically claude-cli rate-limits at >5 in
266
- // parallel for sustained calls. Override via --microcall-concurrency
267
- // when running against a higher-tier API key.
268
- concurrencyCap,
269
- timeoutMsPerCall: 5 * 60_000,
270
- manifestInputs: {
271
- skeletonOverview,
272
- importsList: '(imports list extraction TBD — stub)',
273
- language: 'typescript',
274
- frameworks: prepassFacts.meta?.adaptersRun?.join(', ') || 'none-detected',
275
- },
276
- onProgress: (record) => {
277
- completed++;
278
- const status = record.parsedBody ? '✓' : '✗';
279
- const owner = record.stubRef.ownerName;
280
- const action = record.stubRef.actionName;
281
- const lat = (record.latencyMs / 1000).toFixed(1);
282
- const retried = record.rateLimitRetries && record.rateLimitRetries > 0
283
- ? ` [retried ${record.rateLimitRetries}×]` : '';
284
- const fail = record.parsedBody ? '' : ` — ${(record.failure ?? '').slice(0, 60)}`;
285
- console.log(` ${String(completed).padStart(String(totalStubs).length)}/${totalStubs} ${status} ${owner}.${action} (${lat}s)${retried}${fail}`);
286
- },
250
+ // ── Manifest emission (engines 6.29.0+: deterministic, no LLM) ──
251
+ // The previous `manifestInputs` LLM call was a lookup-table operation
252
+ // dressed up as a prompt. Replaced with `emitManifest` which reads
253
+ // adaptersRun + entity signals and emits factory choices via a
254
+ // hard-coded mapping. Faster, cheaper, no parse-failure risk, no
255
+ // hallucinated factory names.
256
+ const { emitManifest } = await import('./manifest-emitter.js');
257
+ const manifestEmission = emitManifest({
258
+ facts: prepassFacts,
259
+ specName: opts.caseName ?? 'AnalysedSpec',
287
260
  });
288
- const microcallElapsed = ((Date.now() - microcallStart) / 1000).toFixed(1);
289
- const ms = microcallResult.provenance.totals;
290
- console.log(` microcalls: ${ms.actionCallsSucceeded}/${ms.actionCallsAttempted} succeeded in ${microcallElapsed}s`);
291
- // Forward-log: write microcall provenance sidecar.
292
- writeFileSync(join(llmOutputDir(opts.outputDir), 'microcall-decisions.json'), JSON.stringify(microcallResult.provenance, null, 2));
293
- // Save state for surgical retry.
294
- microcallState = {
295
- skeleton,
296
- skeletonProvenance,
297
- candidateStepsByMethodKey,
298
- actionBodies: microcallResult.actionBodies,
299
- };
300
- // Assemble final spec + manifest.
301
- draftSpec = assembleFinalSpec(skeleton, skeletonProvenance, microcallResult.actionBodies);
302
- draftManifest = microcallResult.manifestYaml;
261
+ draftManifest = manifestEmission.manifestYaml;
262
+ console.log(` manifest: emitted with ${Object.keys(manifestEmission.factoryChoices).length} factory choice(s)`);
263
+ // ── Behaviour generation toggle (engines 6.29.0+) ────────────────
264
+ // When `withBehaviours` is false, skip the per-action LLM calls
265
+ // entirely. The skeleton already has placeholder bodies that
266
+ // assembleFinalSpec emits as `description + steps:[]`.
267
+ const withBehaviours = opts.withBehaviours !== false;
268
+ const { assembleFinalSpec } = await import('./microcall-orchestrator.js');
269
+ if (withBehaviours) {
270
+ // Run the orchestrator for behaviour bodies.
271
+ const { runActionMicrocalls } = await import('./microcall-orchestrator.js');
272
+ const totalStubs = skeletonProvenance.actionStubs.length;
273
+ const concurrencyCap = opts.microcallConcurrency ?? 5;
274
+ console.log(` microcalls: dispatching ${totalStubs} action stub(s) (concurrency=${concurrencyCap}, timeout=5m/call)`);
275
+ const microcallStart = Date.now();
276
+ let completed = 0;
277
+ const microcallResult = await runActionMicrocalls({
278
+ skeleton,
279
+ skeletonProvenance,
280
+ candidateStepsByMethodKey,
281
+ model,
282
+ // Default 5 (was 10) — empirically claude-cli rate-limits at >5 in
283
+ // parallel for sustained calls. Override via --microcall-concurrency
284
+ // when running against a higher-tier API key.
285
+ concurrencyCap,
286
+ timeoutMsPerCall: 5 * 60_000,
287
+ // Manifest now emitted deterministically (above); skip the LLM
288
+ // manifest call.
289
+ manifestInputs: undefined,
290
+ onProgress: (record) => {
291
+ completed++;
292
+ const status = record.parsedBody ? '✓' : '✗';
293
+ const owner = record.stubRef.ownerName;
294
+ const action = record.stubRef.actionName;
295
+ const lat = (record.latencyMs / 1000).toFixed(1);
296
+ const retried = record.rateLimitRetries && record.rateLimitRetries > 0
297
+ ? ` [retried ${record.rateLimitRetries}×]` : '';
298
+ const fail = record.parsedBody ? '' : ` — ${(record.failure ?? '').slice(0, 60)}`;
299
+ console.log(` ${String(completed).padStart(String(totalStubs).length)}/${totalStubs} ${status} ${owner}.${action} (${lat}s)${retried}${fail}`);
300
+ },
301
+ });
302
+ const microcallElapsed = ((Date.now() - microcallStart) / 1000).toFixed(1);
303
+ const ms = microcallResult.provenance.totals;
304
+ console.log(` microcalls: ${ms.actionCallsSucceeded}/${ms.actionCallsAttempted} succeeded in ${microcallElapsed}s`);
305
+ // Forward-log: write microcall provenance sidecar.
306
+ writeFileSync(join(llmOutputDir(opts.outputDir), 'microcall-decisions.json'), JSON.stringify(microcallResult.provenance, null, 2));
307
+ // Save state for surgical retry.
308
+ microcallState = {
309
+ skeleton,
310
+ skeletonProvenance,
311
+ candidateStepsByMethodKey,
312
+ actionBodies: microcallResult.actionBodies,
313
+ };
314
+ // Assemble final spec from skeleton + filled bodies.
315
+ draftSpec = assembleFinalSpec(skeleton, skeletonProvenance, microcallResult.actionBodies);
316
+ }
317
+ else {
318
+ // Behaviours skipped — the spec uses skeleton bodies (placeholder
319
+ // description + empty steps) which assembleFinalSpec emits via its
320
+ // "microcall failed" fallback path. Pass an empty actionBodies map.
321
+ console.log(` behaviours: skipped (run \`spv ai behaviours <spec>\` to fill bodies later)`);
322
+ draftSpec = assembleFinalSpec(skeleton, skeletonProvenance, new Map());
323
+ // No microcall sidecar to write — there were none.
324
+ // microcallState stays null so surgical-retry path is naturally skipped.
325
+ }
326
+ // Append a deterministic deployments block — one production-environment
327
+ // instance per detected controller / service / entity / view. Matches
328
+ // the expected analysed-spec shape (Dom Williams 2026-05-06 review:
329
+ // "where does it say I'll have one of these and two of those").
330
+ // Skipped when the spec is essentially empty (no entities and no
331
+ // walked classes) to avoid emitting an empty deployments stanza.
332
+ const hasContent = (prepassFacts.entities?.length ?? 0) > 0
333
+ || skeletonClassesByComponent.size > 0
334
+ || (prepassFacts.views?.length ?? 0) > 0;
335
+ if (hasContent) {
336
+ const { emitDefaultDeployments } = await import('./deployment-emitter.js');
337
+ const { deploymentsYaml, counts } = emitDefaultDeployments({
338
+ facts: prepassFacts,
339
+ classesByComponent: skeletonClassesByComponent,
340
+ entityHome: skeletonEntityHome,
341
+ });
342
+ draftSpec = draftSpec.replace(/\n*$/, '\n') + deploymentsYaml + '\n';
343
+ console.log(` deployments: emitted production-default with ${counts.controllers} controller(s), ${counts.services} service(s), ${counts.storage} storage, ${counts.views} view(s)`);
344
+ }
303
345
  // Synthesize a draftResult equivalent for downstream code paths.
304
346
  draftResult = {
305
347
  text: draftSpec,
306
348
  tokens: { input: null, output: null },
307
- duration_ms: microcallResult.provenance.wallTimeMs,
308
- system: '(microcall path — multiple system prompts)',
309
- user: '(microcall path — multiple user prompts)',
349
+ duration_ms: microcallState?.actionBodies ? Date.now() : 0, // ms approx; full timing lives in microcall sidecar
350
+ system: withBehaviours
351
+ ? '(microcall path — multiple system prompts)'
352
+ : '(analyse path — deterministic skeleton, no LLM)',
353
+ user: withBehaviours
354
+ ? '(microcall path — multiple user prompts)'
355
+ : '(analyse path — deterministic skeleton, no LLM)',
310
356
  providerId: opts.providerId ?? resolveProviderId(),
311
357
  modelId: opts.modelId ?? 'default',
312
358
  };
@@ -410,6 +456,18 @@ export async function runAnalyse(opts) {
410
456
  priorError = validateAfterRetry.errors;
411
457
  }
412
458
  }
459
+ else if (opts.useMicrocalls && opts.withBehaviours === false) {
460
+ // Skeleton-only path (engines 6.29.4+): when the user asked for a
461
+ // mechanical-only run (--no-behaviours), DO NOT fire a giant LLM
462
+ // retry to fix validation errors. The user explicitly opted out of
463
+ // LLM calls; surfacing the validation error is the right behaviour.
464
+ // Common causes of validate failure on a skeleton-only spec:
465
+ // - deployment-emitter dup-key (should now be fixed)
466
+ // - skeleton structural emit bug
467
+ // Both are deterministic-emit bugs — not LLM-fixable, and we want
468
+ // the user to see the real error, not a hallucinated repair.
469
+ console.log(' validate failed; --no-behaviours mode skips LLM retry. See validate-error-1.txt');
470
+ }
413
471
  else {
414
472
  // Legacy giant-call path retry — full spec re-emission via analyse prompt.
415
473
  let priorDraft = draftSpec;
@@ -585,10 +643,11 @@ export async function runAnalyse(opts) {
585
643
  // 6.5. Audit-trail attribution call (focused, small, post-validate).
586
644
  // Runs only when:
587
645
  // (a) candidate-step timelines were generated (we're auto-facts mode), AND
588
- // (b) final spec validated cleanly (no point attributing an invalid spec)
589
- // Failure is non-fatalfalls back to no-attribution and logs a human
590
- // review item.
591
- if (validateFinal.ok && candidateStepsContent) {
646
+ // (b) final spec validated cleanly (no point attributing an invalid spec), AND
647
+ // (c) the behaviours phase ran attribution maps action bodies back to
648
+ // candidate-steps, so it's meaningless on a skeleton-only spec
649
+ // where bodies are placeholders. (engines 6.29.3+)
650
+ if (validateFinal.ok && candidateStepsContent && opts.withBehaviours !== false) {
592
651
  try {
593
652
  const finalSpec = readFileSync(finalSpecPath, 'utf8');
594
653
  const attributeResult = await runPrompt({
@@ -1 +1 @@
1
- {"version":3,"file":"analyse-runner.js","sourceRoot":"","sources":["../../src/ai/analyse-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyse-runner.js","sourceRoot":"","sources":["../../src/ai/analyse-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { LanguageModel } from 'ai';
2
+ export interface RunBehavioursOptions {
3
+ /**
4
+ * Directory containing the analysed spec + facts sidecars. Must
5
+ * contain `specs/skeleton.specly` and `facts/skeleton-provenance.json`
6
+ * + `facts/facts.json`. Typically the output of `spv ai analyse
7
+ * --no-behaviours <source>`.
8
+ */
9
+ analysedSpecDir: string;
10
+ /**
11
+ * Where to write the filled spec + microcall sidecars. Defaults to
12
+ * `analysedSpecDir` (in-place fill). Set to a new dir for a clean
13
+ * separation of analyse vs behaviours artifacts.
14
+ */
15
+ outputDir?: string;
16
+ /** Pre-resolved LanguageModel (for cross-call session caching). */
17
+ model?: LanguageModel;
18
+ /** Externally-managed claude-cli session ID. */
19
+ sessionId?: string;
20
+ /** Per-call timeout. Default 5 minutes per microcall. */
21
+ timeoutMsPerCall?: number;
22
+ /** Concurrency cap for per-action micro-calls. Default 5. */
23
+ microcallConcurrency?: number;
24
+ /** Override the spec filename to read. Default 'skeleton.specly'. */
25
+ specFilename?: string;
26
+ }
27
+ export interface RunBehavioursResult {
28
+ /** Where the filled spec was written. */
29
+ filledSpecPath: string;
30
+ /** Microcall provenance — succeeded / failed / latency / etc. */
31
+ microcallStats: {
32
+ attempted: number;
33
+ succeeded: number;
34
+ failed: number;
35
+ wallTimeMs: number;
36
+ };
37
+ /** Final validation after fill (or after surgical retry). */
38
+ validateFinal: {
39
+ ok: boolean;
40
+ errors: string;
41
+ };
42
+ /** Number of surgical retry passes that fired. */
43
+ surgicalRetryPasses: number;
44
+ }
45
+ /**
46
+ * Run the LLM-heavy behaviours phase against an analysed spec dir.
47
+ */
48
+ export declare function runBehaviours(opts: RunBehavioursOptions): Promise<RunBehavioursResult>;
49
+ //# sourceMappingURL=behaviours-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behaviours-runner.d.ts","sourceRoot":"","sources":["../../src/ai/behaviours-runner.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAQxC,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,cAAc,EAAE;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,6DAA6D;IAC7D,aAAa,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,kDAAkD;IAClD,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAYD;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoJ5F"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * `runBehaviours()` — engines 6.29.0+. The LLM-heavy second phase of the
3
+ * analyse/behaviours split.
4
+ *
5
+ * Reads an analysed spec dir (output of `spv ai analyse --no-behaviours`
6
+ * or any caller that produced skeleton + facts sidecars) and fills in
7
+ * action bodies via per-action LLM micro-calls. Surgical-retries on
8
+ * validation failures. Writes the filled spec back to the same dir
9
+ * (or to a fresh outputDir if specified).
10
+ *
11
+ * Why this is separate from runAnalyse: the deterministic phase (prepass +
12
+ * skeleton + manifest + deployment) finishes in ~30s; the LLM phase takes
13
+ * 5-30 min depending on size. Splitting lets users:
14
+ *
15
+ * - Iterate on adapter/extraction logic without paying for LLM time
16
+ * - Inspect the analysed scaffold before committing budget to bodies
17
+ * - Resume after a body-fill failure (the analysed spec is still on
18
+ * disk, just re-run `spv ai behaviours` against it)
19
+ *
20
+ * Inputs the runner reads from disk:
21
+ * - `<analysedSpecDir>/specs/skeleton.specly` (or `main.specly` if
22
+ * skeleton was promoted)
23
+ * - `<analysedSpecDir>/facts/skeleton-provenance.json`
24
+ * - `<analysedSpecDir>/facts/facts.json` (to rebuild candidateSteps)
25
+ * - `<analysedSpecDir>/manifests/implementation.yaml` (preserved)
26
+ *
27
+ * Inputs it does NOT recompute:
28
+ * - The deployment block in the spec — preserved as-is.
29
+ * - The manifest — preserved as-is.
30
+ * - Component / model / view declarations — preserved as-is.
31
+ *
32
+ * Only action bodies are filled. Everything else is a faithful
33
+ * pass-through from the analysed spec.
34
+ */
35
+ import { writeFileSync, readFileSync, existsSync } from 'fs';
36
+ import { join } from 'path';
37
+ import { spawnSync } from 'child_process';
38
+ import { llmOutputDir, factsDir, specsDir, ensureSubdirs, } from './run-paths.js';
39
+ import { resolveModel } from './model-resolver.js';
40
+ function runValidate(specPath) {
41
+ const result = spawnSync('spv', ['validate', specPath], {
42
+ encoding: 'utf8',
43
+ timeout: 30_000,
44
+ });
45
+ if (result.status === 0)
46
+ return { ok: true, errors: '' };
47
+ const errors = (result.stderr || '') + (result.stdout || '');
48
+ return { ok: false, errors };
49
+ }
50
+ /**
51
+ * Run the LLM-heavy behaviours phase against an analysed spec dir.
52
+ */
53
+ export async function runBehaviours(opts) {
54
+ const inputDir = opts.analysedSpecDir;
55
+ const outputDir = opts.outputDir ?? inputDir;
56
+ ensureSubdirs(outputDir);
57
+ // ── Read analysed inputs from disk ──────────────────────────────────
58
+ const skeletonFilename = opts.specFilename ?? 'skeleton.specly';
59
+ const skeletonPath = join(specsDir(inputDir), skeletonFilename);
60
+ if (!existsSync(skeletonPath)) {
61
+ throw new Error(`runBehaviours: skeleton not found at ${skeletonPath}. ` +
62
+ `Run \`spv ai analyse --no-behaviours <source> -o ${inputDir}\` first.`);
63
+ }
64
+ const skeleton = readFileSync(skeletonPath, 'utf8');
65
+ const skeletonProvenancePath = join(factsDir(inputDir), 'skeleton-provenance.json');
66
+ if (!existsSync(skeletonProvenancePath)) {
67
+ throw new Error(`runBehaviours: skeleton-provenance.json not found at ${skeletonProvenancePath}.`);
68
+ }
69
+ const skeletonProvenance = JSON.parse(readFileSync(skeletonProvenancePath, 'utf8'));
70
+ const factsPath = join(factsDir(inputDir), 'facts.json');
71
+ if (!existsSync(factsPath)) {
72
+ throw new Error(`runBehaviours: facts.json not found at ${factsPath}.`);
73
+ }
74
+ const facts = JSON.parse(readFileSync(factsPath, 'utf8'));
75
+ // ── Rebuild candidateStepsByMethodKey from facts ────────────────────
76
+ const candidateStepsByMethodKey = new Map();
77
+ for (const cls of facts.candidateMethods ?? []) {
78
+ for (let mi = 0; mi < cls.methods.length; mi++) {
79
+ const m = cls.methods[mi];
80
+ const lines = m.candidates.map((c, i) => `${i + 1}. [${c.kind}] ${c.summary}`);
81
+ candidateStepsByMethodKey.set(`${cls.entityName}::${mi}`, lines.join('\n'));
82
+ }
83
+ }
84
+ // ── Resolve model (caller may have pre-built one) ───────────────────
85
+ const model = opts.model ?? resolveModel({
86
+ timeout: opts.timeoutMsPerCall ?? 15 * 60_000,
87
+ sessionId: opts.sessionId,
88
+ });
89
+ // ── Run microcalls ──────────────────────────────────────────────────
90
+ const { runActionMicrocalls, assembleFinalSpec, classifyValidationErrors, runSurgicalRetry } = await import('./microcall-orchestrator.js');
91
+ const totalStubs = skeletonProvenance.actionStubs.length;
92
+ const concurrencyCap = opts.microcallConcurrency ?? 5;
93
+ console.log(` behaviours: dispatching ${totalStubs} action stub(s) (concurrency=${concurrencyCap}, timeout=5m/call)`);
94
+ const t0 = Date.now();
95
+ let completed = 0;
96
+ const microcallResult = await runActionMicrocalls({
97
+ skeleton,
98
+ skeletonProvenance,
99
+ candidateStepsByMethodKey,
100
+ model,
101
+ concurrencyCap,
102
+ timeoutMsPerCall: opts.timeoutMsPerCall ?? 5 * 60_000,
103
+ // Manifest already in place from the analyse phase; don't re-emit.
104
+ manifestInputs: undefined,
105
+ onProgress: (record) => {
106
+ completed++;
107
+ const status = record.parsedBody ? '✓' : '✗';
108
+ const owner = record.stubRef.ownerName;
109
+ const action = record.stubRef.actionName;
110
+ const lat = (record.latencyMs / 1000).toFixed(1);
111
+ const retried = record.rateLimitRetries && record.rateLimitRetries > 0
112
+ ? ` [retried ${record.rateLimitRetries}×]` : '';
113
+ const fail = record.parsedBody ? '' : ` — ${(record.failure ?? '').slice(0, 60)}`;
114
+ console.log(` ${String(completed).padStart(String(totalStubs).length)}/${totalStubs} ${status} ${owner}.${action} (${lat}s)${retried}${fail}`);
115
+ },
116
+ });
117
+ // Forward-log microcall provenance.
118
+ writeFileSync(join(llmOutputDir(outputDir), 'microcall-decisions.json'), JSON.stringify(microcallResult.provenance, null, 2));
119
+ // ── Assemble filled spec, preserving deployments + manifest ─────────
120
+ // The skeleton on disk already has the deployments block appended (the
121
+ // analyse phase put it there). assembleFinalSpec only fills in action
122
+ // body lines that match action stub yamlPaths from the provenance —
123
+ // it leaves the deployments block alone. Same for any other top-level
124
+ // sections we didn't track in actionStubs[].
125
+ let filledSpec = assembleFinalSpec(skeleton, skeletonProvenance, microcallResult.actionBodies);
126
+ // ── Validate + surgical retry ───────────────────────────────────────
127
+ const filledSpecPath = join(specsDir(outputDir), 'main.specly');
128
+ writeFileSync(filledSpecPath, filledSpec);
129
+ let validateResult = runValidate(filledSpecPath);
130
+ let surgicalRetryPasses = 0;
131
+ if (!validateResult.ok) {
132
+ let priorError = validateResult.errors;
133
+ let currentBodies = microcallResult.actionBodies;
134
+ const MAX_SURGICAL_RETRIES = 3;
135
+ for (let attempt = 1; attempt <= MAX_SURGICAL_RETRIES; attempt++) {
136
+ const classification = classifyValidationErrors(priorError, skeletonProvenance);
137
+ if (classification.actionPathErrors.size === 0) {
138
+ // Only structural errors — LLM retry can't fix those.
139
+ break;
140
+ }
141
+ console.log(` behaviours: surgical retry ${attempt} — re-firing ${classification.actionPathErrors.size} stub(s)`);
142
+ const surgical = await runSurgicalRetry({
143
+ skeleton,
144
+ skeletonProvenance,
145
+ candidateStepsByMethodKey,
146
+ prior: { actionBodies: currentBodies, classification },
147
+ model,
148
+ timeoutMsPerCall: opts.timeoutMsPerCall ?? 5 * 60_000,
149
+ });
150
+ currentBodies = surgical.actionBodies;
151
+ filledSpec = assembleFinalSpec(skeleton, skeletonProvenance, currentBodies);
152
+ writeFileSync(filledSpecPath, filledSpec);
153
+ validateResult = runValidate(filledSpecPath);
154
+ surgicalRetryPasses++;
155
+ if (validateResult.ok)
156
+ break;
157
+ priorError = validateResult.errors;
158
+ }
159
+ }
160
+ const wallTimeMs = Date.now() - t0;
161
+ const succeeded = microcallResult.provenance.totals.actionCallsSucceeded;
162
+ const attempted = microcallResult.provenance.totals.actionCallsAttempted;
163
+ console.log(` behaviours: ${succeeded}/${attempted} succeeded in ${(wallTimeMs / 1000).toFixed(1)}s` +
164
+ (surgicalRetryPasses > 0 ? ` (+${surgicalRetryPasses} surgical retry pass(es))` : ''));
165
+ return {
166
+ filledSpecPath,
167
+ microcallStats: {
168
+ attempted,
169
+ succeeded,
170
+ failed: attempted - succeeded,
171
+ wallTimeMs,
172
+ },
173
+ validateFinal: validateResult,
174
+ surgicalRetryPasses,
175
+ };
176
+ }
177
+ //# sourceMappingURL=behaviours-runner.js.map