- Rewrite README.md with current architecture, features and stack - Update docs/API.md with all current endpoints (corporate, BI, client 360) - Update docs/ARCHITECTURE.md with cache, modular queries, services, ETL - Update docs/GUIA-USUARIO.md for all roles (admin, corporate, agente) - Add docs/INDEX.md documentation index - Add PROJETO.md comprehensive project reference - Add BI-CCC-Implementation-Guide.md - Include AI agent configs (.claude, .agents, .gemini, _bmad) - Add netbird VPN configuration - Add status report Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
95 lines
2.9 KiB
Markdown
95 lines
2.9 KiB
Markdown
---
|
|
---
|
|
|
|
# Step 5: Adversarial Code Review
|
|
|
|
**Goal:** Construct diff of all changes, invoke adversarial review skill, present findings.
|
|
|
|
---
|
|
|
|
## AVAILABLE STATE
|
|
|
|
From previous steps:
|
|
|
|
- `{baseline_commit}` - Git HEAD at workflow start (CRITICAL for diff)
|
|
- `{execution_mode}` - "tech-spec" or "direct"
|
|
- `{tech_spec_path}` - Tech-spec file (if Mode A)
|
|
|
|
---
|
|
|
|
### 1. Construct Diff
|
|
|
|
Build complete diff of all changes since workflow started.
|
|
|
|
### If `{baseline_commit}` is a Git commit hash:
|
|
|
|
**Tracked File Changes:**
|
|
|
|
```bash
|
|
git diff {baseline_commit}
|
|
```
|
|
|
|
**New Untracked Files:**
|
|
Only include untracked files that YOU created during this workflow (steps 2-4).
|
|
Do not include pre-existing untracked files.
|
|
For each new file created, include its full content as a "new file" addition.
|
|
|
|
### If `{baseline_commit}` is "NO_GIT":
|
|
|
|
Use best-effort diff construction:
|
|
|
|
- List all files you modified during steps 2-4
|
|
- For each file, show the changes you made (before/after if you recall, or just current state)
|
|
- Include any new files you created with their full content
|
|
- Note: This is less precise than Git diff but still enables meaningful review
|
|
|
|
### Capture as {diff_output}
|
|
|
|
Merge all changes into `{diff_output}`.
|
|
|
|
**Note:** Do NOT `git add` anything - this is read-only inspection.
|
|
|
|
---
|
|
|
|
### 2. Invoke Adversarial Review
|
|
|
|
With `{diff_output}` constructed, invoke the `bmad-review-adversarial-general` skill. If possible, use information asymmetry: invoke the skill in a separate subagent or process with read access to the project, but no context except the `{diff_output}`.
|
|
|
|
Pass `{diff_output}` as the content to review. The skill should return a list of findings.
|
|
|
|
---
|
|
|
|
### 3. Process Findings
|
|
|
|
Capture the findings from the skill output.
|
|
**If zero findings:** HALT - this is suspicious. Re-analyze or request user guidance.
|
|
Evaluate severity (Critical, High, Medium, Low) and validity (real, noise, undecided).
|
|
DO NOT exclude findings based on severity or validity unless explicitly asked to do so.
|
|
Order findings by severity.
|
|
Number the ordered findings (F1, F2, F3, etc.).
|
|
If TodoWrite or similar tool is available, turn each finding into a TODO, include ID, severity, validity, and description in the TODO; otherwise present findings as a table with columns: ID, Severity, Validity, Description
|
|
|
|
---
|
|
|
|
## NEXT STEP
|
|
|
|
With findings in hand, read fully and follow: `./step-06-resolve-findings.md` for user to choose resolution approach.
|
|
|
|
---
|
|
|
|
## SUCCESS METRICS
|
|
|
|
- Diff constructed from baseline_commit
|
|
- New files included in diff
|
|
- Skill invoked with diff as input
|
|
- Findings received
|
|
- Findings processed into TODOs or table and presented to user
|
|
|
|
## FAILURE MODES
|
|
|
|
- Missing baseline_commit (can't construct accurate diff)
|
|
- Not including new untracked files in diff
|
|
- Invoking skill without providing diff input
|
|
- Accepting zero findings without questioning
|
|
- Presenting fewer findings than the review skill returned without explicit instruction to do so
|