Part of #3615; found by the #5291 planning scripts audit.
Problem
plugins/planning/scripts/check-plan-outcome.sh:245 prints one path-hit=<line>:<text> line per non-portable path with no upper bound, so a PLAN.md with hundreds of such lines produces unbounded stdout (checklist item: output-size truncation limits).
Work
- Print at most N hits (for example 20) followed by
path-hit-truncated=<remaining>; keep the criterion=portable-paths status=fail line and exit code unchanged.
- Update the header contract (
check-plan-outcome.sh:49-52) and add a case to check-plan-outcome.test.sh.
- Observable change: consumers that count
path-hit= lines (grep in /planning:plan Step 4.7 and its tests) must be checked first.
Size: S.
Part of #3615; found by the #5291 planning scripts audit.
Problem
plugins/planning/scripts/check-plan-outcome.sh:245prints onepath-hit=<line>:<text>line per non-portable path with no upper bound, so a PLAN.md with hundreds of such lines produces unbounded stdout (checklist item: output-size truncation limits).Work
path-hit-truncated=<remaining>; keep thecriterion=portable-paths status=failline and exit code unchanged.check-plan-outcome.sh:49-52) and add a case tocheck-plan-outcome.test.sh.path-hit=lines (grep in /planning:plan Step 4.7 and its tests) must be checked first.Size: S.