Egy entitás anatómiája
Minden entitás két fájl: egy strukturált JSON és egy testvér Markdown a prózai leírásnak. A JSON diffje gépi, a Markdowné olvasható.
{
"schemaVersion": "1.1.0",
"id": "DEV-001",
"type": "user-story",
"title": "Offline-First Helyi Adatperzisztencia",
"level": 2,
"priority": "must",
"status": "draft",
"persona": "Szoftverarchitekt",
"modules": ["ALL"],
"story": {
"as": "Szoftverarchitekt",
"want": "a specifikációt helyi JSON és Markdown fájlokban tárolni",
"so": "hálózat nélkül is biztonságosan dolgozhassak"
},
"acceptanceCriteriaRefs": [
{ "id": "AC-1", "generatesTask": true }
],
"criteria": { "security": "0 kimenő hálózati csomag szerkesztés közben" },
"vpc": { "painReliever": "adatkiszivárgás", "metric": "tcpdump: 0 csomag" },
"refs": {
"parents": ["BC-001"],
"screens": ["SCR-001"],
"models": ["MDL-project"],
"files": ["src/store/files/writer.go"],
"skills": ["go-backend"]
},
"doc": "DEV-001.md"
}
Azonosítók
- Formátum:
<TÍPUS>-<sorszám>(BC-001,DEV-014) vagy<TÍPUS>-<slug>(MDL-user,SKL-react-frontend). A slug Unicode-transzliterált (Üzleti eset→uzleti-eset), ütközéskezeléssel (-2,-3…). - Az azonosító soha nem változik átnevezéskor — a fájlnév követi az ID-t, a
titlekülön mező.
A refs mező
A refs a kereszthivatkozások helye — kulcsonként ID-tömbök:
| Kulcs | Mire mutat |
|---|---|
parents | Szülő entitás (User Story → Business Case) — valódi hierarchia |
children | Gyerek entitások (Business Case → User Story-k) |
screens | L3 képernyők |
models | Schema modellek |
files / structureFile | Structure fájlútvonalak |
skills | Hozzárendelt skillek |
A hivatkozások stabilak (ID-alapúak), és a Generate motor ezeken a kapcsolatokon jár végig a Work Package összeállításakor.
Az L1/L2 közös struct
Az engine az L1 (business-case) és az L2 (user-story) alakot egy struct-tal fedi
(levels.Entity): a story nil egy Business Case-nél, a refs.children kihasználatlan egy
User Story-nál, stb. A szétválasztás lesz a következő lépés, amikor az L3/L4 megérkezik.