@activate-core/test-forge 0.9.3 → 0.9.5

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.
@@ -349,11 +349,22 @@ export async function runGenerate(docsDir, useAI = true, force = false, only, ar
349
349
  warnings.push(`seed generation failed after ${MAX_GEN_ATTEMPTS} attempts — no seed written`);
350
350
  }
351
351
  }
352
- cache[file] = hash;
353
- // Persist after EVERY journey so an interrupted run resumes cleanly:
354
- // re-running `generate` (no --force) skips the journeys already done
355
- // (cache hit) and only finishes the remaining ones — no wasted tokens
356
- // redoing completed work.
352
+ // Only mark a journey "done" in the cache when it actually SUCCEEDED
353
+ // with AI (and its seed didn't fail). If a usage limit / error forced
354
+ // a fall back to the basic generator, or the seed failed, DON'T cache
355
+ // it — so a later `generate` (once the limit resets) RE-DOES it with
356
+ // AI instead of skipping it as "done". Persist per-journey so an
357
+ // interrupted run still resumes from where it stopped.
358
+ const degraded = useAI && (status === 'basic' || seedStatus === 'failed');
359
+ if (!degraded) {
360
+ cache[file] = hash;
361
+ }
362
+ else {
363
+ // Actively UN-mark a degraded journey (even under --force, which may
364
+ // be re-processing a stale "done" from an earlier buggy run), so the
365
+ // next `generate` re-does it instead of skipping a thin fallback.
366
+ delete cache[file];
367
+ }
357
368
  saveCache(CACHE_PATH, cache);
358
369
  results.push({
359
370
  journeyName: journey.name,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@activate-core/test-forge",
3
- "version": "0.9.3",
3
+ "version": "0.9.5",
4
4
  "description": "AI-powered QA automation. Scans a project, drafts journey docs, and generates seeded Jest/Playwright tests. Works in any project, with any AI CLI.",
5
5
  "type": "module",
6
6
  "bin": {