feat(retro): retro-filing-policy skill (#525) - #674
Conversation
…#525) Add an optional retro-filing-policy skill that the retro agent reads before deciding which proposals to file as GitHub issues. Each proposal gets a filing_decision field (file: bool, reason: string). The post-script skips proposals with file=false and folds them into the summary comment. When the field is absent, all proposals are filed (backward compatible). The evidence-for gate remains as a hard safety net that runs after the filing policy gate and cannot be overridden by filing_decision.file=true. Extract sanitize_for_gha() in post-retro.sh to deduplicate GHA workflow command sanitization across 6 call sites. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Hector Martinez <hemartin@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 1:55 PM UTC · Completed 2:12 PM UTC |
ReviewFindingsHigh
Medium
Low
Labels: PR modifies the retro agent subsystem (agent definition, harness, skill, schema, post-script) and adds a new feature Next steps:
|
| fi | ||
| echo "All ${PROPOSAL_COUNT} proposal(s) validated" | ||
|
|
||
| # Sanitize a string for use in GHA workflow commands. Strips newlines, |
There was a problem hiding this comment.
[low] GHA-workflow-command-injection
sanitize_for_gha() does not strip ANSI escape sequences or control characters. Not exploitable in GHA Actions UI but a defense-in-depth gap for raw log consumers.
Summary
retro-filing-policyskill that the retro agent reads before deciding which proposals to file as GitHub issues. Each proposal gets afiling_decisionfield (file: bool, reason: string); the post-script skips proposals withfile=falseand folds them into the summary comment.filing_decision.file=truecannot override it.sanitize_for_gha()inpost-retro.shto deduplicate GHA workflow command sanitization across 6 call sites.filing_decisionis absent, all proposals are filed (current default).Closes #525
Related: fullsend-ai/fullsend#5723
Test plan
🤖 Generated with Claude Code