fix(FN-2462): enforce frozen-lockfile bootstrap across workflows
- Update CI, version, and test-release workflows to use pnpm install --frozen-lockfile consistently. - Align contributor and settings documentation plus worktree init examples toward deterministic frozen-lockfile bootstrap. - Clarify TaskExecutor worktree init guidance to distinguish dependency bootstrap failures from missing workspace dist export failures. - Refresh workflow, executor, restart, and SettingsModal tests (including stable Node Sync tab selection) to assert the new bootstrap contract.
This commit is contained in:
@@ -16,7 +16,7 @@ Thanks for contributing to Fusion.
|
||||
### Install dependencies
|
||||
|
||||
```bash
|
||||
pnpm install
|
||||
pnpm install --frozen-lockfile
|
||||
```
|
||||
|
||||
### Build all packages
|
||||
@@ -54,6 +54,7 @@ pnpm typecheck # workspace typechecks
|
||||
|
||||
Fusion codifies workspace verification as a deterministic contract:
|
||||
|
||||
- Use `pnpm install --frozen-lockfile` for clean bootstrap and dependency repair paths.
|
||||
- `pnpm test` must be runnable in a clean worktree without requiring a prior `pnpm build`.
|
||||
- This includes clean states where `packages/core/dist`, `packages/engine/dist`, and `packages/dashboard/dist` are absent.
|
||||
- `pnpm verify:workspace` is the canonical pre-merge gate and runs in strict order:
|
||||
|
||||
@@ -88,7 +88,7 @@ Defaults from `DEFAULT_PROJECT_SETTINGS`; key scope from `PROJECT_SETTINGS_KEYS`
|
||||
| `mergeStrategy` | `"direct" \| "pull-request"` | `"direct"` | Completion mode (local direct merge vs PR-first). |
|
||||
| `pushAfterMerge` | `boolean` | `false` | Auto-push to remote after successful direct merge. Includes pulling latest and AI conflict resolution. |
|
||||
| `pushRemote` | `string` | `"origin"` | Git remote (and optional branch) to push to after merge. |
|
||||
| `worktreeInitCommand` | `string` | `undefined` | Shell command run after worktree creation. |
|
||||
| `worktreeInitCommand` | `string` | `undefined` | Shell command run after worktree creation. For pnpm repos, prefer `pnpm install --frozen-lockfile` for deterministic bootstrap. |
|
||||
| `testCommand` | `string` | `undefined` | Merge-time test command (hard gate). When unset, Fusion auto-detects from lockfile. |
|
||||
| `buildCommand` | `string` | `undefined` | Merge-time build command (hard gate). |
|
||||
| `recycleWorktrees` | `boolean` | `false` | Reuse worktrees from a pool for faster startup. |
|
||||
|
||||
Reference in New Issue
Block a user