{% explanation %}
Why DBML over Prisma schema
Attributes
| Parameter | Type | Required | Description |
|---|---|---|---|
type | hint | details | β | Rendering variant: 'hint' renders as a branded callout; 'details' renders as a collapsible disclosure element |
audience | string | β | The target group (e.g., 'frontend', 'backend', 'qa', 'ops'). Required when type='hint'. |
tags | string | β | Space-separated labels for filtering (e.g., 'security performance') |
summary | string | β | Label override for hint; text of the <summary> element for details. Defaults to audience when absent. |
scope | string | β | Space-separated list of visibility scopes (defaults to 'public agent') |
Valid Parent Contexts
This tag is valid inside: {% domain %}, {% feature %}, {% flow %}, {% blueprint %}, {% role %}, {% story %}, {% manifest %}, {% milestone %}, {% surface %}, {% tour %}, {% changeset %}
Rules
| Rule | Force | Realm | Reference | Description |
|---|---|---|---|---|
explanation-type-required | | | β | Always specify . The attribute has no default and the compiler will reject tags without it. |
explanation-hint-audience | | | β | When , provide . The compiler emits a validation warning when it is absent. |
explanation-non-normative | | | β | Use for advice and context, not requirements. If something must be done, use or . |
explanation-inside-root-tag | | | β | Place tags inside the root document tag. They are collected and rendered near the top of the page regardless of their position in the source. |
The explanation tag provides contextual information that isnβt a hard requirement or a policy. Use type="hint" for audience-targeted implementation advice rendered as a callout. Use type="details" for supplementary background or rationale that readers can expand on demand.
The body supports full Markdown: paragraphs, lists, code fences, bold, links. Content is rendered correctly in the public site via renderBlocks. The agent bundle receives a plain-text body field.
Agent bundle shape
{ "explanations": [ { "type": "hint", "audience": "backend", "tags": ["caching", "performance"], "summary": null, "body": "Use a write-through cache for all bookmark mutations..." }, { "type": "details", "audience": null, "tags": [], "summary": "Why DBML over Prisma schema", "body": "DBML is model-only and has no runtime coupling..." } ]} Hint-type explanation with audience and tags
{% explanation type="hint" audience="backend" tags="caching performance" %}Use a **write-through cache** for all bookmark mutations:
- Invalidate on `bookmark:deleted`- TTL: 5 minutes{% /explanation %} Details-type explanation for collapsible rationale
{% explanation type="details" summary="Why DBML over Prisma schema" %}DBML is model-only and has no runtime coupling to the ORM. This keeps the speclayer independent of the implementation stack β a schema change in the spec doesnot require a migration until the team decides to act on it.{% /explanation %}