diff --git a/1-formats/deed/mappings/meta-ecosystem-to-repo-deed.adoc b/1-formats/deed/mappings/meta-ecosystem-to-repo-deed.adoc index 7d22c02aa..031b2caac 100644 --- a/1-formats/deed/mappings/meta-ecosystem-to-repo-deed.adoc +++ b/1-formats/deed/mappings/meta-ecosystem-to-repo-deed.adoc @@ -66,7 +66,7 @@ does not get its own file. (One deed per repo is the doc-head's semantics.) | `[pipeline] chain` | `(ecosystem :chain "standards → rsr-template-repo → (every estate repo)")` | verbatim STRING (arrow prose stays prose) | `[pipeline] notes` | `(ecosystem :pipeline-notes "…")` | verbatim STRING | `[pipeline] coordination` | `(ecosystem :coordination standards)` | **the #726 hub-pointer, carried VERBATIM** — hub repo name → SYMBOL; empty string (standalone) stays `:coordination ""` -| `[related-projects] projects[]` | repeated clauses: `(related :name "standards" :relationship standard-source :notes "…")` | name → STRING, relationship → SYMBOL (`standard-source build-tooling validation-tooling signing-tooling verification-tooling` seen set), notes → STRING; one `(related …)` per array element, order-free (deed order is not semantic) +| `[related-projects] projects[]` | repeated clauses: `(related :name "standards" :relationship standard-source :notes "…")` | name → STRING, relationship → SYMBOL (`standard-source build-tooling validation-tooling signing-tooling verification-tooling minted-from registry` — closed set, **owner-ruled 2026-09-19** per the first estate conversion report (marid): `minted-from` = the rsr-template parent edge every minted repo carries, `registry` = the gv-clade-index registration edge; the template-instance seen-set could never contain them, so the gap was structural, not incidental), notes → STRING; one `(related …)` per array element, order-free (deed order is not semantic) |=== == 4. Drop doctrine diff --git a/1-formats/deed/tools/a2ml_to_deed.py b/1-formats/deed/tools/a2ml_to_deed.py index 01ed70488..b12cea1f4 100644 --- a/1-formats/deed/tools/a2ml_to_deed.py +++ b/1-formats/deed/tools/a2ml_to_deed.py @@ -129,7 +129,11 @@ def require(data, section, keys, fam, required=None, defaults=None): META_TYPES = {"library", "binary", "service", "website", "monorepo"} PKGMGR = {"guix", "cargo", "mix"} RELATIONSHIPS = { - "standard-source", "build-tooling", "validation-tooling", "signing-tooling", "verification-tooling" + "standard-source", "build-tooling", "validation-tooling", "signing-tooling", "verification-tooling", + # Owner ruling 2026-09-19 (first estate conversion, marid): legal deed + # relationship symbols — minted-from = the rsr-template parent edge every + # minted repo carries; registry = the gv-clade-index registration edge. + "minted-from", "registry" } SCAN_DEPTH = {"quick", "standard", "deep"}