feat(FN-4684): complete Step 8 — docs changeset and follow-up task

Fusion-Task-Id: FN-4684
Fusion-Task-Lineage: 142e512b-8189-4029-9df4-4bd40b69ed2a
This commit is contained in:
Fusion (runfusion.ai)
2026-05-15 16:42:26 -07:00
committed by gsxdsm
parent 232d7fc4da
commit eaaec4ff22
3 changed files with 9 additions and 3 deletions

View File

@@ -0,0 +1,5 @@
---
"@runfusion/fusion": minor
---
Add WorktreeBackend abstraction (native default + worktrunk scaffold) selected by `worktrunk.enabled`. CLI subcommand mapping arrives in FN-4623.

View File

@@ -645,6 +645,7 @@ Guardrails: this routine does **not** retry merges, does **not** apply to mixed/
### Worktree and naming helpers
- `WorktreePool` (`worktree-pool.ts`) — idle worktree reuse
- `WorktreeBackend` (`worktree-backend.ts`) — abstraction for worktree lifecycle operations. `native` (default) shells out to `git worktree`; `worktrunk` is selected when `worktrunk.enabled=true` and uses `worktrunk.onFailure` to choose fail-hard vs native fallback. CLI subcommand mapping for worktrunk is completed in FN-4623.
- `WorktreeNames` (`worktree-names.ts`) — deterministic worktree/branch naming
### Observability and reflection

View File

@@ -262,9 +262,9 @@ Sandbox backend precedence is:
| Key | Type | Default | Description |
| --- | --- | --- | --- |
| `worktrunk.enabled` | `boolean` | `false` | Enables worktrunk integration settings. Tier: global + project. Project overrides global field-by-field in merged settings. Backend execution support lands in FN-4622+; currently harmless/no-op. |
| `worktrunk.binaryPath` | `string \| undefined` | `undefined` | Optional absolute `worktrunk` binary path. Tier: global + project with field-level precedence (project overrides only this field when set). Backend execution support lands in FN-4622+; currently harmless/no-op. |
| `worktrunk.onFailure` | `"fail" \| "fallback-native"` | `"fail"` | Delegation failure mode. Tier: global + project with field-level precedence. Backend execution support lands in FN-4622+; currently harmless/no-op. |
| `worktrunk.enabled` | `boolean` | `false` | Enables `WorktreeBackend` selection in `packages/engine/src/worktree-backend.ts`. Tier: global + project, merged field-by-field with project overrides. |
| `worktrunk.binaryPath` | `string \| undefined` | `undefined` | Optional absolute `worktrunk` binary path passed to the worktrunk backend. Tier: global + project with field-level precedence (project overrides only this field when set). |
| `worktrunk.onFailure` | `"fail" \| "fallback-native"` | `"fail"` | Worktrunk failure mode: `fail` rethrows the backend error; `fallback-native` retries with native `git worktree` and records fallback audit telemetry. Auto-install, dashboard UX, and CLI setter ergonomics remain downstream follow-ups. |
| Key | Type | Default | Description |
| --- | --- | --- | --- |