Start here
Test first. Then let the agent build.
Featured field guide · Testing / AI agents
Test-first engineering in the age of AI agents
AI makes implementation faster. It does not guarantee that the requirements are right or that the result is safe. Learn how to use executable acceptance criteria, failing tests, and independent checks as the boundaries of an agentic workflow.
Read the guide →SPECIFYREDGREENREFACTORVERIFY
Featured essays
Engineering judgment, tested against failure modes.
Each essay starts with a concrete engineering decision and works backward to the principles that make its risks visible. Examples are labeled as scenarios, not represented as production deployments.
Architecture / Compatibility
The laws that shape reliable software
When a cleaner internal design breaks an undocumented consumer, which principle actually wins? Hyrum, Conway, Goodhart, SOLID, KISS, DRY, and YAGNI examined through database change decisions.
Read the essay →Agentic / Verification
Harness engineering: beyond vibe coding
A coding agent passes every test—but the wrapper script always reports success. An engineering approach to protected checks, bounded tool use, falsification, and accountable review.
Read the essay →Database / Operational Safety
Designing safe agentic database operations
An Aurora parameter correction is proposed for one cluster, but its parameter group may be shared. A design for understanding blast radius, policy gates, effective state, and approval.
Read the essay →The field guide
Four disciplines. One standard of evidence.
These are working engineering heuristics, not an unbreakable set of laws. Each has tradeoffs and must be tested against the system and its failure modes.
01 / DisciplineSoftware engineering foundations
Good code is understandable, testable, and changeable. AI may produce the implementation, but engineering judgment still shapes its boundaries.
- Test-driven development
- Demonstrate missing behavior before implementing it.
- Design by contract
- State preconditions, postconditions, and invariants.
- SOLID and separation of concerns
- Keep responsibilities and dependencies explicit.
- KISS, DRY, and YAGNI
- Avoid accidental complexity and premature abstraction.
02 / DisciplineReliability and safe change
A correct-looking change is not necessarily a safe production change. Reliability requires controlled impact, measurable outcomes, and recovery plans.
- Idempotency
- Make repeated operations safe when requests are retried.
- Backward compatibility
- Protect existing consumers and database contracts.
- Progressive delivery
- Use small batches, staging, and limited rollouts.
- Observability and recovery
- Verify system state and prepare for failure.
03 / DisciplineAgentic engineering
Agents increase delivery speed and the surface area for mistakes. The harness around an agent is part of the engineered system.
- Specification before implementation
- Define acceptance criteria before generating code.
- Independent verification
- Check outcomes, not an agent's confidence.
- Executable guardrails
- Enforce permissions and policy outside prompts.
- Bounded autonomy
- Limit tools, targets, retries, and production authority.
04 / DisciplineEngineering in practice
Principles earn their value when they improve technical decisions. Apply them to real database behavior and expose the evidence.
- PostgreSQL and Aurora
- Parameter governance, query performance, and safe schema changes.
- ClickHouse
- Regression, integration, fuzz, and stress testing.
- Infrastructure as code
- Reviewable changes, automated checks, and drift detection.
- Incident response
- Turn root causes and near misses into durable controls.
From principle to evidence
A better execution plan is not necessarily a better outcome.
In a local PostgreSQL performance investigation, an index changed the execution plan without materially improving p95. The decision was qualified by measuring outcomes and comparing alternatives—not by trusting that a technically plausible fix must be the right one.
Explore the PostgreSQL case study →