{"data":{"skill":{"slug":"atri10-executor-review","name":"executor-review","icon":"📦","repo":"https://github.com/atri10/executor/tree/39ddcfe1d9f3497102622b72aa235fb0770187fe/skills/executor-review","status":"approved","author":"atri10","authorVersion":null,"skillstoreRevision":1},"audit":{"id":"0bfcc749-9ff5-4d43-98bb-e7c34a71cbd1","skill_id":"e286ea49-d151-4fcf-809c-799f308a898b","version":1,"content_hash":"v3:6d0b11444384184b7ae743742a7e233a9a705cd9:441aa0370385aeb5c1e4eedfdcba0f9f2fac8a8a6dd4b2202b325fb4b80142d7:dc502106f61aac0cfe0e53c558215961bcf89e5270a5ed8e3dcf358c6696a91c:736b696c6c732f6174726931302f6578656375746f722d726576696577:2780242ae47ebdcde7876213b2b297fb","risk_level":"medium","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 208 static findings are false positives involving Markdown, legitimate review commands, fixed sibling references, or protective secret-handling guidance. No evidence found of credential exfiltration, destructive intent, or audit-targeting prompt injection in the four reviewed files. Two semantic risks remain: security findings can be parked without mandatory human approval, and the main workflow hardcodes the final-review fork base.","remediation":[{"issue":"The round-cap workflow permits correctness findings to be parked without mandatory human approval for security issues.","severity":"medium","suggestion":"Require explicit human approval before parking any security or data-loss finding, including non-credential issues. Keep affected tasks blocked until approval is recorded."},{"issue":"The final-review example in SKILL.md hardcodes main, contradicting the final reviewer template.","severity":"medium","suggestion":"Resolve the fork base from recorded initiative provenance in every final-review command. Reject packages whose range does not match that provenance."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"final-reviewer-prompt.md","line_end":54,"line_start":54},{"file":"final-reviewer-prompt.md","line_end":148,"line_start":147},{"file":"final-reviewer-prompt.md","line_end":148,"line_start":148},{"file":"final-reviewer-prompt.md","line_end":157,"line_start":150},{"file":"final-reviewer-prompt.md","line_end":164,"line_start":157},{"file":"final-reviewer-prompt.md","line_end":165,"line_start":164},{"file":"final-reviewer-prompt.md","line_end":166,"line_start":165},{"file":"final-reviewer-prompt.md","line_end":168,"line_start":166},{"file":"final-reviewer-prompt.md","line_end":168,"line_start":168},{"file":"final-reviewer-prompt.md","line_end":222,"line_start":222},{"file":"final-reviewer-prompt.md","line_end":256,"line_start":255},{"file":"final-reviewer-prompt.md","line_end":257,"line_start":256},{"file":"final-reviewer-prompt.md","line_end":264,"line_start":257},{"file":"final-reviewer-prompt.md","line_end":279,"line_start":264},{"file":"final-reviewer-prompt.md","line_end":447,"line_start":436},{"file":"final-reviewer-prompt.md","line_end":448,"line_start":447},{"file":"final-reviewer-prompt.md","line_end":450,"line_start":448},{"file":"final-reviewer-prompt.md","line_end":452,"line_start":450},{"file":"final-reviewer-prompt.md","line_end":460,"line_start":452},{"file":"final-reviewer-prompt.md","line_end":461,"line_start":460},{"file":"final-reviewer-prompt.md","line_end":461,"line_start":461},{"file":"final-reviewer-prompt.md","line_end":466,"line_start":463},{"file":"final-reviewer-prompt.md","line_end":482,"line_start":466},{"file":"final-reviewer-prompt.md","line_end":490,"line_start":482},{"file":"final-reviewer-prompt.md","line_end":490,"line_start":490},{"file":"final-reviewer-prompt.md","line_end":493,"line_start":491},{"file":"final-reviewer-prompt.md","line_end":498,"line_start":493},{"file":"final-reviewer-prompt.md","line_end":504,"line_start":498},{"file":"final-reviewer-prompt.md","line_end":524,"line_start":504},{"file":"final-reviewer-prompt.md","line_end":539,"line_start":524},{"file":"final-reviewer-prompt.md","line_end":547,"line_start":539},{"file":"final-reviewer-prompt.md","line_end":566,"line_start":547},{"file":"final-reviewer-prompt.md","line_end":600,"line_start":600},{"file":"final-reviewer-prompt.md","line_end":605,"line_start":601},{"file":"re-review-prompt.md","line_end":119,"line_start":85},{"file":"re-review-prompt.md","line_end":121,"line_start":119},{"file":"re-review-prompt.md","line_end":124,"line_start":121},{"file":"re-review-prompt.md","line_end":125,"line_start":124},{"file":"re-review-prompt.md","line_end":132,"line_start":125},{"file":"re-review-prompt.md","line_end":135,"line_start":132},{"file":"re-review-prompt.md","line_end":137,"line_start":135},{"file":"re-review-prompt.md","line_end":227,"line_start":137},{"file":"re-review-prompt.md","line_end":324,"line_start":304},{"file":"re-review-prompt.md","line_end":330,"line_start":324},{"file":"re-review-prompt.md","line_end":330,"line_start":330},{"file":"re-review-prompt.md","line_end":336,"line_start":333},{"file":"re-review-prompt.md","line_end":343,"line_start":336},{"file":"re-review-prompt.md","line_end":383,"line_start":343},{"file":"re-review-prompt.md","line_end":402,"line_start":383},{"file":"re-review-prompt.md","line_end":437,"line_start":435}]},{"factor":"filesystem","evidence":[{"file":"SKILL.md","line_end":45,"line_start":45},{"file":"SKILL.md","line_end":399,"line_start":399},{"file":"SKILL.md","line_end":401,"line_start":401},{"file":"SKILL.md","line_end":403,"line_start":403},{"file":"task-reviewer-prompt.md","line_end":229,"line_start":229}]}],"critical_findings":[],"high_findings":[],"medium_findings":[{"title":"Security Findings Lack Mandatory Human Approval at the Round Cap","locations":[{"file":"SKILL.md","line_end":301,"line_start":274},{"file":"SKILL.md","line_end":330,"line_start":303},{"file":"SKILL.md","line_end":366,"line_start":355}],"confidence":0.87,"description":"The breaker allows real findings to be parked when downstream work does not depend on them. Tasks can then be marked complete with parked findings. Only credential incidents have an explicit immediate human stop rule, leaving other security findings without mandatory human approval before deferral.","review_kind":"security","source_category":"semantic","source_severity":"medium","confidence_reasoning":"The workflow explicitly permits parking real correctness findings and completing tasks. Final triage provides another check, but human approval is not required for every security deferral."},{"title":"Hardcoded Fork Base Can Produce an Incorrect Final Review Range","locations":[{"file":"SKILL.md","line_end":340,"line_start":334},{"file":"final-reviewer-prompt.md","line_end":19,"line_start":10}],"confidence":0.96,"description":"The main workflow uses git merge-base main HEAD for final packaging. The final reviewer template requires the recorded fork base instead. For initiatives forked from another branch, this mismatch can review the wrong changes and undermine the final gate.","review_kind":"security","source_category":"semantic","source_severity":"medium","confidence_reasoning":"The two documented commands directly disagree about base selection. The final template explicitly explains why hardcoding main yields an incorrect range for other fork bases."}],"low_findings":[],"dangerous_patterns":[],"files_scanned":4,"total_lines":2189,"audit_model":"codex","audited_at":"2026-10-05T18:08:12.911+00:00","created_at":"2026-10-06T06:52:38.637368+00:00","static_findings":[{"id":"external_commands:final-reviewer-prompt.md:54:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"can satisfy every `R-nn` and every `C-nn` while violating the","category":"external_commands","line_end":54,"severity":"medium","line_start":54},{"id":"external_commands:final-reviewer-prompt.md:147:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`BLOCKED`, naming the path and the range. A merge base hardcoded to","category":"external_commands","line_end":148,"severity":"medium","line_start":147},{"id":"external_commands:final-reviewer-prompt.md:148:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`main` when the initiative forked from `dev` produces a diff that","category":"external_commands","line_end":148,"severity":"medium","line_start":148},{"id":"external_commands:final-reviewer-prompt.md:150:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"2. **[SPEC_FILE] and [PLAN_FILE] exist, and the plan's `spec:` matches the","category":"external_commands","line_end":157,"severity":"medium","line_start":150},{"id":"external_commands:final-reviewer-prompt.md:157:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"response, and `## Edge Cases` names it: \"every task already cleared","category":"external_commands","line_end":164,"severity":"medium","line_start":157},{"id":"external_commands:final-reviewer-prompt.md:164:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`BLOCKED`, naming it. **These are required inputs, not optional","category":"external_commands","line_end":165,"severity":"medium","line_start":164},{"id":"external_commands:final-reviewer-prompt.md:165:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"context:** an implementation can satisfy every `R-nn` and every","category":"external_commands","line_end":166,"severity":"medium","line_start":165},{"id":"external_commands:final-reviewer-prompt.md:166:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`C-nn` while violating the architecture, and a review that never","category":"external_commands","line_end":168,"severity":"medium","line_start":166},{"id":"external_commands:final-reviewer-prompt.md:168:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"and becomes a `NOT RUN` check under `## Edge Cases` — never a clean","category":"external_commands","line_end":168,"severity":"medium","line_start":168},{"id":"external_commands:final-reviewer-prompt.md:222:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"file — `HONOURED`, `VIOLATED`, or `NOT RUN` with the input that was","category":"external_commands","line_end":222,"severity":"medium","line_start":222},{"id":"external_commands:final-reviewer-prompt.md:255:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`docs/executor/` other than the VRFY document's Outcomes rounds (the one","category":"external_commands","line_end":256,"severity":"medium","line_start":255},{"id":"external_commands:final-reviewer-prompt.md:256:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"named exception), or hand-build `.executor/` paths? Run artifacts belong","category":"external_commands","line_end":257,"severity":"medium","line_start":256},{"id":"external_commands:final-reviewer-prompt.md:257:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"only under `.executor/`, resolved by scripts. A violation is an","category":"external_commands","line_end":264,"severity":"medium","line_start":257},{"id":"external_commands:final-reviewer-prompt.md:264:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`.env` contents — that is a **Critical** finding.","category":"external_commands","line_end":279,"severity":"medium","line_start":264},{"id":"external_commands:final-reviewer-prompt.md:436:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"seam you cannot review: one side of it is unfinished. `BLOCKED`, naming","category":"external_commands","line_end":447,"severity":"medium","line_start":436},{"id":"external_commands:final-reviewer-prompt.md:447:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"[ARCH_DIR] and [IFCE_FILES] carry the declared `None — ...` string, or the","category":"external_commands","line_end":448,"severity":"medium","line_start":447},{"id":"external_commands:final-reviewer-prompt.md:448:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"initiative records the phase in `skipped_phases:`, the","category":"external_commands","line_end":450,"severity":"medium","line_start":448},{"id":"external_commands:final-reviewer-prompt.md:450:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`NOT RUN — <the missing document>`, name the skipped phase and the","category":"external_commands","line_end":452,"severity":"medium","line_start":450},{"id":"external_commands:final-reviewer-prompt.md:452:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"assessment. Never report an unrun check as `HONOURED`, and never let an","category":"external_commands","line_end":460,"severity":"medium","line_start":452},{"id":"external_commands:final-reviewer-prompt.md:460:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"successor carries `supersedes:`, and the old document keeps its body","category":"external_commands","line_end":461,"severity":"medium","line_start":460},{"id":"external_commands:final-reviewer-prompt.md:461:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"with `status: superseded` and `superseded_by:`. Grade the code against","category":"external_commands","line_end":461,"severity":"medium","line_start":461},{"id":"external_commands:final-reviewer-prompt.md:463:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"citation as a finding naming both ADRs, the `file:line` that still","category":"external_commands","line_end":466,"severity":"medium","line_start":463},{"id":"external_commands:final-reviewer-prompt.md:466:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`decisions:` field still cites the old ADR is record drift, not","category":"external_commands","line_end":482,"severity":"medium","line_start":466},{"id":"external_commands:final-reviewer-prompt.md:482:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"is commit hygiene, which `What to Review` already grades. Never treat","category":"external_commands","line_end":490,"severity":"medium","line_start":482},{"id":"external_commands:final-reviewer-prompt.md:490:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"- It carries a different `round:` or a different `**Range:**`. That is","category":"external_commands","line_end":490,"severity":"medium","line_start":490},{"id":"external_commands:final-reviewer-prompt.md:491:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"another round's file — for this plan, that is the `-final-R02` fix","category":"external_commands","line_end":493,"severity":"medium","line_start":491},{"id":"external_commands:final-reviewer-prompt.md:493:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"file this review's findings under its name: `BLOCKED`, naming the","category":"external_commands","line_end":498,"severity":"medium","line_start":493},{"id":"external_commands:final-reviewer-prompt.md:498:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"- It carries this round's `round:` and the same range. The earlier","category":"external_commands","line_end":504,"severity":"medium","line_start":498},{"id":"external_commands:final-reviewer-prompt.md:504:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"**You are interrupted before the gate.** Return the `BLOCKED` block,","category":"external_commands","line_end":524,"severity":"medium","line_start":504},{"id":"external_commands:final-reviewer-prompt.md:524:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"5. **Is every Critical and Important finding at a `file:line`** with","category":"external_commands","line_end":539,"severity":"medium","line_start":524},{"id":"external_commands:final-reviewer-prompt.md:539:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"each `NOT RUN` names the phase it depends on — a check with no","category":"external_commands","line_end":547,"severity":"medium","line_start":539},{"id":"external_commands:final-reviewer-prompt.md:547:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"verdict is issued. The `BLOCKED` block at the end of this prompt is what","category":"external_commands","line_end":566,"severity":"medium","line_start":547},{"id":"external_commands:final-reviewer-prompt.md:600:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`SPEC` and `QUALITY` read `NOT ASSESSED` — never `PASS`, because this","category":"external_commands","line_end":600,"severity":"medium","line_start":600},{"id":"external_commands:final-reviewer-prompt.md:601:ruby-shell-backtick-execution","file":"final-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"review did not run, and never `FAIL`, which would send a clean branch","category":"external_commands","line_end":605,"severity":"medium","line_start":601},{"id":"sensitive:final-reviewer-prompt.md:264:environment-file-access","file":"final-reviewer-prompt.md","pattern":"Environment file access","snippet":"`.env` contents — that is a **Critical** finding.","category":"sensitive","line_end":264,"severity":"high","line_start":264},{"id":"sensitive:final-reviewer-prompt.md:263:crypto-seed-private-key-mention","file":"final-reviewer-prompt.md","pattern":"Crypto seed/private key mention","snippet":"private keys, bearer headers, connection strings with credentials, raw","category":"sensitive","line_end":263,"severity":"high","line_start":263},{"id":"blocker:final-reviewer-prompt.md:120:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"specific file only when a concrete question sends you there (\"did the","category":"blocker","line_end":120,"severity":"low","line_start":120},{"id":"blocker:final-reviewer-prompt.md:167:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"opens the store cannot see it. A declared absence is a valid input","category":"blocker","line_end":167,"severity":"low","line_start":167},{"id":"blocker:final-reviewer-prompt.md:182:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"review that said \"spec compliant\" reviewed one task in isolation and could","category":"blocker","line_end":182,"severity":"low","line_start":182},{"id":"blocker:final-reviewer-prompt.md:183:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"not see what the next task did to it. A ruling recorded in the ledger was","category":"blocker","line_end":183,"severity":"low","line_start":183},{"id":"blocker:final-reviewer-prompt.md:207:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"- Did a later task break an earlier task's requirement, or duplicate its","category":"blocker","line_end":207,"severity":"low","line_start":207},{"id":"blocker:final-reviewer-prompt.md:235:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"- Is [DSGN_DIR] still true of the code, or did implementation quietly","category":"blocker","line_end":235,"severity":"low","line_start":235},{"id":"blocker:final-reviewer-prompt.md:349:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"requirement with no row is a requirement you did not review.","category":"blocker","line_end":349,"severity":"low","line_start":349},{"id":"blocker:final-reviewer-prompt.md:424:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"below must name the checks that did not run and the phase they depend","category":"blocker","line_end":424,"severity":"low","line_start":424},{"id":"blocker:final-reviewer-prompt.md:440:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"the branch around the task, do not clear the tasks that did finish in","category":"blocker","line_end":440,"severity":"low","line_start":440},{"id":"blocker:final-reviewer-prompt.md:515:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"1. **Did you read the whole branch diff**, not the union of task","category":"blocker","line_end":515,"severity":"low","line_start":515},{"id":"blocker:final-reviewer-prompt.md:522:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"4. **Did you check for work that satisfies no task** — drift the","category":"blocker","line_end":522,"severity":"low","line_start":522},{"id":"blocker:final-reviewer-prompt.md:552:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"the parts of the diff that did not need the architecture store. A","category":"blocker","line_end":552,"severity":"low","line_start":552},{"id":"blocker:final-reviewer-prompt.md:559:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"get into a finding against the code that did not cause its absence.","category":"blocker","line_end":559,"severity":"low","line_start":559},{"id":"blocker:final-reviewer-prompt.md:601:system-reconnaissance","file":"final-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"review did not run, and never `FAIL`, which would send a clean branch","category":"blocker","line_end":601,"severity":"low","line_start":601},{"id":"external_commands:re-review-prompt.md:85:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"prior verdict is unreadable, `## Preconditions` says what to do. The short","category":"external_commands","line_end":119,"severity":"medium","line_start":85},{"id":"external_commands:re-review-prompt.md:119:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"or unreadable: `BLOCKED`, naming the path. An existing file whose range","category":"external_commands","line_end":121,"severity":"medium","line_start":119},{"id":"external_commands:re-review-prompt.md:121:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"anything, and `## Edge Cases` says what that round is.","category":"external_commands","line_end":124,"severity":"medium","line_start":121},{"id":"external_commands:re-review-prompt.md:124:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"file:line.** An unreadable or truncated file: `BLOCKED`, naming the","category":"external_commands","line_end":125,"severity":"medium","line_start":124},{"id":"external_commands:re-review-prompt.md:125:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"path. A readable file missing an ID: `BLOCKED` too, naming each","category":"external_commands","line_end":132,"severity":"medium","line_start":125},{"id":"external_commands:re-review-prompt.md:132:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"re-point. Missing or unreadable: `BLOCKED`, naming the path.","category":"external_commands","line_end":135,"severity":"medium","line_start":132},{"id":"external_commands:re-review-prompt.md:135:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"sent to verify did not happen: `BLOCKED`, naming the report and the","category":"external_commands","line_end":137,"severity":"medium","line_start":135},{"id":"external_commands:re-review-prompt.md:137:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"empty-fix-range case in `## Edge Cases`.","category":"external_commands","line_end":227,"severity":"medium","line_start":137},{"id":"external_commands:re-review-prompt.md:304:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`no commit in [FIX_BASE_SHA]..[HEAD_SHA] touches this finding`, and open","category":"external_commands","line_end":324,"severity":"medium","line_start":304},{"id":"external_commands:re-review-prompt.md:324:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"precondition 1: `BLOCKED`, naming it.","category":"external_commands","line_end":330,"severity":"medium","line_start":324},{"id":"external_commands:re-review-prompt.md:330:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"- It carries a different `round:` or a different `**Range:**`. That is","category":"external_commands","line_end":330,"severity":"medium","line_start":330},{"id":"external_commands:re-review-prompt.md:333:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"never file this round's verdicts under its name: `BLOCKED`, naming the","category":"external_commands","line_end":336,"severity":"medium","line_start":333},{"id":"external_commands:re-review-prompt.md:336:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"- It carries this round's `round:` and the same range. The earlier","category":"external_commands","line_end":343,"severity":"medium","line_start":336},{"id":"external_commands:re-review-prompt.md:343:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`BLOCKED` block, naming where you stopped, and write no file. A","category":"external_commands","line_end":383,"severity":"medium","line_start":343},{"id":"external_commands:re-review-prompt.md:383:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"ends the dispatch before any verdict is issued. The `BLOCKED` block at the","category":"external_commands","line_end":402,"severity":"medium","line_start":383},{"id":"external_commands:re-review-prompt.md:435:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`ADDRESSED: 0/0` is not a clean round: the denominator is the count of","category":"external_commands","line_end":437,"severity":"medium","line_start":435},{"id":"external_commands:re-review-prompt.md:437:ruby-shell-backtick-execution","file":"re-review-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"established nothing. `GATE: BLOCKED` is neither PASS nor FAIL.","category":"external_commands","line_end":438,"severity":"medium","line_start":437},{"id":"blocker:re-review-prompt.md:20:system-reconnaissance","file":"re-review-prompt.md","pattern":"System reconnaissance","snippet":"cheap-to-mid tier.","category":"blocker","line_end":20,"severity":"low","line_start":20},{"id":"blocker:re-review-prompt.md:27:system-reconnaissance","file":"re-review-prompt.md","pattern":"System reconnaissance","snippet":"re-reviews of small fix diffs take a cheap-to-mid tier. An omitted","category":"blocker","line_end":27,"severity":"low","line_start":27},{"id":"blocker:re-review-prompt.md:135:system-reconnaissance","file":"re-review-prompt.md","pattern":"System reconnaissance","snippet":"sent to verify did not happen: `BLOCKED`, naming the report and the","category":"blocker","line_end":135,"severity":"low","line_start":135},{"id":"blocker:re-review-prompt.md:159:system-reconnaissance","file":"re-review-prompt.md","pattern":"System reconnaissance","snippet":"reading the fix raises a concrete risk in a file it did not touch,","category":"blocker","line_end":159,"severity":"low","line_start":159},{"id":"blocker:re-review-prompt.md:352:system-reconnaissance","file":"re-review-prompt.md","pattern":"System reconnaissance","snippet":"1. **Did you run the impact review before closure?** For every fix","category":"blocker","line_end":352,"severity":"low","line_start":352},{"id":"blocker:re-review-prompt.md:356:system-reconnaissance","file":"re-review-prompt.md","pattern":"System reconnaissance","snippet":"2. **Is each ADDRESSED judgment tied to the root cause** — did the fix","category":"blocker","line_end":356,"severity":"low","line_start":356},{"id":"blocker:re-review-prompt.md:359:system-reconnaissance","file":"re-review-prompt.md","pattern":"System reconnaissance","snippet":"3. **Did you re-review the fix diff, not the original task?** New","category":"blocker","line_end":359,"severity":"low","line_start":359},{"id":"blocker:re-review-prompt.md:444:system-reconnaissance","file":"re-review-prompt.md","pattern":"System reconnaissance","snippet":"| `[MODEL]` | per `executor-execution` Model Selection; small fix diffs take a cheap-to-mid tier |","category":"blocker","line_end":444,"severity":"low","line_start":444},{"id":"external_commands:SKILL.md:37:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Verdict lived only in the subagent's response text | Verdict is a file the reviewer writes: `revie","category":"external_commands","line_end":37,"severity":"medium","line_start":37},{"id":"external_commands:SKILL.md:39:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Reviews addressed as \"Task 2 review, round 3\" | Review rounds are IDs: `INIT-0004-P01-T03-R03` | D","category":"external_commands","line_end":39,"severity":"medium","line_start":39},{"id":"external_commands:SKILL.md:40:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Findings cited reviewer taste | Findings cite the spec requirement they violate: `INIT-0004-SPEC-0","category":"external_commands","line_end":40,"severity":"medium","line_start":40},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Scripts live in the contract skill at `../executor/scripts/`.","category":"external_commands","line_end":45,"severity":"medium","line_start":45},{"id":"external_commands:SKILL.md:46:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Commands below are written bare (`exec-review-package ...`); invoke them from","category":"external_commands","line_end":46,"severity":"medium","line_start":46},{"id":"external_commands:SKILL.md:51:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| The plan's workspace | `exec-workspace PLAN_FILE` | `.executor/<INIT>/<Pnn>/` |","category":"external_commands","line_end":51,"severity":"medium","line_start":51},{"id":"external_commands:SKILL.md:52:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| A review diff | `exec-review-package PLAN_FILE TASK BASE HEAD [ROUND]` | the diff file path |","category":"external_commands","line_end":52,"severity":"medium","line_start":52},{"id":"external_commands:SKILL.md:53:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| A ruling record | `exec-ruling PLAN_FILE TASK_ID \"<decision>\" \"<why>\" \"<cost if wrong>\"` | rulings","category":"external_commands","line_end":53,"severity":"medium","line_start":53},{"id":"external_commands:SKILL.md:54:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| A secret scan | `exec-scan-secrets [PATH ...]` | `file:line: possible <kind>`, exit 1 on findings ","category":"external_commands","line_end":54,"severity":"medium","line_start":54},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`TASK` is the task **number** (`3`), or the literal `final` for a","category":"external_commands","line_end":56,"severity":"medium","line_start":56},{"id":"external_commands:SKILL.md:57:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"whole-branch package. `ROUND` defaults to `01` and is **ignored when TASK is","category":"external_commands","line_end":57,"severity":"medium","line_start":57},{"id":"external_commands:SKILL.md:58:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`final`** — final packages are distinguished by their commit range, so a","category":"external_commands","line_end":58,"severity":"medium","line_start":58},{"id":"external_commands:SKILL.md:61:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"The diff file contains a commit list, a `--stat` summary, and `git diff -U10`","category":"external_commands","line_end":61,"severity":"medium","line_start":61},{"id":"external_commands:SKILL.md:69:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `INIT-0004-P01-T03` | a task |","category":"external_commands","line_end":69,"severity":"medium","line_start":69},{"id":"external_commands:SKILL.md:70:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `INIT-0004-P01-T03-R02` | review round 2 of that task |","category":"external_commands","line_end":70,"severity":"medium","line_start":70},{"id":"external_commands:SKILL.md:71:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `INIT-0004-SPEC-01-R07` | requirement 7 of that spec |","category":"external_commands","line_end":71,"severity":"medium","line_start":71},{"id":"external_commands:SKILL.md:72:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `INIT-0004-SPEC-01-C03` | global constraint 3 of that spec |","category":"external_commands","line_end":72,"severity":"medium","line_start":72},{"id":"external_commands:SKILL.md:74:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"A requirement token hangs off `-SPEC-<nn>-`; a review round always carries a","category":"external_commands","line_end":74,"severity":"medium","line_start":74},{"id":"external_commands:SKILL.md:75:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`-T<nn>-` segment before its `-R<nn>`. Unambiguous, so a finding can cite","category":"external_commands","line_end":75,"severity":"medium","line_start":75},{"id":"external_commands:SKILL.md:84:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Round `R01` is the first review of a task. Fix round *K*'s scoped re-review","category":"external_commands","line_end":84,"severity":"medium","line_start":84},{"id":"external_commands:SKILL.md:85:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"is round `R<K+1>`. Five fix rounds maximum, so a task's rounds run `R01`","category":"external_commands","line_end":85,"severity":"medium","line_start":85},{"id":"external_commands:SKILL.md:86:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"through `R06`.","category":"external_commands","line_end":86,"severity":"medium","line_start":86},{"id":"external_commands:SKILL.md:90:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Task diff | `reviews/diffs/<TASK-ID>-R<nn>-<base7>..<head7>.diff` |","category":"external_commands","line_end":90,"severity":"medium","line_start":90},{"id":"external_commands:SKILL.md:91:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Task verdict | `reviews/verdicts/<TASK-ID>-R<nn>-verdict.md` |","category":"external_commands","line_end":91,"severity":"medium","line_start":91},{"id":"external_commands:SKILL.md:92:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Final diff | `reviews/diffs/<PLAN-ID>-final-<base7>..<head7>.diff` |","category":"external_commands","line_end":92,"severity":"medium","line_start":92},{"id":"external_commands:SKILL.md:93:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Final verdict | `reviews/verdicts/<PLAN-ID>-final-verdict.md` |","category":"external_commands","line_end":93,"severity":"medium","line_start":93},{"id":"external_commands:SKILL.md:94:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| Final fix-wave re-review verdict | `reviews/verdicts/<PLAN-ID>-final-R02-verdict.md` |","category":"external_commands","line_end":94,"severity":"medium","line_start":94},{"id":"external_commands:SKILL.md:96:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Findings are labelled inside their verdict as `C1`, `C2`, `I1`, `M1` —","category":"external_commands","line_end":96,"severity":"medium","line_start":96},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`INIT-0004-P01-T03-R01-I2`. Finding IDs are what a re-review verdicts and","category":"external_commands","line_end":98,"severity":"medium","line_start":98},{"id":"external_commands:SKILL.md:103:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```mermaid","category":"external_commands","line_end":120,"severity":"medium","line_start":103},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":124,"severity":"medium","line_start":120},{"id":"external_commands:SKILL.md:124:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":126,"severity":"medium","line_start":124},{"id":"external_commands:SKILL.md:126:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":129,"severity":"medium","line_start":126},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Never `HEAD~1` — it silently truncates a multi-commit task to its last","category":"external_commands","line_end":139,"severity":"medium","line_start":129},{"id":"external_commands:SKILL.md:139:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`exec-review-package` with the same BASE and HEAD; the package will be","category":"external_commands","line_end":153,"severity":"medium","line_start":139},{"id":"external_commands:SKILL.md:153:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Tag each line with its citable ID (`INIT-0004-SPEC-01-C03: ...`) so a finding","category":"external_commands","line_end":165,"severity":"medium","line_start":153},{"id":"external_commands:SKILL.md:165:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`executor-execution`'s Model Selection section; that policy lives there and","category":"external_commands","line_end":180,"severity":"medium","line_start":165},{"id":"external_commands:SKILL.md:180:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```text","category":"external_commands","line_end":187,"severity":"medium","line_start":180},{"id":"external_commands:SKILL.md:187:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":194,"severity":"medium","line_start":187},{"id":"external_commands:SKILL.md:194:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Ledger the round in `progress.md`:","category":"external_commands","line_end":196,"severity":"medium","line_start":194},{"id":"external_commands:SKILL.md:196:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```text","category":"external_commands","line_end":198,"severity":"medium","line_start":196},{"id":"external_commands:SKILL.md:198:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":217,"severity":"medium","line_start":198},{"id":"external_commands:SKILL.md:217:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`INIT-0004-P01-T03: minor (deferred): <one-liner> [R01-M1]`, and point the","category":"external_commands","line_end":222,"severity":"medium","line_start":217},{"id":"external_commands:SKILL.md:222:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"with `exec-ruling`, then act. Do not dismiss a finding because the plan","category":"external_commands","line_end":231,"severity":"medium","line_start":222},{"id":"external_commands:SKILL.md:231:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"trigger, not a round: settle it with `exec-ruling` before dispatching","category":"external_commands","line_end":256,"severity":"medium","line_start":231},{"id":"external_commands:SKILL.md:256:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":258,"severity":"medium","line_start":256},{"id":"external_commands:SKILL.md:258:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":268,"severity":"medium","line_start":258},{"id":"external_commands:SKILL.md:268:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```text","category":"external_commands","line_end":270,"severity":"medium","line_start":268},{"id":"external_commands:SKILL.md:270:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":275,"severity":"medium","line_start":270},{"id":"external_commands:SKILL.md:275:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"adjudicate each open finding yourself. Every adjudication is an `exec-ruling`","category":"external_commands","line_end":295,"severity":"medium","line_start":275},{"id":"external_commands:SKILL.md:295:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```text","category":"external_commands","line_end":298,"severity":"medium","line_start":295},{"id":"external_commands:SKILL.md:298:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":326,"severity":"medium","line_start":298},{"id":"external_commands:SKILL.md:326:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"The controller confirms with `exec-scan-secrets` over the plan's diffs","category":"external_commands","line_end":327,"severity":"medium","line_start":326},{"id":"external_commands:SKILL.md:327:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"directory (the script prints `file:line: possible <kind>` and never the","category":"external_commands","line_end":331,"severity":"medium","line_start":327},{"id":"external_commands:SKILL.md:331:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"incident with `exec-ruling` as a redacted statement: what kind, which","category":"external_commands","line_end":338,"severity":"medium","line_start":331},{"id":"external_commands:SKILL.md:338:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":340,"severity":"medium","line_start":338},{"id":"external_commands:SKILL.md:340:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":353,"severity":"medium","line_start":340},{"id":"external_commands:SKILL.md:353:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Verdict file: `reviews/verdicts/<PLAN-ID>-final-verdict.md`.","category":"external_commands","line_end":361,"severity":"medium","line_start":353},{"id":"external_commands:SKILL.md:361:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`exec-review-package PLAN_FILE final \"$FIX_BASE\" \"$(git rev-parse HEAD)\"`,","category":"external_commands","line_end":362,"severity":"medium","line_start":361},{"id":"external_commands:SKILL.md:362:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"dispatched with `re-review-prompt.md`, verdict at","category":"external_commands","line_end":363,"severity":"medium","line_start":362},{"id":"external_commands:SKILL.md:363:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`reviews/verdicts/<PLAN-ID>-final-R02-verdict.md`.","category":"external_commands","line_end":368,"severity":"medium","line_start":363},{"id":"external_commands:SKILL.md:368:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Then update this plan's row in `.executor/INDEX.md` in the same change, and","category":"external_commands","line_end":369,"severity":"medium","line_start":368},{"id":"external_commands:SKILL.md:369:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"hand off to `executor-verification`. Nothing is deleted: the workspace, the","category":"external_commands","line_end":378,"severity":"medium","line_start":369},{"id":"external_commands:SKILL.md:378:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"named the diff, brief, and report paths from `exec-review-package` —","category":"external_commands","line_end":380,"severity":"medium","line_start":378},{"id":"external_commands:SKILL.md:380:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. **Is every Critical and Important finding tied to a `file:line`** and a","category":"external_commands","line_end":396,"severity":"medium","line_start":380},{"id":"external_commands:SKILL.md:396:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"1. Read the verdict file from `reviews/verdicts/` — frontmatter","category":"external_commands","line_end":397,"severity":"medium","line_start":396},{"id":"external_commands:SKILL.md:397:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`spec_verdict` and `quality` present and consistent with the findings","category":"external_commands","line_end":397,"severity":"medium","line_start":397},{"id":"external_commands:SKILL.md:399:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. `../executor/scripts/exec-run \"$PLAN\" check` — every completed task has","category":"external_commands","line_end":401,"severity":"medium","line_start":399},{"id":"external_commands:SKILL.md:401:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. For a final review: `../executor/scripts/exec-branch \"$PLAN\" audit` —","category":"external_commands","line_end":403,"severity":"medium","line_start":401},{"id":"external_commands:SKILL.md:403:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. `../executor/scripts/exec-scan-secrets .executor/<INIT>` — exit 0;","category":"external_commands","line_end":411,"severity":"medium","line_start":403},{"id":"external_commands:SKILL.md:411:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| \"`HEAD~1` is close enough for BASE\" | It truncates a multi-commit task to its last commit. The rev","category":"external_commands","line_end":415,"severity":"medium","line_start":411},{"id":"external_commands:SKILL.md:125:shell-command-substitution","file":"SKILL.md","pattern":"Shell command substitution","snippet":"exec-review-package PLAN_FILE 3 \"$BASE\" \"$(git rev-parse HEAD)\" 01","category":"external_commands","line_end":125,"severity":"medium","line_start":125},{"id":"external_commands:SKILL.md:257:shell-command-substitution","file":"SKILL.md","pattern":"Shell command substitution","snippet":"exec-review-package PLAN_FILE 3 \"$FIX_BASE\" \"$(git rev-parse HEAD)\" 02","category":"external_commands","line_end":257,"severity":"medium","line_start":257},{"id":"external_commands:SKILL.md:339:shell-command-substitution","file":"SKILL.md","pattern":"Shell command substitution","snippet":"exec-review-package PLAN_FILE final \"$(git merge-base main HEAD)\" \"$(git rev-parse HEAD)\"","category":"external_commands","line_end":339,"severity":"medium","line_start":339},{"id":"external_commands:SKILL.md:361:shell-command-substitution","file":"SKILL.md","pattern":"Shell command substitution","snippet":"`exec-review-package PLAN_FILE final \"$FIX_BASE\" \"$(git rev-parse HEAD)\"`,","category":"external_commands","line_end":361,"severity":"medium","line_start":361},{"id":"external_commands:SKILL.md:124:template-literal-with-command-substitution","file":"SKILL.md","pattern":"Template literal with command substitution","snippet":"```bash","category":"external_commands","line_end":126,"severity":"medium","line_start":124},{"id":"external_commands:SKILL.md:256:template-literal-with-command-substitution","file":"SKILL.md","pattern":"Template literal with command substitution","snippet":"```bash","category":"external_commands","line_end":258,"severity":"medium","line_start":256},{"id":"external_commands:SKILL.md:338:template-literal-with-command-substitution","file":"SKILL.md","pattern":"Template literal with command substitution","snippet":"```bash","category":"external_commands","line_end":340,"severity":"medium","line_start":338},{"id":"external_commands:SKILL.md:361:template-literal-with-command-substitution","file":"SKILL.md","pattern":"Template literal with command substitution","snippet":"`exec-review-package PLAN_FILE final \"$FIX_BASE\" \"$(git rev-parse HEAD)\"`,","category":"external_commands","line_end":361,"severity":"medium","line_start":361},{"id":"filesystem:SKILL.md:45:path-traversal-sequence","file":"SKILL.md","pattern":"Path traversal sequence","snippet":"Scripts live in the contract skill at `../executor/scripts/`.","category":"filesystem","line_end":45,"severity":"high","line_start":45},{"id":"filesystem:SKILL.md:399:path-traversal-sequence","file":"SKILL.md","pattern":"Path traversal sequence","snippet":"2. `../executor/scripts/exec-run \"$PLAN\" check` — every completed task has","category":"filesystem","line_end":399,"severity":"high","line_start":399},{"id":"filesystem:SKILL.md:401:path-traversal-sequence","file":"SKILL.md","pattern":"Path traversal sequence","snippet":"3. For a final review: `../executor/scripts/exec-branch \"$PLAN\" audit` —","category":"filesystem","line_end":401,"severity":"high","line_start":401},{"id":"filesystem:SKILL.md:403:path-traversal-sequence","file":"SKILL.md","pattern":"Path traversal sequence","snippet":"4. `../executor/scripts/exec-scan-secrets .executor/<INIT>` — exit 0;","category":"filesystem","line_end":403,"severity":"high","line_start":403},{"id":"blocker:SKILL.md:103:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"```mermaid","category":"blocker","line_end":104,"severity":"low","line_start":103},{"id":"blocker:SKILL.md:377:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"1. **Did the reviewer get the package, not a paraphrase?** The dispatch","category":"blocker","line_end":377,"severity":"low","line_start":377},{"id":"blocker:SKILL.md:384:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"4. **Did a re-review do its impact review before closure**, and did it","category":"blocker","line_end":384,"severity":"low","line_start":384},{"id":"blocker:SKILL.md:388:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"6. **Did the controller read the diff itself** instead of the verdict? It","category":"blocker","line_end":388,"severity":"low","line_start":388},{"id":"external_commands:task-reviewer-prompt.md:120:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"were given: `BLOCKED`, naming the path and the range. A file that","category":"external_commands","line_end":122,"severity":"medium","line_start":120},{"id":"external_commands:task-reviewer-prompt.md:122:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`## Edge Cases` says which one that is.","category":"external_commands","line_end":124,"severity":"medium","line_start":122},{"id":"external_commands:task-reviewer-prompt.md:124:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"empty, or headed with another task: `BLOCKED`, naming the path","category":"external_commands","line_end":131,"severity":"medium","line_start":124},{"id":"external_commands:task-reviewer-prompt.md:131:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"gone: `BLOCKED`, naming the round. You cannot tell a first","category":"external_commands","line_end":136,"severity":"medium","line_start":131},{"id":"external_commands:task-reviewer-prompt.md:136:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"write over; `## Edge Cases` says what it means.","category":"external_commands","line_end":229,"severity":"medium","line_start":136},{"id":"external_commands:task-reviewer-prompt.md:229:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"(`../executor/references/test-quality.md`):","category":"external_commands","line_end":254,"severity":"medium","line_start":229},{"id":"external_commands:task-reviewer-prompt.md:254:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"files under `docs/executor/` outside the kinds the verification","category":"external_commands","line_end":256,"severity":"medium","line_start":254},{"id":"external_commands:task-reviewer-prompt.md:256:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"document and writing raw evidence files (`.txt`/`.log`) under the","category":"external_commands","line_end":256,"severity":"medium","line_start":256},{"id":"external_commands:task-reviewer-prompt.md:257:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"initiative's `verification/evidence/` directory via exec-evidence?","category":"external_commands","line_end":259,"severity":"medium","line_start":257},{"id":"external_commands:task-reviewer-prompt.md:259:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`.executor/` paths and run ledgers/dispatches written into the","category":"external_commands","line_end":261,"severity":"medium","line_start":259},{"id":"external_commands:task-reviewer-prompt.md:261:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"under `.executor/`, resolved by the scripts. Cite the placement","category":"external_commands","line_end":272,"severity":"medium","line_start":261},{"id":"external_commands:task-reviewer-prompt.md:272:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"under `docs/executor/` (other than appending an Outcomes round to the","category":"external_commands","line_end":273,"severity":"medium","line_start":272},{"id":"external_commands:task-reviewer-prompt.md:273:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"VRFY document — the one named exception) or hand-build `.executor/`","category":"external_commands","line_end":274,"severity":"medium","line_start":273},{"id":"external_commands:task-reviewer-prompt.md:274:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"paths? Execution artifacts live only under `.executor/`, resolved by the","category":"external_commands","line_end":281,"severity":"medium","line_start":274},{"id":"external_commands:task-reviewer-prompt.md:281:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"keys, bearer headers, connection strings with credentials, raw `.env`","category":"external_commands","line_end":315,"severity":"medium","line_start":281},{"id":"external_commands:task-reviewer-prompt.md:315:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"| A swallowed error in a retry path (`catch {}` then continue) | **Critical** | The failure is invis","category":"external_commands","line_end":317,"severity":"medium","line_start":315},{"id":"external_commands:task-reviewer-prompt.md:317:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"| A test that asserts a constant's value (`expect(MAX_RETRIES).toBe(5)`) | **Important** | Change de","category":"external_commands","line_end":318,"severity":"medium","line_start":317},{"id":"external_commands:task-reviewer-prompt.md:318:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"| A mirror assertion (`expected = f(x); expect(f(x)).toBe(expected)`) | **Important** | Passes no ma","category":"external_commands","line_end":318,"severity":"medium","line_start":318},{"id":"external_commands:task-reviewer-prompt.md:332:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`**Confidence:** high | medium`. High means you can point at the exact","category":"external_commands","line_end":336,"severity":"medium","line_start":332},{"id":"external_commands:task-reviewer-prompt.md:336:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"routes it to `executor-verification` rather than pretending the diff","category":"external_commands","line_end":346,"severity":"medium","line_start":336},{"id":"external_commands:task-reviewer-prompt.md:465:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"- It carries a different `round:` or a different `**Range:**`. That","category":"external_commands","line_end":465,"severity":"medium","line_start":465},{"id":"external_commands:task-reviewer-prompt.md:467:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"and never file your findings under its name: `BLOCKED`, naming","category":"external_commands","line_end":471,"severity":"medium","line_start":467},{"id":"external_commands:task-reviewer-prompt.md:471:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"- It carries this round's `round:` and the same range. The earlier","category":"external_commands","line_end":479,"severity":"medium","line_start":471},{"id":"external_commands:task-reviewer-prompt.md:479:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`round:` and `id:` to [ROUND_ID] — an ID that repeats makes the","category":"external_commands","line_end":479,"severity":"medium","line_start":479},{"id":"external_commands:task-reviewer-prompt.md:486:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"this diff shows it again, cited to this diff's `file:line`.","category":"external_commands","line_end":488,"severity":"medium","line_start":486},{"id":"external_commands:task-reviewer-prompt.md:488:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"**The diff touches a file the brief's `Files:` list never names.** A","category":"external_commands","line_end":492,"severity":"medium","line_start":488},{"id":"external_commands:task-reviewer-prompt.md:492:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"closes. Add a row to section 1 — `EXTRA`, naming the file and what","category":"external_commands","line_end":518,"severity":"medium","line_start":492},{"id":"external_commands:task-reviewer-prompt.md:518:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`CANNOT-VERIFY` row naming the missing surface and the task that","category":"external_commands","line_end":540,"severity":"medium","line_start":518},{"id":"external_commands:task-reviewer-prompt.md:540:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"1. **Is every Critical and Important finding tied to a `file:line`** in","category":"external_commands","line_end":559,"severity":"medium","line_start":540},{"id":"external_commands:task-reviewer-prompt.md:559:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`spec_verdict` and `quality` consistent with the findings listed in","category":"external_commands","line_end":559,"severity":"medium","line_start":559},{"id":"external_commands:task-reviewer-prompt.md:570:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"ends the dispatch before any verdict is issued. The `BLOCKED` block","category":"external_commands","line_end":595,"severity":"medium","line_start":570},{"id":"external_commands:task-reviewer-prompt.md:633:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"`SPEC` and `QUALITY` read `NOT ASSESSED` — never `PASS`, because this","category":"external_commands","line_end":633,"severity":"medium","line_start":633},{"id":"external_commands:task-reviewer-prompt.md:634:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"review did not run, and never `FAIL`, which would send the","category":"external_commands","line_end":636,"severity":"medium","line_start":634},{"id":"external_commands:task-reviewer-prompt.md:636:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"reads `BLOCKED`, which is neither PASS nor FAIL: the round cleared","category":"external_commands","line_end":637,"severity":"medium","line_start":636},{"id":"external_commands:task-reviewer-prompt.md:637:ruby-shell-backtick-execution","file":"task-reviewer-prompt.md","pattern":"Ruby/shell backtick execution","snippet":"nothing, and the `BLOCKED` line names what to re-dispatch with.","category":"external_commands","line_end":638,"severity":"medium","line_start":637},{"id":"filesystem:task-reviewer-prompt.md:229:path-traversal-sequence","file":"task-reviewer-prompt.md","pattern":"Path traversal sequence","snippet":"(`../executor/references/test-quality.md`):","category":"filesystem","line_end":229,"severity":"high","line_start":229},{"id":"sensitive:task-reviewer-prompt.md:281:environment-file-access","file":"task-reviewer-prompt.md","pattern":"Environment file access","snippet":"keys, bearer headers, connection strings with credentials, raw `.env`","category":"sensitive","line_end":281,"severity":"high","line_start":281},{"id":"sensitive:task-reviewer-prompt.md:280:crypto-seed-private-key-mention","file":"task-reviewer-prompt.md","pattern":"Crypto seed/private key mention","snippet":"If the diff contains credential-shaped content — API keys, tokens, private","category":"sensitive","line_end":281,"severity":"high","line_start":280},{"id":"blocker:task-reviewer-prompt.md:243:system-reconnaissance","file":"task-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"- Did the task include a REFACTOR pass — duplication removed, names","category":"blocker","line_end":243,"severity":"low","line_start":243},{"id":"blocker:task-reviewer-prompt.md:267:system-reconnaissance","file":"task-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"the brief specifies? did this change create new files that are already","category":"blocker","line_end":267,"severity":"low","line_start":267},{"id":"blocker:task-reviewer-prompt.md:384:system-reconnaissance","file":"task-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"above. A requirement with no row is a requirement you did not review.","category":"blocker","line_end":384,"severity":"low","line_start":384},{"id":"blocker:task-reviewer-prompt.md:436:system-reconnaissance","file":"task-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"is a valid entry.","category":"blocker","line_end":436,"severity":"low","line_start":436},{"id":"blocker:task-reviewer-prompt.md:546:system-reconnaissance","file":"task-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"3. **Did you judge the diff, not the task?** The implementer built what","category":"blocker","line_end":546,"severity":"low","line_start":546},{"id":"blocker:task-reviewer-prompt.md:549:system-reconnaissance","file":"task-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"4. **Did you re-run nothing the implementer already proved?** Their","category":"blocker","line_end":549,"severity":"low","line_start":549},{"id":"blocker:task-reviewer-prompt.md:586:system-reconnaissance","file":"task-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"and call the round done; an unfiled verdict is a round that did not","category":"blocker","line_end":586,"severity":"low","line_start":586},{"id":"blocker:task-reviewer-prompt.md:634:system-reconnaissance","file":"task-reviewer-prompt.md","pattern":"System reconnaissance","snippet":"review did not run, and never `FAIL`, which would send the","category":"blocker","line_end":634,"severity":"low","line_start":634}],"finding_verdicts":[{"id":"external_commands:final-reviewer-prompt.md:54:ruby-shell-backtick-execution","reason":"R-nn and C-nn are Markdown-formatted requirement identifiers, not executable shell backticks.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:147:ruby-shell-backtick-execution","reason":"BLOCKED is a formatted review status requiring a stop on invalid inputs, not a command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:148:ruby-shell-backtick-execution","reason":"main and dev are formatted branch names in guidance about correct review ranges, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:150:ruby-shell-backtick-execution","reason":"The backticks format the plan's spec metadata field in an input validation rule.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:157:ruby-shell-backtick-execution","reason":"Edge Cases is a Markdown section reference explaining missing prior review evidence, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:164:ruby-shell-backtick-execution","reason":"BLOCKED is a review status for unresolved required inputs, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:165:ruby-shell-backtick-execution","reason":"R-nn is a formatted requirement identifier in architecture review guidance, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:166:ruby-shell-backtick-execution","reason":"C-nn is a formatted constraint identifier in prose about architecture coverage, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:168:ruby-shell-backtick-execution","reason":"NOT RUN and Edge Cases are formatted status and section labels documenting unavailable checks.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:222:ruby-shell-backtick-execution","reason":"HONOURED, VIOLATED, and NOT RUN are review outcome labels, not shell commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:255:ruby-shell-backtick-execution","reason":"docs/executor/ is a formatted repository path used to check artifact placement, not executed code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:256:ruby-shell-backtick-execution","reason":"The backticks format the .executor/ artifact directory while prohibiting manually constructed run paths.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:257:ruby-shell-backtick-execution","reason":"The passage describes the allowed artifact directory and placement violations, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:264:ruby-shell-backtick-execution","reason":"The .env mention identifies secrets to flag and redact; its backticks are Markdown formatting.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:436:ruby-shell-backtick-execution","reason":"BLOCKED is the required status for an unfinished task, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:447:ruby-shell-backtick-execution","reason":"The formatted None string declares absent architecture inputs; it does not execute code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:448:ruby-shell-backtick-execution","reason":"skipped_phases is a formatted metadata field describing unavailable architecture work, not a command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:450:ruby-shell-backtick-execution","reason":"NOT RUN is a required review outcome for missing documents, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:452:ruby-shell-backtick-execution","reason":"HONOURED is a status the reviewer must not falsely assign to unrun checks, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:460:ruby-shell-backtick-execution","reason":"supersedes is a Markdown-formatted decision metadata field, not a shell backtick expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:461:ruby-shell-backtick-execution","reason":"status and superseded_by are decision metadata examples used to select the active contract, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:463:ruby-shell-backtick-execution","reason":"file:line is a formatted evidence citation placeholder, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:466:ruby-shell-backtick-execution","reason":"decisions is a formatted metadata field in stale-reference guidance, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:482:ruby-shell-backtick-execution","reason":"What to Review is a Markdown section reference for commit hygiene checks, not a command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:490:ruby-shell-backtick-execution","reason":"round and Range are formatted verdict fields checked to prevent overwriting another review's evidence.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:491:ruby-shell-backtick-execution","reason":"The final-R02 token names a fix-wave review artifact; Markdown backticks do not execute it.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:493:ruby-shell-backtick-execution","reason":"BLOCKED is required on a verdict-path collision, protecting review evidence rather than executing code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:498:ruby-shell-backtick-execution","reason":"round and Range are formatted artifact identity fields used to distinguish an interrupted dispatch.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:504:ruby-shell-backtick-execution","reason":"BLOCKED is a formatted interruption status requiring no partial verdict, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:524:ruby-shell-backtick-execution","reason":"file:line is a required evidence location format in reviewer self-checks, not a shell expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:539:ruby-shell-backtick-execution","reason":"NOT RUN is a formatted unavailable-check status used to prevent unsupported approval claims.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:547:ruby-shell-backtick-execution","reason":"BLOCKED identifies the response for failed review preconditions, not executable shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:600:ruby-shell-backtick-execution","reason":"SPEC, QUALITY, NOT ASSESSED, and PASS are response fields and status labels, not shell commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:final-reviewer-prompt.md:601:ruby-shell-backtick-execution","reason":"FAIL is a formatted outcome that must not be issued when review did not run; no execution occurs.","verdict":"false_positive","confidence":0.99},{"id":"sensitive:final-reviewer-prompt.md:264:environment-file-access","reason":"The passage flags .env contents found in the supplied diff and explicitly forbids copying secret values.","verdict":"false_positive","confidence":0.99},{"id":"sensitive:final-reviewer-prompt.md:263:crypto-seed-private-key-mention","reason":"Private keys are listed as credential types to flag and redact, not requested for collection or transmission.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:120:system-reconnaissance","reason":"The prose limits opening review artifacts to concrete questions; it contains no host reconnaissance command.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:167:system-reconnaissance","reason":"Opening the architecture store means reading required project contracts, not collecting host or identity information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:182:system-reconnaissance","reason":"The sentence explains why task reviews miss cross-task defects; it performs no system reconnaissance.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:183:system-reconnaissance","reason":"The passage discusses ledger rulings as claims to verify against code, not host discovery.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:207:system-reconnaissance","reason":"The checklist asks whether later tasks broke earlier requirements; no reconnaissance command is present.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:235:system-reconnaissance","reason":"The checklist compares design decisions with implementation, not system identities or host configuration.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:349:system-reconnaissance","reason":"This sentence requires a verdict row for each requirement; it contains no host discovery operation.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:424:system-reconnaissance","reason":"The passage requires naming checks that did not run and their dependencies, not system reconnaissance.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:440:system-reconnaissance","reason":"The guidance forbids clearing a branch around unfinished tasks; no host reconnaissance is requested.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:515:system-reconnaissance","reason":"The reviewer self-check concerns reading the complete branch diff, not discovering system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:522:system-reconnaissance","reason":"The question checks unplanned branch changes; it contains no system reconnaissance command.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:552:system-reconnaissance","reason":"The prose rejects incomplete review coverage when architecture inputs are needed; it does not inspect the host.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:559:system-reconnaissance","reason":"The sentence forbids converting unavailable inputs into unsupported code findings, not system discovery.","verdict":"false_positive","confidence":0.99},{"id":"blocker:final-reviewer-prompt.md:601:system-reconnaissance","reason":"The sentence distinguishes an unrun review from a failed review and contains no reconnaissance operation.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:85:ruby-shell-backtick-execution","reason":"Preconditions is a formatted section reference for handling unreadable prior verdicts, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:119:ruby-shell-backtick-execution","reason":"BLOCKED is an output status for missing or unreadable review packages, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:121:ruby-shell-backtick-execution","reason":"Edge Cases is a Markdown section reference explaining an empty fix range, not a command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:124:ruby-shell-backtick-execution","reason":"BLOCKED is the required status when the prior verdict is unreadable or truncated, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:125:ruby-shell-backtick-execution","reason":"BLOCKED is a formatted response for unresolved finding IDs, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:132:ruby-shell-backtick-execution","reason":"BLOCKED is a formatted response for a missing or unreadable brief, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:135:ruby-shell-backtick-execution","reason":"BLOCKED identifies an absent fix report, protecting against unsupported closure rather than executing code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:137:ruby-shell-backtick-execution","reason":"Edge Cases is a formatted section reference for empty fixes, not executable shell text.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:304:ruby-shell-backtick-execution","reason":"The backticks format a literal evidence sentence about an empty commit range, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:324:ruby-shell-backtick-execution","reason":"BLOCKED is a formatted response when the review base cannot be established, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:330:ruby-shell-backtick-execution","reason":"round and Range are formatted metadata fields used to detect another round's verdict.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:333:ruby-shell-backtick-execution","reason":"BLOCKED is the required response to a verdict-path collision, preventing evidence overwrite rather than executing code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:336:ruby-shell-backtick-execution","reason":"round and Range identify an interrupted dispatch's own artifact; these are Markdown-formatted fields.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:343:ruby-shell-backtick-execution","reason":"BLOCKED is an interruption status requiring no unfinished verdict, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:383:ruby-shell-backtick-execution","reason":"BLOCKED names the response for failed preconditions or interruption, not executable shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:435:ruby-shell-backtick-execution","reason":"ADDRESSED: 0/0 is a formatted response example explicitly distinguished from a clean review, not execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:re-review-prompt.md:437:ruby-shell-backtick-execution","reason":"GATE: BLOCKED is a formatted output status explaining unassessed findings, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"blocker:re-review-prompt.md:20:system-reconnaissance","reason":"cheap-to-mid tier describes reviewer model selection, not system reconnaissance.","verdict":"false_positive","confidence":0.99},{"id":"blocker:re-review-prompt.md:27:system-reconnaissance","reason":"The text specifies a model tier for small fix reviews and contains no reconnaissance command.","verdict":"false_positive","confidence":0.99},{"id":"blocker:re-review-prompt.md:135:system-reconnaissance","reason":"This precondition requires blocking a review with no fix report; it does not discover host information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:re-review-prompt.md:159:system-reconnaissance","reason":"The passage permits focused inspection of code affected by a fix, not host or identity reconnaissance.","verdict":"false_positive","confidence":0.99},{"id":"blocker:re-review-prompt.md:352:system-reconnaissance","reason":"The self-check asks whether affected consumers were reviewed before finding closure, not whether the host was enumerated.","verdict":"false_positive","confidence":0.99},{"id":"blocker:re-review-prompt.md:356:system-reconnaissance","reason":"The question verifies root-cause correction for a finding and contains no system reconnaissance command.","verdict":"false_positive","confidence":0.99},{"id":"blocker:re-review-prompt.md:359:system-reconnaissance","reason":"The reviewer self-check concerns fix-diff scope, not host configuration or identity discovery.","verdict":"false_positive","confidence":0.99},{"id":"blocker:re-review-prompt.md:444:system-reconnaissance","reason":"The placeholder table describes reviewer model selection and contains no system reconnaissance operation.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:37:ruby-shell-backtick-execution","reason":"The backticks format the persistent verdict file naming convention, not executable shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:39:ruby-shell-backtick-execution","reason":"The formatted initiative token is an example review round ID, not a command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:40:ruby-shell-backtick-execution","reason":"The formatted spec token is an example requirement citation, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","reason":"The backticks format a fixed companion-skill script directory; no Ruby or shell backtick execution occurs.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:46:ruby-shell-backtick-execution","reason":"exec-review-package is documented as a companion review helper, not a Ruby backtick expression. Its implementation is outside this audit.","verdict":"false_positive","confidence":0.95},{"id":"external_commands:SKILL.md:51:ruby-shell-backtick-execution","reason":"The table documents workspace resolution by a companion helper, not shell backtick execution. Its implementation is outside this audit.","verdict":"false_positive","confidence":0.95},{"id":"external_commands:SKILL.md:52:ruby-shell-backtick-execution","reason":"The table documents packaging a task diff for review, not Ruby execution or an injected shell command.","verdict":"false_positive","confidence":0.95},{"id":"external_commands:SKILL.md:53:ruby-shell-backtick-execution","reason":"The quoted placeholders document arguments for recording rulings; the Markdown backticks do not execute them.","verdict":"false_positive","confidence":0.95},{"id":"external_commands:SKILL.md:54:ruby-shell-backtick-execution","reason":"The table documents a protective secret scan returning locations and kinds, not shell backtick execution or credential transmission.","verdict":"false_positive","confidence":0.95},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","reason":"TASK, 3, and final are formatted argument descriptions in prose, not executable backtick expressions.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:57:ruby-shell-backtick-execution","reason":"ROUND and 01 describe review-package argument behavior; the backticks only format literals.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:58:ruby-shell-backtick-execution","reason":"final is a formatted literal describing whole-branch packages, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:61:ruby-shell-backtick-execution","reason":"The prose documents git diff -U10 as review-package content, not Ruby execution or a dangerous command.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:69:ruby-shell-backtick-execution","reason":"The backticks format an example task ID in the citation table, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:70:ruby-shell-backtick-execution","reason":"The backticks format an example review round ID, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:71:ruby-shell-backtick-execution","reason":"The backticks format an example spec requirement ID, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:72:ruby-shell-backtick-execution","reason":"The backticks format an example global constraint ID, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:74:ruby-shell-backtick-execution","reason":"The SPEC segment describes the structure of requirement identifiers, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:75:ruby-shell-backtick-execution","reason":"The T and R segments explain ID disambiguation; their backticks are Markdown formatting.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:84:ruby-shell-backtick-execution","reason":"R01 is a formatted review round identifier in prose, not executable shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:85:ruby-shell-backtick-execution","reason":"The backticks format review-round numbering rules and contain no shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:86:ruby-shell-backtick-execution","reason":"R06 is a formatted upper-bound review round ID, not a command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:90:ruby-shell-backtick-execution","reason":"The table documents a task diff filename pattern; the backticks do not execute that path.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:91:ruby-shell-backtick-execution","reason":"The table documents a task verdict filename pattern, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:92:ruby-shell-backtick-execution","reason":"The table documents a final diff filename pattern with commit-range tokens, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:93:ruby-shell-backtick-execution","reason":"The table documents the final verdict path, not shell backtick execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:94:ruby-shell-backtick-execution","reason":"The table documents a final fix-wave verdict path, not an executable shell expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:96:ruby-shell-backtick-execution","reason":"C1, C2, I1, and M1 are formatted finding IDs, not shell commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","reason":"The formatted token shows how to cite a finding across rounds, not how to execute code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:103:ruby-shell-backtick-execution","reason":"The triple backticks open a Mermaid workflow diagram, not a Ruby or shell execution expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","reason":"The triple backticks close a Mermaid workflow diagram and contain no executable shell expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:124:ruby-shell-backtick-execution","reason":"This is a Markdown Bash fence around review packaging with a quoted, fixed git revision query, not Ruby execution.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:126:ruby-shell-backtick-execution","reason":"The triple backticks close a documented review-package command; they are Markdown delimiters, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","reason":"HEAD~1 is a formatted revision example the text explicitly rejects for truncating task review coverage.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:139:ruby-shell-backtick-execution","reason":"The inline helper name documents packaging a non-code task with recorded revisions, not shell backtick execution.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:153:ruby-shell-backtick-execution","reason":"The backticks format an example global constraint citation, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:165:ruby-shell-backtick-execution","reason":"executor-execution names a companion skill's model-selection policy, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:180:ruby-shell-backtick-execution","reason":"The triple backticks open a plain-text response example, not an executable shell block.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:187:ruby-shell-backtick-execution","reason":"The triple backticks close a review status example and do not execute code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:194:ruby-shell-backtick-execution","reason":"progress.md is a Markdown-formatted ledger filename, not executable shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:196:ruby-shell-backtick-execution","reason":"The triple backticks open a plain-text ledger example, not a Ruby or shell expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:198:ruby-shell-backtick-execution","reason":"The triple backticks close a plain-text ledger example and perform no shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:217:ruby-shell-backtick-execution","reason":"The inline text specifies a deferred-minor ledger entry with a finding reference, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:222:ruby-shell-backtick-execution","reason":"exec-ruling names a documented helper for recording contract disputes; the inline backticks do not execute it.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:231:ruby-shell-backtick-execution","reason":"exec-ruling names the helper for persistent dispute rulings, not a Ruby backtick expression.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:256:ruby-shell-backtick-execution","reason":"This is a Markdown Bash fence around scoped fix packaging with a quoted, fixed git revision query, not Ruby execution.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:258:ruby-shell-backtick-execution","reason":"The triple backticks close the scoped review-package example and are not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:268:ruby-shell-backtick-execution","reason":"The triple backticks open a plain-text fix-round ledger example, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:270:ruby-shell-backtick-execution","reason":"The triple backticks close a fix-round ledger example; they are Markdown delimiters.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:275:ruby-shell-backtick-execution","reason":"The inline helper name documents recording adjudications, not shell backtick execution. The deferral policy is assessed separately.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:295:ruby-shell-backtick-execution","reason":"The triple backticks open plain-text task completion examples, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:298:ruby-shell-backtick-execution","reason":"The triple backticks close plain-text task completion examples and do not execute code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:326:ruby-shell-backtick-execution","reason":"exec-scan-secrets names a protective helper scanning review diffs, with explicit instructions not to disclose credential values.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:327:ruby-shell-backtick-execution","reason":"The inline format describes redacted scan output containing locations and credential kinds, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:331:ruby-shell-backtick-execution","reason":"The inline helper name documents recording a redacted security incident, not Ruby or shell backtick execution.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:338:ruby-shell-backtick-execution","reason":"This is a Markdown Bash fence around fixed git metadata queries, not Ruby execution. Fork-base selection is assessed separately.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:340:ruby-shell-backtick-execution","reason":"The triple backticks close the final review packaging example and do not execute shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:353:ruby-shell-backtick-execution","reason":"The inline text names the final verdict artifact path, not an executable shell expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:361:ruby-shell-backtick-execution","reason":"The documented helper packages a final fix diff using a quoted base and fixed git revision query, not shell backticks.","verdict":"false_positive","confidence":0.96},{"id":"external_commands:SKILL.md:362:ruby-shell-backtick-execution","reason":"re-review-prompt.md is a formatted template filename, not executable shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:363:ruby-shell-backtick-execution","reason":"The inline path names the final fix-wave verdict file, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:368:ruby-shell-backtick-execution","reason":"The inline text names the plan index artifact updated during handoff, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:369:ruby-shell-backtick-execution","reason":"executor-verification names a companion workflow, and the passage explicitly forbids deleting review artifacts.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:378:ruby-shell-backtick-execution","reason":"The inline helper name identifies the source of review package paths, not shell backtick execution.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:380:ruby-shell-backtick-execution","reason":"file:line specifies the required evidence citation format, not executable shell text.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:396:ruby-shell-backtick-execution","reason":"The inline text identifies the verdict directory to inspect for review consistency, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:397:ruby-shell-backtick-execution","reason":"spec_verdict and quality are formatted verdict metadata fields, not shell commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:399:ruby-shell-backtick-execution","reason":"The command documents a companion review consistency check with a quoted plan argument. No injected command is shown; implementation is outside this audit.","verdict":"false_positive","confidence":0.93},{"id":"external_commands:SKILL.md:401:ruby-shell-backtick-execution","reason":"The command documents a companion branch audit with a quoted plan argument, not Ruby execution. Implementation is outside this audit.","verdict":"false_positive","confidence":0.93},{"id":"external_commands:SKILL.md:403:ruby-shell-backtick-execution","reason":"The command documents a protective companion secret scan over execution artifacts, not credential transmission. Implementation is outside this audit.","verdict":"false_positive","confidence":0.93},{"id":"external_commands:SKILL.md:411:ruby-shell-backtick-execution","reason":"HEAD~1 is a formatted revision example the table warns against, not executable shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:125:shell-command-substitution","reason":"The substitution runs the fixed read-only git rev-parse HEAD query and passes its output as one quoted argument.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:257:shell-command-substitution","reason":"The substitution runs a fixed git revision query for scoped fix packaging, with quoted output and no dynamic command body.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:339:shell-command-substitution","reason":"The substitutions contain fixed read-only git queries, not injected code. The hardcoded fork-base mismatch is a separate semantic finding.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:361:shell-command-substitution","reason":"The substitution obtains HEAD using a fixed read-only git query and passes the result as a quoted review-package argument.","verdict":"false_positive","confidence":0.97},{"id":"external_commands:SKILL.md:124:template-literal-with-command-substitution","reason":"The backticks delimit a Markdown Bash example, not a JavaScript template literal. The embedded git revision query is fixed and read-only.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:256:template-literal-with-command-substitution","reason":"The backticks open a Markdown Bash fence, not a JavaScript template literal; the example uses a fixed quoted git revision query.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:338:template-literal-with-command-substitution","reason":"This is a Markdown Bash fence, not an executable template literal. Fixed git metadata queries do not demonstrate command injection.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:361:template-literal-with-command-substitution","reason":"The backticks format a documented shell command, not a JavaScript template literal; the command body contains a fixed git revision query.","verdict":"false_positive","confidence":0.99},{"id":"filesystem:SKILL.md:45:path-traversal-sequence","reason":"The fixed relative directory identifies the companion Executor skill. No attacker-controlled traversal or unauthorized file access is shown.","verdict":"false_positive","confidence":0.97},{"id":"filesystem:SKILL.md:399:path-traversal-sequence","reason":"The fixed sibling path selects the companion consistency checker, not an input-driven traversal. Its implementation is not included in this audit.","verdict":"false_positive","confidence":0.95},{"id":"filesystem:SKILL.md:401:path-traversal-sequence","reason":"The fixed sibling path selects the documented branch audit helper; no attacker-controlled path escape is shown.","verdict":"false_positive","confidence":0.95},{"id":"filesystem:SKILL.md:403:path-traversal-sequence","reason":"The fixed sibling path selects a protective secret-scan helper over review artifacts, not an attacker-controlled traversal.","verdict":"false_positive","confidence":0.95},{"id":"blocker:SKILL.md:103:system-reconnaissance","reason":"This line opens a Mermaid review-loop diagram, not a host discovery script.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:377:system-reconnaissance","reason":"The self-check asks whether a reviewer received the proper package, not whether host information was collected.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:384:system-reconnaissance","reason":"The question checks regression impact review and reporting discipline, not system reconnaissance.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:388:system-reconnaissance","reason":"The passage discusses controller context usage when reading diffs, not host or identity enumeration.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:120:ruby-shell-backtick-execution","reason":"BLOCKED is a formatted status for missing or mismatched review packages, not an executable command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:122:ruby-shell-backtick-execution","reason":"Edge Cases is a Markdown section reference explaining empty review ranges, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:124:ruby-shell-backtick-execution","reason":"BLOCKED is the response to an absent or incorrect task brief, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:131:ruby-shell-backtick-execution","reason":"BLOCKED is the response to missing prior-round evidence, not executable shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:136:ruby-shell-backtick-execution","reason":"Edge Cases is a formatted section reference for occupied verdict paths, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:229:ruby-shell-backtick-execution","reason":"The backticks format a fixed companion-skill test-quality reference, not a Ruby or shell expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:254:ruby-shell-backtick-execution","reason":"docs/executor/ is a formatted repository directory in artifact placement guidance, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:256:ruby-shell-backtick-execution","reason":"The .txt and .log tokens name allowed evidence file extensions, not shell commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:257:ruby-shell-backtick-execution","reason":"verification/evidence/ is a formatted evidence directory path, not executable shell text.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:259:ruby-shell-backtick-execution","reason":"The .executor/ path is formatted in a rule against misplaced execution artifacts, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:261:ruby-shell-backtick-execution","reason":"The inline directory name describes where scripts resolve run artifacts, not an executable command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:272:ruby-shell-backtick-execution","reason":"docs/executor/ is a formatted path in an artifact placement check, not a shell expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:273:ruby-shell-backtick-execution","reason":"The .executor/ token is a formatted artifact directory, and the passage rejects manually constructed paths.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:274:ruby-shell-backtick-execution","reason":"The inline directory describes allowed execution artifact placement, not shell backtick execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:281:ruby-shell-backtick-execution","reason":"The .env mention describes credential content to flag, with explicit redaction requirements, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:315:ruby-shell-backtick-execution","reason":"catch {} is a formatted bad-code example used to explain severity, not executable shell text.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:317:ruby-shell-backtick-execution","reason":"The assertion is a formatted example of an inadequate test, not a shell command executed by this skill.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:318:ruby-shell-backtick-execution","reason":"The mirror assertion is an illustrative test-quality counterexample inside Markdown, not executable shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:332:ruby-shell-backtick-execution","reason":"Confidence: high | medium specifies a formatted finding field, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:336:ruby-shell-backtick-execution","reason":"executor-verification names the companion phase for runtime proof, not an executable backtick expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:465:ruby-shell-backtick-execution","reason":"round and Range are formatted artifact fields used to detect verdict-path collisions, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:467:ruby-shell-backtick-execution","reason":"BLOCKED is the required collision response that protects another round's evidence, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:471:ruby-shell-backtick-execution","reason":"The formatted round field identifies a interrupted dispatch's own artifact, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:479:ruby-shell-backtick-execution","reason":"round and id are verdict metadata fields that prevent duplicate round identities, not shell commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:486:ruby-shell-backtick-execution","reason":"file:line specifies evidence for a finding reproduced in the current diff, not executable shell text.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:488:ruby-shell-backtick-execution","reason":"Files is a formatted brief field used to identify unrequested changes, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:492:ruby-shell-backtick-execution","reason":"EXTRA is a formatted compliance verdict for out-of-brief changes, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:518:ruby-shell-backtick-execution","reason":"CANNOT-VERIFY is a formatted requirement outcome for a missing dependency, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:540:ruby-shell-backtick-execution","reason":"file:line is the required finding evidence format in reviewer self-checks, not executable shell code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:559:ruby-shell-backtick-execution","reason":"spec_verdict and quality are formatted metadata fields checked against findings, not shell commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:570:ruby-shell-backtick-execution","reason":"BLOCKED identifies the required response when review preconditions fail, not a command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:633:ruby-shell-backtick-execution","reason":"SPEC, QUALITY, NOT ASSESSED, and PASS are formatted response fields and statuses, not executable code.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:634:ruby-shell-backtick-execution","reason":"FAIL is a formatted status prohibited for reviews that did not run, not shell execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:636:ruby-shell-backtick-execution","reason":"BLOCKED is a formatted gate status explicitly distinct from approval or failure, not a shell command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:task-reviewer-prompt.md:637:ruby-shell-backtick-execution","reason":"BLOCKED names the response that identifies missing dispatch inputs; the backticks only format a status.","verdict":"false_positive","confidence":0.99},{"id":"filesystem:task-reviewer-prompt.md:229:path-traversal-sequence","reason":"The fixed relative path cites a companion test-quality doctrine, not an attacker-controlled traversal or unauthorized target.","verdict":"false_positive","confidence":0.98},{"id":"sensitive:task-reviewer-prompt.md:281:environment-file-access","reason":"The passage identifies .env contents already in the review diff and forbids reproducing credential values.","verdict":"false_positive","confidence":0.99},{"id":"sensitive:task-reviewer-prompt.md:280:crypto-seed-private-key-mention","reason":"Private keys are examples of secrets to flag and redact, not material to collect, expose, or transmit.","verdict":"false_positive","confidence":0.99},{"id":"blocker:task-reviewer-prompt.md:243:system-reconnaissance","reason":"The checklist asks about refactoring, names, and test results; it contains no host reconnaissance command.","verdict":"false_positive","confidence":0.99},{"id":"blocker:task-reviewer-prompt.md:267:system-reconnaissance","reason":"The checklist assesses file structure and growth introduced by a task, not system configuration or identities.","verdict":"false_positive","confidence":0.99},{"id":"blocker:task-reviewer-prompt.md:384:system-reconnaissance","reason":"The sentence requires a coverage row for every requirement and contains no reconnaissance operation.","verdict":"false_positive","confidence":0.99},{"id":"blocker:task-reviewer-prompt.md:436:system-reconnaissance","reason":"The passage permits a no-additional-checks entry when the diff suffices, not host discovery.","verdict":"false_positive","confidence":0.99},{"id":"blocker:task-reviewer-prompt.md:546:system-reconnaissance","reason":"The self-check distinguishes task implementation from plan defects and contains no system reconnaissance command.","verdict":"false_positive","confidence":0.99},{"id":"blocker:task-reviewer-prompt.md:549:system-reconnaissance","reason":"The question discourages redundant test execution; it does not enumerate host identities or system information.","verdict":"false_positive","confidence":0.99},{"id":"blocker:task-reviewer-prompt.md:586:system-reconnaissance","reason":"The sentence rejects partial verdicts that appear complete, not system reconnaissance.","verdict":"false_positive","confidence":0.99},{"id":"blocker:task-reviewer-prompt.md:634:system-reconnaissance","reason":"The prose explains why an unrun review must not report FAIL; no host discovery operation is present.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[{"title":"Security Findings Lack Mandatory Human Approval at the Round Cap","severity":"medium","locations":[{"file":"SKILL.md","line_end":301,"line_start":274},{"file":"SKILL.md","line_end":330,"line_start":303},{"file":"SKILL.md","line_end":366,"line_start":355}],"confidence":0.87,"description":"The breaker allows real findings to be parked when downstream work does not depend on them. Tasks can then be marked complete with parked findings. Only credential incidents have an explicit immediate human stop rule, leaving other security findings without mandatory human approval before deferral.","confidence_reasoning":"The workflow explicitly permits parking real correctness findings and completing tasks. Final triage provides another check, but human approval is not required for every security deferral."},{"title":"Hardcoded Fork Base Can Produce an Incorrect Final Review Range","severity":"medium","locations":[{"file":"SKILL.md","line_end":340,"line_start":334},{"file":"final-reviewer-prompt.md","line_end":19,"line_start":10}],"confidence":0.96,"description":"The main workflow uses git merge-base main HEAD for final packaging. The final reviewer template requires the recorded fork base instead. For initiatives forked from another branch, this mismatch can review the wrong changes and undermine the final gate.","confidence_reasoning":"The two documented commands directly disagree about base selection. The final template explicitly explains why hardcoding main yields an incorrect range for other fork bases."}],"subject_marketplace_commit_sha":"6d0b11444384184b7ae743742a7e233a9a705cd9","subject_content_hash":"441aa0370385aeb5c1e4eedfdcba0f9f2fac8a8a6dd4b2202b325fb4b80142d7","subject_tree_hash":"dc502106f61aac0cfe0e53c558215961bcf89e5270a5ed8e3dcf358c6696a91c","subject_plugin_path":"skills/atri10/executor-review","audit_payload_hash":"2780242ae47ebdcde7876213b2b297fb","confirmed_risk_level":"medium","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"6d0b11444384184b7ae743742a7e233a9a705cd9","contentHash":"441aa0370385aeb5c1e4eedfdcba0f9f2fac8a8a6dd4b2202b325fb4b80142d7","treeHash":"dc502106f61aac0cfe0e53c558215961bcf89e5270a5ed8e3dcf358c6696a91c","pluginPath":"skills/atri10/executor-review","auditPayloadHash":"2780242ae47ebdcde7876213b2b297fb"},"scannerVersion":"3.0.0","policyVersion":"skillstore-security-audit-policy-v1"},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"issued","url":"/api/skills/atri10-executor-review/audits/1/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"medium","confirmedFindingCount":2,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}