← back
BDD, ADR, PRD, WTF: Capturing Decisions for Humans and AI Alike — Michal Cichra, Safe Intelligence
Takeaway
Make product intent durable and enforceable with linked decision records, executable behaviors, and automated feedback.
Summary
- Architecture decision records preserve why constraints exist; product requirements documents capture the problem, goal, and user journey.
- Cucumber behavior-driven scenarios turn readable requirements into executable checks linked to critical journeys.
- Design systems, reusable components, and visual previews help agents produce consistent interfaces.
- Git hooks and CI run the same linting, typing, architecture, and documentation checks, linking failures back to the relevant decisions.
coding-agentsbddarchitecture
Original description
"One thing harder than reading AI code is reading AI tests." Mikuel from Safe Intelligence argues spec driven development leaves a loop open: you have a markdown spec, but how do you know the product actually behaves that way? His answer is Cucumber, nearly forgotten and suddenly useful again. Executable, human readable BDD scenarios connect directly to PRDs and critical user journeys and close the gap between what the spec says and what the tests verify. The rest of the talk is enforcement. ADRs capture not just what the rules are but why; agents rejected at commit time get linked back to the document and iterate. Module import linting makes N+1 queries structurally impossible: rendering templates cannot touch the database, E2E tests cannot import any module that could. His sessions run 20 to 50 context compacts. The agent stays on track because the rules live in git hooks and CI, not in the prompt. Speaker info: / michal-cichra-61188a84