The [scope-leak] reviewLevel=N enforcement=warn warning was firing on many in-progress tasks for off-scope .changeset/FN-XXXX-*.md files (the production signature on FN-4789, FN-4801, FN-4818 \u2014 their branches all contained .changeset/FN-4811-*.md files from the in-progress fix stack). By convention every task may add its own changeset entry under .changeset/ per AGENTS.md 'Finalizing Changes' section, so .changeset/ files are now treated as always-allowed by the scope-leak guard regardless of the task's declared file scope. Cross-task changeset leakage is still caught by stronger downstream guards (file-scope invariant at squash, post-merge audit) at much higher signal-to-noise. This change only suppresses the noisy per-execution warning that was flooding logs without adding any defensive value. Adds a new exported helper isAlwaysAllowedScopeLeakPath() so the allowlist surface is easy to extend. Test coverage in scope-leak-changeset-allowlist.test.ts. Also (incorporated from interrupted merge state): loosens the executing-task-lock.test.ts assertion that one losing-instance store sees zero work-log entries rather than the brittle exact-count of mockedCreateFnAgent invocations (the no-fn_task_done retry path can fire on the winning instance, so the count varies). Fusion-Task-Id: FN-4811
683 B
683 B
@runfusion/fusion
| @runfusion/fusion |
|---|
| patch |
fix(FN-4811): scope-leak guard always allows .changeset/ paths
The [scope-leak] warning was firing on many in-progress tasks for off-scope .changeset/FN-XXXX-*.md files (the reproducible signature on FN-4789, FN-4801, FN-4818). By convention every task may add its own changeset entry under .changeset/ per AGENTS.md's "Finalizing Changes" section, so changeset files are now treated as always-allowed by the scope-leak guard regardless of the task's declared file scope. Cross-task changeset leakage is still caught by stronger downstream guards (file-scope invariant at squash, post-merge audit) at a much higher signal-to-noise ratio.