feat(FN-4232): complete Step 6 — document stale artifact bootstrap and add changeset
Fusion-Task-Id: FN-4232 Fusion-Task-Lineage: 8a1c59d6-2144-4146-99e4-201e9657af92
This commit is contained in:
10
.changeset/FN-4232-stale-plugin-dist.md
Normal file
10
.changeset/FN-4232-stale-plugin-dist.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
"@runfusion/fusion": patch
|
||||
---
|
||||
|
||||
Test bootstrap (`scripts/ensure-test-artifacts.mjs`) now detects STALE example-plugin
|
||||
dist artifacts (`@fusion-plugin-examples/{hermes-runtime,openclaw-runtime,paperclip-runtime}`)
|
||||
in addition to missing ones by comparing `src/` mtimes against the oldest `dist/`
|
||||
entry artifact. When a rebuild fails, the script emits an actionable remediation
|
||||
block (FN-4232) before exiting non-zero so worktree and merger-verification flows
|
||||
no longer fail first with opaque Vite "Failed to resolve entry for package" errors.
|
||||
@@ -1404,6 +1404,7 @@ When a tracked task transitions into `done`, Fusion closes the linked GitHub iss
|
||||
- `merger.ts` also exposes a test-only `__test__` helper object for internal merger unit/integration coverage (for example autostash orphan cleanup behavior)
|
||||
- Supports workflow-step execution after merge (post-merge phase)
|
||||
- Deterministic verification now runs a bootstrap preamble (`node scripts/ensure-test-artifacts.mjs`) before configured `testCommand`/`buildCommand`, then self-heals Vite `Failed to resolve entry for package "@fusion/..."` workspace-entry faults by rebuilding the missing package once and retrying the failed command. If that retry still reports the same missing-entry fault, merger raises a typed environment fault and `ProjectEngine` leaves the task in-review (no verificationFailureCount increment or in-progress bounce) so the next recovery sweep can retry after other runs rebuild artifacts.
|
||||
- FN-4232 extends that bootstrap to treat stale example-plugin builds as rebuildable too: `@fusion-plugin-examples/{hermes-runtime,openclaw-runtime,paperclip-runtime}` now compare newest `src/` mtimes against the oldest required `dist/` artifact mtime. When stale or missing artifacts are found, the preamble logs `[test-bootstrap] rebuilding workspace dist artifacts (missing or stale): ...`; if rebuild fails, it prints an actionable stderr remediation block (including `pnpm install --frozen-lockfile`, targeted `pnpm --filter <pkg> build`, and dist cleanup guidance) before exiting non-zero.
|
||||
|
||||
#### Autostash lifecycle
|
||||
- Before destructive merge prep, `stashUnrelatedRootDirChanges()` snapshots dirty root-dir edits into `fusion-merger-autostash:<taskId>:<ts>` (plus optional `race-rescue-*` stashes for late writes).
|
||||
|
||||
Reference in New Issue
Block a user