@activate-core/test-forge 0.9.3 → 0.9.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.
@@ -349,12 +349,17 @@ 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.
357
- saveCache(CACHE_PATH, cache);
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
+ saveCache(CACHE_PATH, cache);
362
+ }
358
363
  results.push({
359
364
  journeyName: journey.name,
360
365
  testDir,
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.4",
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": {