Tag ER Diagram
tags
instruction
Diagram Syntax Error
classDiagram
direction TB
note "+ = required ── = contains ..> = cross-doc ref"
%% ─── Document Roots ─────────────────────────────────────────────────────────
class domain:::root {
+id : string
scope : string
}
class feature:::root {
+id : string
roles : string
domains : string
scope : string
}
class role:::root {
+id : string
+label : string
scope : string
}
class flow:::root {
+id : string
scope : string
}
class manifest:::root {
+id : string
scope : string
}
class blueprint:::root {
+id : string
+type : infrastructure|architecture|module|plan
implements : string
scope : string
}
class story:::root {
+id : string
+role : string
+features : string
}
class milestone:::root {
+id : string
release : string
status : planned|in-progress|done
scope : string
}
class tour:::root {
kind : walkthrough|demo|checklist
transition : none|fade|slide|slide-back
scale : number
feature : string
scope : string
}
class surface:::root {
+id : string
+title : string
type : atomic|widget|screen
feature : string
showroom : boolean
group : string
label : string
scale : number
}
class changeset:::root {
+commits : string
scope : string
}
%% ─── Universal Tags ──────────────────────────────────────────────────────────
class tldr {
scope : string
}
class explanation {
+type : hint|details
audience : string
tags : string
summary : string
scope : string
}
class diagram {
+id : string
+label : string
type : string
engine : mermaid|d2|dot
}
class setting {
+id : string
+type : string
default : string
}
%% ─── API Group ───────────────────────────────────────────────────────────────
class api
class action {
+id : string
}
class event {
+id : string
}
class operation {
+id : string
+type : read|write
idempotent : boolean
}
class error {
+id : string
+code : string
category : domain|technical
}
class property {
+id : string
+type : string
required : boolean
description : string
}
class returns
class throws {
+ref : string
}
%% ─── Domain Children ─────────────────────────────────────────────────────────
class glossary
class term {
+id : string
}
class model
class policy {
id : string
+sourceRef : string
+reactionRef : string
condition : string
}
%% ─── Feature Children ────────────────────────────────────────────────────────
class criteria
class requirement {
+id : string
priority : must|should|could|wont
tags : string
}
class criterion {
+id : string
ref : string
scope : string
}
%% ─── Blueprint Children ──────────────────────────────────────────────────────
class approach {
+label : string
}
class component {
+id : string
+layer : controller|service|repository|worker|gateway|store|util|ui|adapter|infrastructure|orchestrator|contract
tech : string
}
class uses {
+ref : string
}
class rule {
+id : string
+force : must|should
+ref : string
}
class BPLink["link"] {
ref : string
url : string
}
%% ─── Manifest Children ───────────────────────────────────────────────────────
class value {
+id : string
+label : string
}
class principle {
+id : string
+label : string
}
class goal {
+id : string
+label : string
status : pending|achieved
}
%% ─── Milestone Children ──────────────────────────────────────────────────────
class includes {
+ref : string
}
%% ─── Flow Children ───────────────────────────────────────────────────────────
class precondition
class postcondition {
outcome : string
}
class step {
action : string
actor : string
}
class branch {
+condition : string
}
class path {
+outcome : string
label : string
emit : string
throws : string
}
%% ─── Tour Children ───────────────────────────────────────────────────────────
class stop {
+surface : string
+title : string
transition : none|fade|slide|slide-back
duration : number
scale : number
}
class spotlight {
+target : string
type : ring|pulse|dim|highlight
duration : number
seq : number
}
class overlay {
+target : string
anchor : top|right|bottom|left
seq : number
}
%% ─── Surface / UI Children ───────────────────────────────────────────────────
class interactions {
+id : string
+start : string
}
class clickable {
+from : string
+target : string
transition : none|fade|slide|slide-back
}
%% ─── Changeset Children ──────────────────────────────────────────────────────
class touched {
+ref : string
}
%% ─── Composition: domain ─────────────────────────────────────────────────────
domain *-- tldr
domain *-- explanation
domain *-- diagram
domain *-- setting
domain *-- glossary
domain *-- model
domain *-- api
domain *-- policy
glossary *-- term
%% ─── Composition: feature ────────────────────────────────────────────────────
feature *-- tldr
feature *-- explanation
feature *-- diagram
feature *-- setting
feature *-- api
feature *-- requirement
feature *-- criteria
feature *-- interactions
criteria *-- criterion
%% ─── Composition: role ───────────────────────────────────────────────────────
role *-- tldr
%% ─── Composition: flow ───────────────────────────────────────────────────────
flow *-- tldr
flow *-- explanation
flow *-- precondition
flow *-- postcondition
flow *-- step
step *-- branch
branch *-- path
%% ─── Composition: manifest ───────────────────────────────────────────────────
manifest *-- tldr
manifest *-- value
manifest *-- principle
manifest *-- goal
manifest *-- requirement
%% ─── Composition: blueprint ──────────────────────────────────────────────────
blueprint *-- tldr
blueprint *-- explanation
blueprint *-- diagram
blueprint *-- approach
blueprint *-- component
blueprint *-- rule
blueprint *-- BPLink
component *-- uses
%% ─── Composition: story ──────────────────────────────────────────────────────
story *-- tldr
story *-- interactions
%% ─── Composition: milestone ──────────────────────────────────────────────────
milestone *-- tldr
milestone *-- includes
%% ─── Composition: tour ───────────────────────────────────────────────────────
tour *-- tldr
tour *-- stop
stop *-- spotlight
stop *-- overlay
%% ─── Composition: surface ────────────────────────────────────────────────────
surface *-- interactions
interactions *-- clickable
%% ─── Composition: changeset ──────────────────────────────────────────────────
changeset *-- touched
%% ─── API internals ───────────────────────────────────────────────────────────
api *-- action
api *-- event
api *-- operation
api *-- error
action *-- property
event *-- property
operation *-- property
operation *-- returns
operation *-- throws
returns *-- property
%% ─── Cross-doc references ────────────────────────────────────────────────────
feature ..> domain : domains=
feature ..> role : roles=
story ..> role : role=
story ..> feature : features=
tour ..> feature : feature=
surface ..> feature : feature=
blueprint ..> feature : implements=
includes ..> feature : ref=
criterion ..> requirement : ref=
throws ..> error : ref=
%% ─── Styling ─────────────────────────────────────────────────────────────────
classDef root fill:#1e3,stroke:#4a90d9
%% ─── Links to instruction pages ──────────────────────────────────────────────
link domain "/starspec/tag/domain"
link feature "/starspec/tag/feature"
link role "/starspec/tag/role"
link flow "/starspec/tag/flow"
link manifest "/starspec/tag/manifest"
link blueprint "/starspec/tag/blueprint"
link story "/starspec/tag/story"
link milestone "/starspec/tag/milestone"
link tour "/starspec/tag/tour"
link surface "/starspec/tag/surface"
link changeset "/starspec/tag/changeset"
link tldr "/starspec/tag/tldr"
link explanation "/starspec/tag/explanation"
link diagram "/starspec/tag/diagram"
link setting "/starspec/tag/setting"
link api "/starspec/tag/api"
link action "/starspec/tag/api"
link event "/starspec/tag/api"
link operation "/starspec/tag/operation"
link error "/starspec/tag/error"
link throws "/starspec/tag/throws"
link returns "/starspec/tag/returns"
link property "/starspec/tag/property"
link glossary "/starspec/tag/glossary"
link term "/starspec/tag/glossary"
link model "/starspec/tag/model"
link policy "/starspec/tag/policy"
link requirement "/starspec/tag/requirement"
link criteria "/starspec/tag/criterion"
link criterion "/starspec/tag/criterion"
link approach "/starspec/tag/blueprint"
link component "/starspec/tag/blueprint"
link uses "/starspec/tag/blueprint"
link rule "/starspec/tag/blueprint"
link BPLink "/starspec/tag/blueprint"
link value "/starspec/tag/manifest"
link principle "/starspec/tag/manifest"
link goal "/starspec/tag/manifest"
link includes "/starspec/tag/milestone"
link precondition "/starspec/tag/flow"
link postcondition "/starspec/tag/flow"
link step "/starspec/tag/flow"
link branch "/starspec/tag/flow"
link path "/starspec/tag/flow"
link stop "/starspec/tag/tour"
link spotlight "/starspec/tag/tour"
link overlay "/starspec/tag/tour"
link interactions "/starspec/tag/interactions"
link clickable "/starspec/tag/interactions"
link touched "/starspec/tag/touched"