Skip to main content

Specification Conventions

Version: 1.0
Status: Approved
Owner: Platform Architecture Team
Last Updated: 2026-04-12
References: system.md §1–10, AGENT.md §1–17


1. Document Header Template​

Every specification file MUST begin with:

# <Document Title>

**Version:** 1.0
**Status:** Draft | Approved
**Owner:** <Team>
**Last Updated:** YYYY-MM-DD
**Service:** <Service Name> (<SHORT_CODE>)
**References:** [system.md](../../system.md) §<n>, [AGENT.md](../../AGENT.md) §<n>

2. Requirement ID Scheme​

Platform-wide​

PrefixScope
PLT-REQ-xxxPlatform-level requirement
PLT-ADR-xxxArchitecture Decision Record

Per-service​

PrefixArtifact
<CODE>-FR-xxxFunctional requirement
<CODE>-NFR-xxxNon-functional requirement
<CODE>-TR-xxxTechnical requirement
<CODE>-AR-xxxArchitectural requirement
<CODE>-EPIC-xxxEpic
<CODE>-FEAT-xxxFeature
<CODE>-US-xxxUser story

IDs are stable and never reused. Deprecated IDs are marked [DEPRECATED] in-place.


3. Service Short Codes​

ServiceCode
api-gatewayGW
auth-serviceAUTH
sms-orchestratorORCH
smpp-connectorSMPP
routing-engineROUTE
dlr-processorDLR
billing-serviceBILL
webhook-dispatcherHOOK
analytics-serviceANLYT
notification-serviceNOTIF
operator-management-serviceOPS
admin-dashboardADMDASH
customer-portalCUST

4. Traceability Matrix Schema​

All traceability matrices (.md, .csv, .json) share this schema:

FieldTypeDescription
idstringStable REQ ID (e.g. GW-FR-001)
requirementstringShort requirement statement
sourcestringsystem.md §n or AGENT.md §n
epicstringParent epic ID
featurestringParent feature ID
user_storystringParent story ID
test_levelenumunit, integration, contract, e2e
test_referencestringTest file or suite path/name
observability_signalstringmetric, log, trace, or combination
statusenumDraft, Approved, Implemented, Verified

5. Diagram Placement Rules​

FileDiagram type
architectural_requirements.mdStructural: DDD layer, component, dependency graphs
solution_design.mdBehavioural: sequence, state, flowcharts for flows
architecture_baseline.mdPlatform C4 context, container, NATS topology, DB ownership
infrastructure_baseline.mdDeployment topology (local Docker Compose vs K8s prod)

All diagrams use Mermaid embedded in Markdown code fences. No external image files.


6. Assumptions Section Template​

Every spec file MUST include an "Assumptions and Open Points" section:

## Assumptions and Open Points

| ID | Assumption / Open Point | Owner | Resolution Date |
|----|------------------------|-------|----------------|
| A-001 | ... | ... | ... |

7. Status Lifecycle​

Draft → In Review → Approved → Implemented → Verified

Changes to Approved documents require a version bump and change log entry.