48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
# Zelfreview voor een autonome taak
|
|
|
|
Voer deze review uit vóór `BACKLOG.yaml` naar `done` gaat.
|
|
|
|
## Correctheid
|
|
|
|
- Is ieder acceptatiecriterium aantoonbaar in code/test/documentatie terug te vinden?
|
|
- Klopt gedrag bij nul items, dubbele uitvoering, gedeeltelijke fout en tijdzonegrens?
|
|
- Is het datamodel consistent na een exception of retry?
|
|
- Zijn bestaande canonieke data, provenance en gebruikersacties behouden?
|
|
|
|
## Security
|
|
|
|
- Kan externe input een URL, command, template, log of AI-instructie worden?
|
|
- Worden policy en SSRF na redirects opnieuw toegepast?
|
|
- Zijn HTML, filenames, exports en e-mailvelden gesanitized/begrensd?
|
|
- Is iedere muterende view authenticated, CSRF-beschermd en user-scoped?
|
|
- Kan een secret/PII in debugoutput, exception of fixture terechtkomen?
|
|
|
|
## Architectuur
|
|
|
|
- Staat beslislogica in een service en niet in view/task/template?
|
|
- Doet een adapter uitsluitend extractie?
|
|
- Is de dependency nodig en gelockt?
|
|
- Is de verandering compatibel met accepted ADRs?
|
|
- Is een migratie werkelijk nodig en veilig?
|
|
|
|
## UX
|
|
|
|
- Is feit versus inferentie versus onbekend helder?
|
|
- Werkt de kern zonder JavaScript, met keyboard en op smal scherm?
|
|
- Zijn fouten herstelbaar en leggen ze geen technische details/secrets bloot?
|
|
- Vermijdt de flow extra dagelijkse handelingen?
|
|
|
|
## Tests
|
|
|
|
- Zou de test falen zonder de implementatie?
|
|
- Zijn negatieve en replaypaden aanwezig?
|
|
- Gebruikt geen standaardtest live internet of persoonlijke data?
|
|
- Is een bug als regressietest vastgelegd?
|
|
- Slaagt de volledige gate zonder thresholds te verlagen?
|
|
|
|
## Overdracht
|
|
|
|
- Zijn traceability, runbook, configvoorbeeld en threat model aangepast waar nodig?
|
|
- Bevat het taakresultaat concrete uitkomst en verificatie, geen algemene claim?
|
|
- Is `PROJECT_STATE.md` eerlijk over wat niet live getest kon worden?
|