feat(FN-4810): complete Step 6 — finalize truncation docs and changeset

Fusion-Task-Id: FN-4810
Fusion-Task-Lineage: b7080f83-96b0-4106-9742-e14b20afeab1
Fusion-Task-Id: FN-4789
Fusion-Task-Lineage: cef0d12e-556e-43d8-9ce0-e4962c2d091b
This commit is contained in:
Fusion (runfusion.ai)
2026-05-16 18:55:04 -07:00
committed by gsxdsm
parent c3d1f7a95c
commit 338b1940f6

View File

@@ -228,9 +228,9 @@ Fusion also enforces a completion-time scope-leak check in the executor `fn_task
- Applies to tasks with declared `## File Scope`.
- Uses touched files from branch committed delta plus uncommitted working-tree edits at completion time.
- Emits `[scope-leak]` activity-log entries when touched files are off-scope.
- Scope-leak list rendering is capped to the first 10 entries for both off-scope touched files and declared scope, with a `… (+N more)` suffix when truncated.
- Activity entries include explicit `total off-scope=` and `total scope=` counters so full list sizes remain visible when previews are truncated.
- In `"block"` mode, the `fn_task_done` refusal text uses the same truncated off-scope preview (`… (+N more)` when applicable) and keeps the remediation hint intact.
- Off-scope touched-file and declared-scope lists are truncated to the first 10 entries with `… (+N more)` when longer.
- Log entries include `total off-scope=` and `total scope=` counters so full list sizes remain explicit.
- In `"block"` mode, the `fn_task_done` refusal message uses the same truncated off-scope preview.
- Honors `task.scopeOverride === true` as an explicit bypass.
`planOnlyScopeLeakEnforcement` controls Review Level 1 behavior: