Skip to content
This repository was archived by the owner on Sep 9, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 23 additions & 21 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,30 @@
# CIC Primitives — Claude kontextus
# CIC Storage — Claude kontextus

## Branch szabály — KÖTELEZŐ

**Érdemi fejlesztés kizárólag a `devel` ágon történhet.**

- `main` — csak merge fogad (devel → main), közvetlen commit tilos
- `primitives/releases/v*` — kizárólag release tag célra
- `storage/releases/v*` — kizárólag release tag célra
- `devel` — ez az aktív fejlesztési ág

Ha nem `devel`-en vagyunk: figyelmeztetés, és átváltás `devel`-re mielőtt bármilyen
schema, kód vagy dokumentáció változtatás történik.

## Mi ez a rendszer

A `cic-primitives` a CentralInfraCore **meta-séma rétege** — az a szint, amelyből
minden domain objektum (switch interface, kubernetes pod, service, database, policy)
schema-szinten levezethető.
A `cic-storage` egy **domain-repó** — a `cic-primitives` meta-séma rétegére épülve
storage objektumokat lenne hivatva leírni, schema-szinten.

Nem domain modell. Nem IaC tool. Nem YANG leíró.
A `schemas/atomic/`+`schemas/aggregate/` alatti fájlok **öröklöttek** a
`cic-primitives`-ból (a `base` remote-on át) — ez a repó nem definiálja őket.
**Storage-specifikus domain composition egyelőre nincs megírva** —
a `schemas/examples/kubernetes-pod.yaml` a `cic-primitives` öröklött
sablon-demója, nem ennek a repónak a munkája.

A primitívek azok az **irreducibilis szemantikai atomok és kompozícióik**, amelyekből
bármilyen menedzselt objektum strukturált, validálható, verziózott YAML sémává fordítható.
bármilyen menedzselt objektum strukturált, validálható, verziózott YAML sémává fordítható
— ezt a réteget a `cic-primitives` adja, nem ez a repó.

Részletes architektúra: `ai/SYSTEM_CONTEXT.md`
Következő konkrét feladatok: `ai/PROMPTMAP.yaml`
Expand Down Expand Up @@ -53,16 +57,14 @@ Amíg ez a négy pont nincs meg, ne tegyél tényállításokat a primitive mode

| Elem | Státusz | Megjegyzés |
|---|---|---|
| git repo bootstrap | **defined** | `git merge base@0.5.0` kész |
| `dependency.yaml` | **defined** | `base@0.5.0` composition lock |
| `project.yaml` | **defined** | `x-cic.repo_type: primitive` |
| `schemas/` struktúra | **defined** | atomic/ + aggregate/ + index.yaml |
| aggregate skeletonök | **defined** | ConfigSurface, StateSurface, OperationSurface, ManagedEntity |
| atomic layer (8 atom) | **defined** | Shape, Role, Behavior, Contract, Address, Identity, Event, Access |
| aggregate completion | **defined** | atomic ref-ek bekötve |
| domain példa | **defined** | `schemas/examples/kubernetes-pod.yaml` |
| git repo bootstrap | **defined** | `git merge base@0.5.0` a `cic-primitives`-on át (nem közvetlen) |
| `dependency.yaml` | **defined** | `base@0.5.0` composition lock (örökölt) |
| `project.yaml` | **defined** | `x-cic.repo_type: domain` |
| `schemas/` struktúra | **defined** | atomic/ + aggregate/ (örökölt), nincs saját examples/ |
| atomic/aggregate réteg | **öröklött** | Shape, Role, Behavior, Contract, Address, Identity, Event, Access + surface-aggregate-ek |
| Storage-specifikus domain composition | **NOT IMPLEMENTED** | egyetlen saját domain composition sincs még |
| `make validate` zöld | **defined** | Docker-alapú tooling, Vault nélkül is fut |
| első signed release | **concept** | Vault + `make release VERSION=x` |
| signed release pipeline | **defined** | lefutott (lásd git tag-ek), de storage-specifikus tartalom nélkül |

---

Expand All @@ -89,9 +91,9 @@ Az objektum mindig következmény, soha nem kiindulópont.
```
base-repo (upstream sablon)
│ remote: base → git merge base@0.5.0
└──► cic-primitives (ez a repo)
└──► cic-primitives
│ remote: base → git merge base@0.5.0
└──► domain repók (cic-yang, cic-network, stb.)
└──► cic-storage (ez a repo) · cic-network, cic-storage, stb. (testvér domain repók)
```

A fájlstruktúra IS az interface contract. A merge konfliktus = séma sértés.
Expand Down Expand Up @@ -141,9 +143,9 @@ Immersion módban tilos hiányt feltételezni ott, ahol scaffold szándékos.

| Repo | Remote | Mit ad |
|---|---|---|
| `base-repo` | `base` | tooling, signing hook, CI, Makefile, mk/infra.mk |
| `CIC-Schemas` | referencia | template-schema minta, séma pipeline, signing lánc |
| `CIC-Relay` | — | a runtime ami a primitívekből épülő sémákat futtatja |
| `cic-primitives` | `base` | atomic/aggregate primitívák, tooling, signing hook, CI, Makefile, mk/infra.mk |
| `base-repo` | közvetett (a `cic-primitives` saját `base` remote-ja) | eredeti tooling-sablon |
| `CIC-Relay` | — | a runtime, ami (még nincs mit) futtatna ebből a repóból |

---

Expand Down
47 changes: 22 additions & 25 deletions README.hu.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
# cic-primitives
# cic-storage

> Ez nem klasszikus repo. Ez AI-operált primitive schema layer.
> Ez nem klasszikus repo. Ez AI-operált domain schema layer.
> Emberi belépő: ez a README. AI belépő: `ai/ONBOARDING.md`.

A CIC **meta-séma rétege** — az a szint, amelyből minden domain objektum
(switch interface, kubernetes pod, service, database, policy) schema-szinten levezethető.
A `cic-storage` a `cic-primitives` **meta-séma rétegére** épülő domain-repó — storage
objektumokat lenne hivatva leírni, a `cic-primitives` atomic/aggregate
primitíváinak kompozíciójaként.

Nem domain modell. Nem IaC tool. Nem YANG leíró.
**Egyelőre nincs storage-specifikus domain composition megírva** — a
`schemas/examples/` alatt csak a `cic-primitives` sablon-demója
(`kubernetes-pod.yaml`) van, ami nem storage-specifikus.

---

## Két szint

| Szint | Mit képvisel | Hol van |
|---|---|---|
| **atomic primitive** | 8 irreducibilis atom — Shape, Role, Behavior, Contract, Address, Identity, Event, Access | `schemas/atomic/` |
| **aggregate primitive** | Kompozíció sealed/defaulted/required slot-okkal | `schemas/aggregate/` |
| Szint | Mit képvisel | Hol van | Eredet |
|---|---|---|---|
| **atomic primitive** | 8 irreducibilis atom — Shape, Role, Behavior, Contract, Address, Identity, Event, Access | `schemas/atomic/` | öröklött a `cic-primitives`-ból |
| **aggregate primitive** | Kompozíció sealed/defaulted/required slot-okkal | `schemas/aggregate/` | öröklött a `cic-primitives`-ból |
| **domain composition** | konkrét storage objektum | — | **még nincs megírva** |

A domain objektum mindig következmény, soha nem kiindulópont.
A domain objektum mindig következmény, soha nem kiindulópont — ennek a
repónak egyelőre nincs saját domain-kompozíciója, amiből ez következne.

---

Expand Down Expand Up @@ -46,18 +51,10 @@ make release # signed artifact (Vault szükséges)

| Réteg | Státusz | Megjegyzés |
|---|---|---|
| 8 atomic primitive YAML | **defined** | Shape · Role · Behavior · Contract · Address · Identity · Event · Access |
| 5 aggregate primitive YAML | **defined** | ManagedEntity, ConfigSurface, StateSurface, OperationSurface, PolicySurface |
| Primitive meta-schema validáció | **defined** | `schemas/index.yaml` + `compiler.py` — `make validate` zöld |
| sealed/required slot enforcement | **defined** | domain specializáció kompatibilitás ellenőrzött |
| KubernetesPod domain példa | **defined** | `schemas/examples/kubernetes-pod.yaml` |
| Signed release pipeline | **defined** | Vault Transit + ECDSA, `primitives/@v0.1.3` kiadva |
| defaulted slot merge szemantika | **draft** | replace/deep_merge/append/union — D-008, első domain override-nál dől el |
| build provenance | **draft** | `build_hash == source_hash` — külön build lépés még nincs |
| LifecycleSurface / CapabilitySurface / NotificationSurface | **concept** | Relay execution modell előfeltétel |
| ExecutionSurface aggregate | **concept** | D-009, Relay modell előfeltétel |
| Schema/API/runtime kódgenerálás | **not implemented** | a `semantic_mapping` mezők irányt adnak, de generator nincs |
| Teljes szemantikai típusellenőrzés | **not implemented** | a jelenlegi validator formai, nem szemantikai |
| Örökölt atomic/aggregate primitívák | **defined** | `schemas/atomic/`, `schemas/aggregate/` — a `cic-primitives`-ból, `base` remote-on át |
| Storage-specifikus domain composition | **NOT IMPLEMENTED** | egyetlen saját domain composition sincs még megírva |
| KubernetesPod sablon-példa | **öröklött, nem storage-specifikus** | `schemas/examples/kubernetes-pod.yaml` — a `cic-primitives` demója |
| Signed release pipeline | **defined** | Vault Transit + ECDSA, a pipeline maga lefutott (lásd git tag-ek), de storage-specifikus tartalom nélkül |
| Production trust-chain | **not implemented** | CIC-Relay + CIC-Schemas feladata |

---
Expand All @@ -66,9 +63,9 @@ make release # signed artifact (Vault szükséges)

| Repo | Kapcsolat |
|---|---|
| `base-repo` | upstream tooling (Makefile, CI, compiler) — `git merge base@0.5.0` |
| `CIC-Relay` | runtime — primitívekből épülő sémákat futtatja |
| domain repók | leszármazottak — `cic-primitives` a base-jük |
| `cic-primitives` | közvetlen upstream — atomic/aggregate primitívák + tooling, `git remote base` |
| `base-repo` | közvetett upstream (a `cic-primitives` saját `base@0.5.0` merge-én keresztül) |
| `CIC-Relay` | runtime — (még nincs mit futtatnia ebből a repóból) |

---

Expand Down
47 changes: 22 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
# cic-primitives
# cic-storage

> Ez nem klasszikus repo. Ez AI-operált primitive schema layer.
> Ez nem klasszikus repo. Ez AI-operált domain schema layer.
> Emberi belépő: ez a README. AI belépő: `ai/ONBOARDING.md`.

A CIC **meta-séma rétege** — az a szint, amelyből minden domain objektum
(switch interface, kubernetes pod, service, database, policy) schema-szinten levezethető.
A `cic-storage` a `cic-primitives` **meta-séma rétegére** épülő domain-repó — storage
objektumokat lenne hivatva leírni, a `cic-primitives` atomic/aggregate
primitíváinak kompozíciójaként.

Nem domain modell. Nem IaC tool. Nem YANG leíró.
**Egyelőre nincs storage-specifikus domain composition megírva** — a
`schemas/examples/` alatt csak a `cic-primitives` sablon-demója
(`kubernetes-pod.yaml`) van, ami nem storage-specifikus.

---

## Két szint

| Szint | Mit képvisel | Hol van |
|---|---|---|
| **atomic primitive** | 8 irreducibilis atom — Shape, Role, Behavior, Contract, Address, Identity, Event, Access | `schemas/atomic/` |
| **aggregate primitive** | Kompozíció sealed/defaulted/required slot-okkal | `schemas/aggregate/` |
| Szint | Mit képvisel | Hol van | Eredet |
|---|---|---|---|
| **atomic primitive** | 8 irreducibilis atom — Shape, Role, Behavior, Contract, Address, Identity, Event, Access | `schemas/atomic/` | öröklött a `cic-primitives`-ból |
| **aggregate primitive** | Kompozíció sealed/defaulted/required slot-okkal | `schemas/aggregate/` | öröklött a `cic-primitives`-ból |
| **domain composition** | konkrét storage objektum | — | **még nincs megírva** |

A domain objektum mindig következmény, soha nem kiindulópont.
A domain objektum mindig következmény, soha nem kiindulópont — ennek a
repónak egyelőre nincs saját domain-kompozíciója, amiből ez következne.

---

Expand Down Expand Up @@ -46,18 +51,10 @@ make release # signed artifact (Vault szükséges)

