Skip to content

Commit fe84b6a

Browse files
authored
Merge pull request #10 from CentralInfraCore/docs/6-derivation-chain-classification
docs: classify derivation_chain as schema-provenance, closes #6
2 parents 9bfcd52 + c4b53c9 commit fe84b6a

1 file changed

Lines changed: 49 additions & 3 deletions

File tree

‎proposals/atom-grammar/README.md‎

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -520,9 +520,55 @@ külön dokumentum marad ahelyett, hogy egy nyelv lenne.
520520
ebbe a táblázatba. Nem ez a szál pótolja őket; a C16-ot azért a valódi
521521
következő szabad szám alá vettem fel, nem C11 alá, hogy ne ütközzön velük.)
522522

523-
### Amit szándékosan NEM zárok le
524-
525-
**A `capability` mechanizmus — és amit a `conformance`-ról elárul.**
523+
### `derivation_chain` — lezárva: schema-provenance, nem domain-object szemantika (cic-primitives#6)
524+
525+
Három `DomainComposition` séma (`cic-schema-registry` `storage-resource`,
526+
`compute-resource`, `network-interface`) hordoz egy `derivation_chain`
527+
blokkot, mindhárom UGYANAZZAL a hármas struktúrával: `yang` (a séma
528+
YANG-modul-alakja, `status: specification-only` — dokumentáció, nem
529+
futtatott), `restconf` (a kanonikus REST végpontok), `runtime` (a
530+
reconcile-loop szabad szöveges leírása). A kernel bundle-ben NINCS
531+
`derivation`/`provenance`-alakú atom — az egyetlen `provenance:` kulcs a
532+
bundle saját release-signing metaadata, más fogalom.
533+
534+
**A kérdés:** ez a domain-object SÉMA RÉSZE-e (amit egy specializációnak
535+
explicit restate-elnie/szűkítenie kellene, mint bármelyik surface-öt), vagy
536+
a séma-provenance dokumentálása (hogyan realizálódik a séma más
537+
rétegekben) — ami inkább KOMPONÁLANDÓ (bázis realizáció + provider-
538+
specifikus realizáció), nem örökölt mezőlista.
539+
540+
**Válasz: séma-provenance, nem domain-object szemantika.** Indoklás:
541+
542+
1. Mindhárom előfordulás arról szól, HOGYAN van a séma LEKÉPEZVE egy
543+
technológiai rétegre (YANG/RESTCONF/futásidejű viselkedés) — egyik
544+
sem "amit egy kliens beállíthat", ellentétben a config_surface bármely
545+
mezőjével.
546+
2. NEM univerzális minta: a session során létrehozott újabb domain-
547+
objektumok (`kubernetes-cluster`, `dhcp-service`, `network-space`,
548+
`subnet`, `dhcp-options`) egyike sem hordoz `derivation_chain`-t — ez
549+
egy opcionális dokumentációs blokk a YANG-eredetű sémákon, nem egy
550+
kötelező surface, amit minden domain-objektumnak explicit
551+
restate-elnie kellene.
552+
3. `tools/registrylib/coverage.py`'s `_NODE_LIST_KEYS` (cic-schema-
553+
registry) MÁR MOST nem ellenőrzi (`config_surface`/`state_surface`/
554+
`operation_surface`/`notification_surface`-re korlátozódik) — ez a
555+
viselkedés a fenti indoklás mellett HELYES, nem vakfolt, csak eddig
556+
nem volt kimondva, hogy SZÁNDÉKOS.
557+
558+
**Következmény:** `derivation_chain` marad KÍVÜL a Shape/Access primitíveken
559+
— nem erőltetjük bele a `config_surface`-stílusú explicit-restatement
560+
modellbe, nincs rá szükség formális Shape/Role/Contract tipizálásra.
561+
562+
**Megfigyelés, NEM eldöntött kérdés:** a `StorageResourceOracleCloud`
563+
`spec.provider_resources` mezője (`[core.Volume, core.VolumeAttachment,
564+
monitoring.Metric]`) ugyanazt a kérdést válaszolja meg, mint
565+
`derivation_chain.restconf` — "milyen valós rendszer-objektumok ellen
566+
realizálódik ez" —, csak PROVIDER-SPECIFIKUS szinten, a kanonikus szint
567+
helyett. A két mező fogalmilag rokon, de ma szerkezetileg elkülönített és
568+
NINCS egyesítve — a pontos forma (közös struktúra, elnevezés, hova
569+
kerüljön egy specializáción) külön tervezést igényelne, ha valaha egy
570+
második provider-specializáció ezt ténylegesen indokolja. Nem ez a szál
571+
dönti el.
526572

527573
A korpusz futtatása egy olyan mezőpárt talált, amit egyik atom sem ismer:
528574

0 commit comments

Comments
 (0)