fix: add structured output format to adversarial review task

Add <output-format> and <example> blocks to Step 3 of
review-adversarial-general.xml so adversarial review findings
are presented with severity classification, ordering, and
consistent markdown formatting — matching the pattern used
by editorial-review-prose.xml and editorial-review-structure.xml.

Closes #1489
This commit is contained in:
Michael Pursifull 2026-02-06 21:01:59 -06:00
parent d027811954
commit f62125d1f5
No known key found for this signature in database
1 changed files with 29 additions and 1 deletions

View File

@ -36,7 +36,35 @@
</step> </step>
<step n="3" title="Present Findings"> <step n="3" title="Present Findings">
<action>Output findings as a Markdown list (descriptions only)</action> <action>Classify each finding by severity: CRITICAL, HIGH, MEDIUM, or LOW</action>
<action>Order findings by severity (CRITICAL first, LOW last)</action>
<action>Number findings sequentially</action>
<action>Include file path and line number where applicable</action>
<action>Output findings using the format below</action>
<output-format>
## Adversarial Review Findings
**Findings:** {count}
- Critical: {n} | High: {n} | Medium: {n} | Low: {n}
1. **{SEVERITY}** - `{location}` - {description}
2. **{SEVERITY}** - {description}
...
</output-format>
<example title="Correct output format">
## Adversarial Review Findings
**Findings:** 5
- Critical: 0 | High: 2 | Medium: 2 | Low: 1
1. **HIGH** - `login.ts:47` - No rate limiting on failed authentication attempts allows brute force attacks
2. **HIGH** - Session token stored in localStorage instead of httpOnly cookie, vulnerable to XSS exfiltration
3. **MEDIUM** - Password validation only enforced client-side; server accepts any string
4. **MEDIUM** - Failed login attempts not written to audit log
5. **LOW** - Magic number `3600` should be named constant `SESSION_TIMEOUT_SECONDS`
</example>
</step> </step>
</flow> </flow>