| Réteg | Státusz | Megjegyzés |
|---|---|---|
| 8 atomic primitive YAML | **defined** | Shape · Role · Behavior · Contract · Address · Identity · Event · Access |
| 5 aggregate primitive YAML | **defined** | ManagedEntity, ConfigSurface, StateSurface, OperationSurface, PolicySurface |
| Primitive meta-schema validáció | **defined** | `schemas/index.yaml` + `compiler.py` — `make validate` zöld |
| sealed/required slot enforcement | **defined** | domain specializáció kompatibilitás ellenőrzött |
| KubernetesPod domain példa | **defined** | `schemas/examples/kubernetes-pod.yaml` |
| Signed release pipeline | **defined** | Vault Transit + ECDSA, `primitives/@v0.1.3` kiadva |
| defaulted slot merge szemantika | **draft** | replace/deep_merge/append/union — D-008, első domain override-nál dől el |
| build provenance | **draft** | `build_hash == source_hash` — külön build lépés még nincs |
| LifecycleSurface / CapabilitySurface / NotificationSurface | **concept** | Relay execution modell előfeltétel |
| ExecutionSurface aggregate | **concept** | D-009, Relay modell előfeltétel |
| Schema/API/runtime kódgenerálás | **not implemented** | a `semantic_mapping` mezők irányt adnak, de generator nincs |
| Teljes szemantikai típusellenőrzés | **not implemented** | a jelenlegi validator formai, nem szemantikai |
| Örökölt atomic/aggregate primitívák | **defined** | `schemas/atomic/`, `schemas/aggregate/` — a `cic-primitives`-ból, `base` remote-on át |
| Storage-specifikus domain composition | **NOT IMPLEMENTED** | egyetlen saját domain composition sincs még megírva |
| KubernetesPod sablon-példa | **öröklött, nem storage-specifikus** | `schemas/examples/kubernetes-pod.yaml` — a `cic-primitives` demója |
| Signed release pipeline | **defined** | Vault Transit + ECDSA, a pipeline maga lefutott (lásd git tag-ek), de storage-specifikus tartalom nélkül |
| Production trust-chain | **not implemented** | CIC-Relay + CIC-Schemas feladata |

---
Expand All @@ -66,9 +63,9 @@ make release # signed artifact (Vault szükséges)

| Repo | Kapcsolat |
|---|---|
| `base-repo` | upstream tooling (Makefile, CI, compiler) — `git merge base@0.5.0` |
| `CIC-Relay` | runtime — primitívekből épülő sémákat futtatja |
| domain repók | leszármazottak — `cic-primitives` a base-jük |
| `cic-primitives` | közvetlen upstream — atomic/aggregate primitívák + tooling, `git remote base` |
| `base-repo` | közvetett upstream (a `cic-primitives` saját `base@0.5.0` merge-én keresztül) |
| `CIC-Relay` | runtime — (még nincs mit futtatnia ebből a repóból) |

---

Expand Down
15 changes: 11 additions & 4 deletions ai/DECISIONS.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
# Tervezési döntések

A fogalmak kialakulásának history-ja. Ha egy döntés eredetét keresed,
itt keresd először. Részletes thread: `primitive.txt`.
**D-001–D-014 lent a `cic-primitives` saját, öröklött döntési naplója** — a
primitíva-grammatika tervezési háttere, nem a `cic-storage` saját döntései. A
`primitive.txt` hivatkozott részletes thread **nem létezik ebben a repóban**
(a `cic-primitives`-ban él).

A `cic-storage` egyelőre nem hozott saját, storage-specifikus tervezési döntést —
nincs saját domain composition, aminek a tervezése ezt indokolná.

---

Expand Down Expand Up @@ -90,8 +95,10 @@ a `project.schema.yaml`-ban és a `compiler.py`-ban.
**Jelenlegi állapot:** A `repo_type` nem `compiler_settings` alatt van — a compiler még
nem ismeri. A szándék `x-cic.repo_type: primitive`-ként dokumentálva a `project.yaml`-ban.

**Miért nem schema:** A cic-primitives nem egyszerű schema repo — schema-képző primitive
repo. Ha `schema` típus kerülne be, szemantikailag torzítaná a toolingot.
**Miért nem schema:** A `cic-primitives` (ahonnan ez a döntés öröklődött) nem egyszerű
schema repo — schema-képző primitive repo. Ha `schema` típus kerülne be, szemantikailag
torzítaná a toolingot. (Ez a repo `x-cic.repo_type: domain` — ez a döntés csak a
primitíva-réteg saját típusára vonatkozott.)

**Következmény:** A `compiler.py` és `project.schema.yaml` kiterjesztése a base-repo-ban
szükséges. Addig: `x-cic.repo_type: primitive` a szándék hordozója, `compiler_settings`-ben
Expand Down
2 changes: 1 addition & 1 deletion ai/MAINTENANCE_CONTRACT.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# AI Maintenance Contract

A `cic-primitives` repo AI üzemeltetési kézikönyve.
A `cic-storage` repo AI üzemeltetési kézikönyve.

---

Expand Down
9 changes: 8 additions & 1 deletion ai/PROMPTMAP.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
version: 1
context: cic-primitives
context: cic-storage

