Re-review — verificar fixes
Después de aplicar un fix a un issue encontrado por ixtli review, usa re-review para verificar que el problema quedó resuelto correctamente y que no se introdujeron nuevos issues.
ixtli guarda automáticamente la última sesión de review en .ixtli/last_session.json, por lo que no necesitas recordar IDs manualmente.
Modo interactivo — para desarrolladores
ixtli re-review src/api/auth.py
Muestra los issues del último review para ese archivo y permite seleccionar cuáles corregiste:
Issues from last review for src/api/auth.py:
┌─────────────────────────────────────────────────────────────┐
│ # Severity Line Issue │
├─────────────────────────────────────────────────────────────┤
│ 1 critical 42 SQL Injection via unsanitized user_id │
│ 2 high 87 Hardcoded SECRET_KEY │
└─────────────────────────────────────────────────────────────┘
Which issues did you fix? (comma-separated numbers, or 'all'): 1,2
SQL Injection via unsanitized user_id
Describe your fix (optional): Changed to parameterized queries
Hardcoded SECRET_KEY
Describe your fix (optional): Moved to os.environ
Submitting re-review for src/api/auth.py...
All selected issues verified as resolved.
Con descripción directa
ixtli re-review src/api/auth.py --fix "Switched to parameterized queries"
Envía todos los issues del último review para ese archivo marcados con esa descripción de fix.
Para un issue específico
ixtli re-review src/api/auth.py --fix "Parameterized queries" --issue-id abc123
Modo programático — para scripts y agentes
ixtli re-review src/api/auth.py --json \
--resolved-json '[
{
"issue_id": "abc123",
"issue": "SQL Injection via unsanitized user_id",
"code_evidence": "cursor.execute(\"SELECT * FROM users WHERE id = \" + user_id)",
"fix_applied": "Changed to parameterized queries"
}
]'
El flag --resolved-json salta el modo interactivo completamente.
Output del re-review
ixtli re-review src/api/auth.py --json ...
{
"status": "completed",
"resolved": ["SQL Injection via unsanitized user_id"],
"still_present": [],
"new_issues": [],
"summary": "1 issue resolved. Code is clean."
}
Si el fix no fue suficiente:
{
"status": "completed",
"resolved": [],
"still_present": ["SQL Injection via unsanitized user_id"],
"new_issues": [
{
"severity": "medium",
"issue": "Input is now sanitized but missing length validation"
}
],
"summary": "Issue persists. Input validation is incomplete."
}
Todas las opciones
| Flag | Descripción |
|---|---|
FILE | Archivo a re-revisar (requerido) |
--fix, -f | Descripción del fix en una línea |
--issue-id | ID específico del issue a verificar |
--session-id | ID de la sesión de review original |
--resolved-json | Array JSON de issues resueltos (salta modo interactivo) |
--json | Output en JSON |
Exit codes:
| Código | Significado |
|---|---|
0 | Todos los issues seleccionados verificados como resueltos |
1 | Algún issue sigue presente o se introdujeron nuevos |
2 | Error de ejecución |