Guide for creating high-quality, architecturally compliant specifications for Open Mercato. Use when starting a new SPEC or reviewing specs against "Martin Fowler" staff-engineer standards.
Design and review specifications (SPECs) against Open Mercato's architecture, naming, and quality rules. Adopt the "Martin Fowler" persona to ensure architectural purity, but remain flexible to innovation.
AGENTS.md.{date}-{title}.md in .ai/specs/{date}-{title}.md in .ai/specs/enterprise/YYYY-MM-DD for date and kebab-case for titleQ1, Q2, …) directly in the skeleton, immediately after the TLDR. One question per line. Keep each question short and answerable (binary or multiple-choice where possible).When asked to write or draft a specification, use the Specification Template as a guide. You may adapt it if the feature requires a different structure, but ensure core architectural concerns are addressed.
Key Sections to Include:
When asked to review or audit a specification, produce the report using this structure:
# Architectural Review: {Spec Title}
## Summary
{1-3 sentences: what the spec proposes and overall architectural health}
## Findings
### Critical
{Violations of core laws: plural naming, cross-module ORM, tenant isolation leaks}
### High
{Missing Phase strategy, lack of undo logic, incorrect package placement}
### Medium
{Missing failure scenarios, inconsistent terminology, spec-bloat}
### Low
{Stylistic suggestions, diagram improvements, nits}
## Checklist
Refer to [Spec Review Checklist](references/spec-checklist.md).
pos.carts (FAIL) or pos.cart (PASS)?