# MEGJEGYZÉS: az alábbi entries teljes egészében a `cic-primitives` saját,
# öröklött (scaffold-másolással idekerült) bootstrap-története — mind
# "done", és mind a primitíva-réteg (atomic/aggregate schemas) LÉTREHOZÁSÁRÓL
# szól, amit ez a repo sosem hajtott végre, csak örökölt. Ez a repo
# (cic-storage) egyelőre nem hajtott végre semmilyen saját, storage-specifikus
# task-ot — nincs domain composition, csak az örökölt sablon.

# Státuszok: pending | in_progress | done | blocked

Expand Down
37 changes: 21 additions & 16 deletions ai/SYSTEM_CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@ Olvasd el mielőtt bármit módosítasz.

## Mi ez a rendszer?

A `cic-primitives` a CentralInfraCore **meta-séma rétege**.
A `cic-storage` egy **domain-repó** a `cic-primitives` (a CentralInfraCore
meta-séma rétege) fölött — storage objektumokat lenne hivatva leírni.

Nem domain modell, nem IaC tool, nem YANG leíró — hanem az a szint,
amelyből minden domain objektum schema-szinten levezethető.
Ez a fájl az öröklött primitíva-modellt magyarázza (a `cic-primitives`-ból
származik) — ez a repó maga nem a meta-séma réteg, és egyelőre nincs saját
storage-specifikus domain compositionja sem.

A primitívek két szinten léteznek:

Expand Down Expand Up @@ -45,7 +47,7 @@ ManagedEntity =
```
base-repo
└─[remote: base]─► cic-primitives
└─[remote: base]─► domain repók
└─[remote: base]─► cic-storage (ez a repo), cic-network, ...
```

A fájlstruktúra IS az interface contract. Ha a leszármazott repo eltér a
Expand All @@ -58,9 +60,9 @@ Választott mechanizmus (döntés: 2026-04-30):

---

## A séma infrastruktúra (örökölt base-repo-ból)
## A séma infrastruktúra (örökölt a `cic-primitives`-on, végső soron a `base-repo`-n keresztül)

A `base-repo` merge után elérhetők:
A `cic-primitives` `base` remote-jából merge-elve elérhetők:

```
tools/compiler.py CLI: validate, release, get-name
Expand Down Expand Up @@ -138,18 +140,21 @@ spec:

| Repo | Kapcsolat | Irány |
|---|---|---|
| `base-repo` | git remote `base` | upstream → cic-primitives |
| `cic-primitives` | git remote `base` | upstream → cic-storage (ez a repo) |
| `base-repo` | közvetett (a `cic-primitives` saját `base` remote-ja) | tooling eredete |
| `CIC-Schemas` | referencia minta | signing lánc minta |
| `CIC-Relay` | consumer | primitívekből épülő sémák futtatása |
| domain repók (tervezett) | git remote `base` | cic-primitives → domain |
| `CIC-Relay` | consumer | (még nincs mit futtatnia ebből a repóból) |

---

## Jelenlegi állapot (2026-05-01)
## Jelenlegi állapot

Phase 1–7 végrehajtva. A repo első signed release-szel lezárt.

| Elem | Státusz |
**A "Phase 1–7" történet fentebb (git bootstrap, atomic/aggregate réteg,
`make validate` zöld) a `cic-primitives` saját fejlesztési naplója** — ez a
repó ezt öröklés útján kapta meg, nem maga hajtotta végre. A `cic-storage` saját,
valódi státusza: a release pipeline lefutott (git tag-ek tanúsítják), de
**storage-specifikus domain composition egyelőre nincs megírva** — lásd a
README "Aktuális állapot" táblázatát.
|---|---|
| git init + `git merge base@0.5.0` | **defined** |
| `dependency.yaml` (D-007) | **defined** |
Expand All @@ -170,11 +175,11 @@ Phase 1–7 végrehajtva. A repo első signed release-szel lezárt.

---

## Release folyamat (Phase 7 tanulságok)
## Release folyamat (a `cic-primitives`-tól örökölt tanulságok, `storage/*` névtérre igazítva)

```bash
# Előfeltételek
git checkout -b primitives/releases/vX.Y.Z
git checkout -b storage/releases/vX.Y.Z
tools/vault-sign-agent.sh -k <developer.key> -c <developer.crt>

# Release
Expand All @@ -184,7 +189,7 @@ export VAULT_SKIP_VERIFY=1
make release

git add project.yaml
git tag -a "primitives/@vX.Y.Z" -m "release: X.Y.Z"
git tag -a "storage/@vX.Y.Z" -m "release: X.Y.Z"
```

Dockerfile követelmény: `git`, `curl`, `jq`, `yq` + `safe.directory /app`.
Loading
Loading