fix(OSS/TOP): OSS is normative root, not a tenant/legal entity

- LEGAL_ENTITY.v7g.json: OSS reframed as normative root (kind: normative_root,
  parent: null, legalForm removed). Maintainer block added pointing to GCC
  (GitCover Commons gUG) as the legal entity maintaining the root. GCC's real
  company repos live on git.gitcover.de (not public .org).
- others.json: tenant key -> root; legal_form null; maintained_by -> GCC.
- README.md / README.en.md / dictionaries/README.md: "OSS-Tenant" ->
  "OSS (normative Root)" throughout; OSS clarified as no-parent normative root
  maintained by GCC, not a legal entity.
- Spec (GITCOVER_PROTOCOL) and GCP.Questionnaire ADR-003 references updated
  in their respective working trees.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-07-19 11:56:04 +02:00
co-authored by Claude
parent 679ee72a38
commit 19d92d6515
5 changed files with 54 additions and 31 deletions
+16 -10
View File
@@ -1,24 +1,30 @@
{ {
"$schema": "https://gitcover.org/schemas/legal-entity-1.0.json", "$schema": "https://gitcover.org/schemas/legal-entity-1.0.json",
"version": "1.0.0", "version": "1.0.0",
"tenant": { "root": {
"shortCode": "OSS", "shortCode": "OSS",
"uuidV7": "0197a0a0-0000-7000-8000-000000000000", "uuidV7": "0197a0a0-0000-7000-8000-000000000000",
"registeredName": "GitCover OSS Commons (Open-Source-Inhaltspflege)", "name": "GitCover OSS — normative Root (Namespace)",
"legalForm": "gUG", "kind": "normative_root",
"lifecycle": "REGISTERED", "parent": null,
"capitalState": "PAID", "note": "OSS ist kein Tenant im üblichen Sinn und keine juristische Einheit, sondern die normative Root der GitCover-Hierarchie (kein Parent). Übernimmt alle funktionalen Elemente (Tools/Module/Features) und die zentralen Registries. Gehostet als Gitea-Org auf git.gitcover.org.",
"lifecycle": "ACTIVE",
"maturityLevel": 0, "maturityLevel": 0,
"flags": 0, "flags": 0,
"jurisdictionPrimary": "DE", "jurisdictionPrimary": "DE",
"jurisdictionsAdditional": ["EU"], "jurisdictionsAdditional": ["EU"],
"regulatoryScopes": ["GOBD", "AO", "GDPR"], "regulatoryScopes": ["GOBD", "AO", "GDPR"],
"tax": { "taxId": null, "vatId": null }, "address": { "country": "DE" },
"tradeRegister": { "registerNumber": null, "registerCourt": null, "notaryDeedNumber": null, "notaryDate": null, "registryStatus": "NOT_FILED" },
"address": { "street": null, "houseNumber": null, "postalCode": null, "city": null, "region": null, "country": "DE" },
"contact": { "email": null, "phone": null }, "contact": { "email": null, "phone": null },
"legacyStatus": "PLANNED" "legacyStatus": "CURRENT"
}, },
"purpose": "Zentrale normative V7GUID-Dictionary-Heimat (SSoT) fuer GitCover; OSS-Inhaltspflege; mit GCC abzustimmen (§52 AO: Wissenschaft/Bildung/Verbraucherschutz).", "maintainedBy": {
"shortCode": "GCC",
"registeredName": "GitCover Commons gUG (haftungsbeschränkt)",
"legalForm": "gUG",
"role": "maintainer_legal_entity",
"note": "Die juristische Einheit, die den OSS-Normative-Root pflegt. Echte Firmen-Repos von GCC liegen nicht public auf git.gitcover.de."
},
"purpose": "Normative Root-Heimat (SSoT) für GitCover: zentrale V7GUID-Dictionaries (kinds.json, status_flags.json) und funktional-root-Elemente für alle GitCover-Lösungen. Mit GCC abzustimmen.",
"createdUtc": "2026-07-19T00:00:00.000Z" "createdUtc": "2026-07-19T00:00:00.000Z"
} }
+8 -7
View File
@@ -1,9 +1,10 @@
# Normative V7GUID-Dictionaries — OSS-Tenant (zentrale Registry) # Normative V7GUID-Dictionaries — OSS (normative Root, zentrale Registry)
Dieser OSS-Tenant (`git.gitcover.org/OSS/TOP`) ist die **zentrale, normative Dieser OSS-Normative-Root (`git.gitcover.org/OSS/TOP`) ist die **zentrale,
Heimat** für GitCover-Dictionaries, die **für alle Tenant-Repos** gelten, die nach normative Heimat** für GitCover-Dictionaries, die **für alle Tenant-Repos** gelten,
den GitCover / GCBoK-Konzepten arbeiten, abgestimmt mit **GCC** (alle GitCover-Module die nach den GitCover / GCBoK-Konzepten arbeiten, abgestimmt mit **GCC** (alle
teilen dieselbe Bedeutung). GitCover-Module teilen dieselbe Bedeutung). OSS ist kein „Tenant" im üblichen
Sinn, sondern die normative Root der GitCover-Hierarchie (kein Parent).
> 🌐 **Sprachen:** de (primär/autoritierend) · en (übersetzt) — siehe Abschnitte > 🌐 **Sprachen:** de (primär/autoritierend) · en (übersetzt) — siehe Abschnitte
> unten / see sections below. > unten / see sections below.
@@ -41,7 +42,7 @@ siehe `GITCOVER_PROTOCOL/specs/v7guid/40_erweiterung_custom.md`.
### Verhältnis zu den L1L6-Dictionaries ### Verhältnis zu den L1L6-Dictionaries
L1L6 liegen derzeit im CFP-Tenant (`REPOS/CFP/TOP/.gitcover/dictionaries/`); L1L6 liegen derzeit im CFP-Tenant (`REPOS/CFP/TOP/.gitcover/dictionaries/`);
Konsolidierung in diesen OSS-Tenant ist Folge-Slice. Konsolidierung in diesen OSS-Normative-Root ist Folge-Slice.
--- ---
@@ -76,4 +77,4 @@ tenant-canonical) — see `GITCOVER_PROTOCOL/specs/v7guid/40_erweiterung_custom.
### Relation to the L1L6 dictionaries ### Relation to the L1L6 dictionaries
L1L6 currently live in the CFP tenant (`REPOS/CFP/TOP/.gitcover/dictionaries/`); L1L6 currently live in the CFP tenant (`REPOS/CFP/TOP/.gitcover/dictionaries/`);
consolidation into this OSS tenant is a follow-up slice. consolidation into this OSS normative root is a follow-up slice.
+6 -4
View File
@@ -1,9 +1,11 @@
{ {
"v7g_version": "1.0", "v7g_version": "1.0",
"tenant": { "root": {
"id": "oss-top", "id": "oss-top",
"name": "GitCover OSS Commons — TOP (zentrale Dictionary-Heimat)", "name": "GitCover OSS — normative Root (TOP: zentrale Dictionary-Heimat)",
"legal_form": "gUG", "kind": "normative_root",
"legal_form": null,
"maintained_by": { "shortCode": "GCC", "legalForm": "gUG", "registeredName": "GitCover Commons gUG (haftungsbeschränkt)" },
"repository_id": 1, "repository_id": 1,
"role": "normative_registry", "role": "normative_registry",
"group": "gitcover", "group": "gitcover",
@@ -34,6 +36,6 @@
"normative": true, "normative": true,
"exchange": ["gcep", "gcucb"], "exchange": ["gcep", "gcucb"],
"hosted": ["kinds.json", "status_flags.json"], "hosted": ["kinds.json", "status_flags.json"],
"note": "L1-L6-Dictionaries verbleiben vorerst im CFP-Tenant (Konsolidierung in OSS = Folge-Slice)." "note": "L1-L6-Dictionaries verbleiben vorerst im CFP-Tenant (Konsolidierung in den OSS-Normative-Root = Folge-Slice)."
} }
} }
+12 -5
View File
@@ -6,6 +6,13 @@ dictionaries that apply **across all GitCover tenant repos** following the
GitCover / GCBoK concepts. It is coordinated with **GCC** (all GitCover modules GitCover / GCBoK concepts. It is coordinated with **GCC** (all GitCover modules
share the same meaning). share the same meaning).
> **OSS is not a “tenant” in the usual sense** — it is the **normative root** of
> the GitCover hierarchy (no parent), hosted as the Gitea org `OSS` on
> `git.gitcover.org`. OSS holds all functional elements (tools/modules/features)
> and the central registries; the root is maintained by **GCC**
> (GitCover Commons gUG). GCCs real, non-public company repos live on
> `git.gitcover.de`.
> 🌐 **Languages:** [Deutsch (default, authoritative)](README.md) · > 🌐 **Languages:** [Deutsch (default, authoritative)](README.md) ·
> [English (translated)](README.en.md). > [English (translated)](README.en.md).
> Gitea serves the variant matching your UI language (bottom-right > Gitea serves the variant matching your UI language (bottom-right
@@ -16,8 +23,8 @@ share the same meaning).
``` ```
TOP/ TOP/
└── .gitcover/ └── .gitcover/
├── LEGAL_ENTITY.v7g.json # OSS tenant identity ├── LEGAL_ENTITY.v7g.json # OSS normative-root identity (maintained by GCC)
├── others.json # tenant / endpoint / dictionary descriptor ├── others.json # root / endpoint / dictionary descriptor
└── dictionaries/ └── dictionaries/
├── README.md # dictionary convention (de primary + en translated) ├── README.md # dictionary convention (de primary + en translated)
├── kinds.json # normative Kind enum (V7GUID bits 114121, Layout v2) ├── kinds.json # normative Kind enum (V7GUID bits 114121, Layout v2)
@@ -56,6 +63,6 @@ translated).
## Consolidation (follow-up slice) ## Consolidation (follow-up slice)
The L1L6 dictionaries currently remain in the CFP tenant The L1L6 dictionaries currently remain in the CFP tenant
(`REPOS/CFP/TOP/.gitcover/dictionaries/`). Their migration into this OSS tenant (`REPOS/CFP/TOP/.gitcover/dictionaries/`). Their migration into this OSS
is a follow-up slice; until then CFP is the source for L1L6 and OSS is the normative root is a follow-up slice; until then CFP is the source for L1L6
source for the new `kind` and `status` fields. and OSS is the source for the new `kind` and `status` fields.
+12 -5
View File
@@ -6,6 +6,13 @@ V7GUID-Dictionaries, die **für alle GitCover-Tenant-Repos** gelten, die nach de
Konzepten von GitCover / GCBoK arbeiten. Abgestimmt mit **GCC** (alle GitCover-Module Konzepten von GitCover / GCBoK arbeiten. Abgestimmt mit **GCC** (alle GitCover-Module
teilen dieselbe Bedeutung). teilen dieselbe Bedeutung).
> **OSS ist kein „Tenant" im üblichen Sinn**, sondern die **normative Root** der
> GitCover-Hierarchie (kein Parent) — gehostet als Gitea-Org `OSS` auf
> `git.gitcover.org`. OSS übernimmt alle funktionalen Elemente (Tools/Module/Features)
> und die zentralen Registries; gepflegt wird der Root von **GCC**
> (GitCover Commons gUG). Die echten, nicht-öffentlichen Firmen-Repos von GCC liegen
> auf `git.gitcover.de`.
> 🌐 **Sprachen:** [Deutsch (Standard, autorisierend)](README.md) · > 🌐 **Sprachen:** [Deutsch (Standard, autorisierend)](README.md) ·
> [English (übersetzt)](README.en.md). > [English (übersetzt)](README.en.md).
> Gitea liefert die Variante passend zur UI-Sprache (unten rechts > Gitea liefert die Variante passend zur UI-Sprache (unten rechts
@@ -16,8 +23,8 @@ teilen dieselbe Bedeutung).
``` ```
TOP/ TOP/
└── .gitcover/ └── .gitcover/
├── LEGAL_ENTITY.v7g.json # OSS-Tenant-Identität ├── LEGAL_ENTITY.v7g.json # OSS-Normative-Root-Identität (gepflegt von GCC)
├── others.json # Tenant-/Endpunkt-/Dictionary-Deskriptor ├── others.json # Root-/Endpunkt-/Dictionary-Deskriptor
└── dictionaries/ └── dictionaries/
├── README.md # Dictionary-Konvention (de primär + en übersetzt) ├── README.md # Dictionary-Konvention (de primär + en übersetzt)
├── kinds.json # Normativer Kind-Enum (V7GUID Bits 114121, Layout v2) ├── kinds.json # Normativer Kind-Enum (V7GUID Bits 114121, Layout v2)
@@ -57,6 +64,6 @@ Beide Dictionaries sind **zweisprachig** (`label_de` primär / `label_en`
## Konsolidierung (Folge-Slice) ## Konsolidierung (Folge-Slice)
Die L1L6-Dictionaries verbleiben vorerst im CFP-Tenant Die L1L6-Dictionaries verbleiben vorerst im CFP-Tenant
(`REPOS/CFP/TOP/.gitcover/dictionaries/`). Ihre Migration in diesen OSS-Tenant (`REPOS/CFP/TOP/.gitcover/dictionaries/`). Ihre Migration in diesen
ist ein Folge-Slice; bis dahin ist CFP die Quelle für L1L6 und OSS die Quelle OSS-Normative-Root ist ein Folge-Slice; bis dahin ist CFP die Quelle für L1L6
für die neuen Felder `kind` und `status`. und OSS die Quelle für die neuen Felder `kind` und `status`.