Two review-seal defects, both found by running builtin:coding-ideas-v2 through the
whole scenario matrix rather than the nominal path alone.
1. A DETERMINISTIC verification gate was sealed as write-capable. It needs a
worktree because it runs the project's test/build commands there, but it only
reads the tree — `verification-gate.ts` has no mutation path.
`workflowNodeRequiresWorktree` conflates "needs a worktree" with "writes", and
its inline-fix branch matches on the node NAME (`/review|verification/i`), so a
gate named "Verification" was refused after any approval.
2. A gate that already `passed` or was `skipped` was refused on replay. A
post-approval requeue — a merge conflict, a transient merge failure — walks the
graph back through gates whose output is already inside the approved tree.
Refusing them converts a retryable merge into a terminal wedge; re-running them
would rewrite the tree the review approved. "Already produced, already
reviewed" now resolves as satisfied. A gate with no result still hits the
refusal, which is the case the seal exists for.
Measured by pipeline-smoke S13, where a conflicting merge left the card cycling on
documentation-delivery with `workspace-review-seal-required` instead of retrying.
Coverage: builtin:coding-ideas-v2 now runs 16 of the 19 declared scenarios plus
the multi-repository workspace drive, up from 1. The duration budget is
re-baselined 90s -> 150s, and the workload growth is itemised in docs/testing.md:
17 added scenario executions and a second project shape, 124.95s measured against
76.9s for the smaller matrix. Three consecutive full runs: 116.9s, 115.6s, 119.8s.
NOT covered, deliberately and stated rather than hidden: S07 (unactionable review
rejection), S13 (scripted merge-conflict resolution) and S17 (restart resilience)
still run on the original workflows only. S07 and S13 do not converge on V2, and
S17 produced one intermittent post-merge failure in four full-lane runs — a flake
is not something to ship or to paper over, so those three stay uncovered until
they are understood.
Each changeset file in this directory describes one user-facing change for release notes.
Required body format
---
"@runfusion/fusion": minor
---
summary: Add a Command Center productivity control for LOC backfills.
category: feature
dev: Uses the new `fn_backfill_loc` tool; settings key `commandCenter.locBackfill`.
Fields
Field
Required
Description
summary
Yes
One line, user-facing, max 120 chars. Describe what changed for the operator.
category
Yes
One of: feature, fix, breaking, security, performance, internal.
dev
No
Developer or migration detail. Preserved in per-package CHANGELOGs but excluded from distilled release notes.
Audience
The summary is the only content that appears in end-user release notes by default. Write for Fusion operators — describe behavior, fixes, and what changed. Avoid internal class names, file paths, and implementation detail.
Bump types
patch — bug fixes, internal changes
minor — new features, CLI additions, tools
major — breaking changes
Validation
Run pnpm check:changesets to validate. The linter runs in the PR-check gate and test:gate. Legacy freeform changesets pass with a warning during the transition period.