i18n(OSS/TOP): de (primary) + en (translated); tenant-agnostic kinds

- kinds.json / status_flags.json: general/tenant-agnostic labels (English
  normative slugs); label_de primary + label_en translated; removed label_vi
  (Vietnamese is not a supported Gitea UI language). Jurisdiction-specific notes
  (FZulG/BSFZ) moved to optional jurisdiction_de, not affecting the normative
  primary meaning.
- README.md: German (default, authoritative) per Gitea localized-README lookup;
  README.en.md: English (translated). Gitea serves README.<ui-lang>.md with
  README.md as fallback.
- dictionaries/README.md: bilingual de+en (de primary).
- versions bumped to 1.2.0.

Spec unchanged: GITCOVER_PROTOCOL/specs/v7guid/{33_kind,34_status}.md.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-07-19 11:33:19 +02:00
co-authored by Claude
parent bf1281ee02
commit 679ee72a38
5 changed files with 190 additions and 84 deletions
+60 -36
View File
@@ -1,55 +1,79 @@
# Normative V7GUID-Dictionaries — OSS-Tenant (zentrale Registry)
Dieser OSS-Tenant (`git.gitcover.org/OSS/TOP`) ist die **zentrale, normative
Heimat** für GitCover-Dictionaries, die **repo-übergreifend** gelten und mit **GCC
abgestimmt** werden — weil alle GitCover-Module dieselbe Bedeutung teilen.
Heimat** für GitCover-Dictionaries, die **für alle Tenant-Repos** gelten, die nach
den GitCover / GCBoK-Konzepten arbeiten, abgestimmt mit **GCC** (alle GitCover-Module
teilen dieselbe Bedeutung).
## Erste Dictionaries: `kinds.json` + `status_flags.json` (Layout v2)
> 🌐 **Sprachen:** de (primär/autoritierend) · en (übersetzt) — siehe Abschnitte
> unten / see sections below.
| Datei | V7GUID-Feld | Bits | Breite | Art | Höchstwert = `Custom` | Bedeutung |
---
## 🇩🇪 Deutsch
### Erste Dictionaries: `kinds.json` + `status_flags.json` (Layout v2)
| Datei | V7GUID-Feld | Bits | Breite | Art | Höchstwert | Bedeutung |
|---|---|---|---|---|---|---|
| `kinds.json` | `kind` | 114121 | 8 | Enum (Einzelwert) | `255` | **Art der Tätigkeit/Maßnahme** (Vorhaben, Routine, Workflow, Auftrags-Sachbearbeitung …) |
| `status_flags.json` | `status` | 106113 | 8 | Bitmask (8 Flags) | — | **Lebenszyklus-Stufen** (kombinierbar: Geplant/Genehmigt/Entwickelt/Validiert/Freigegeben/Abgenommen/Archiviert) |
| `kinds.json` | `kind` | 114121 | 8 | Enum (Einzelwert) | `255` = Custom | **Art der Tätigkeit** (Vorhaben, Routine, Workflow, Fallbearbeitung …) — normativ, tenant-agnostisch |
| `status_flags.json` | `status` | 106113 | 8 | Bitmask (8 Flags) | — | **Lebenszyklus-Stufen** (kombinierbar: geplant/genehmigt/entwickelt/validiert/freigegeben/abgenommen/archiviert/reserviert) |
> Normative Spec-Dokumente: `GITCOVER_PROTOCOL/specs/v7guid/33_kind.md` und `…/34_status.md`;
> Normative Spec: `GITCOVER_PROTOCOL/specs/v7guid/33_kind.md`, `…/34_status.md`;
> Spec-ADR: `GITCOVER_PROTOCOL/specs/v7guid/ADR-002_layout_v2_kind.md`.
`kinds.json` generalisiert das enge BSFZ-Vorhabens-Konzept auf die *Art* einer
Tätigkeit/Einheit: Vorhaben, Forschungs-Kapitel, Forschungsfrage, Arbeitspaket,
Routine, Workflow, Auftrags-Sachbearbeitung, Verwaltung, Begleitaufwand,
IP-Verwaltung, GF-Pflichten, Hauptberuf, Förderantrag, Routine-Software,
Vorhabens-Fortsetzung, Auftragsforschung, Eigenleistung. Jeder Eintrag trägt:
`slug`, `label_de`, `label_en`, Default-`sphere`, Default-`foerderkategorie`,
§52-AO-`zweck`.
`kinds.json` ist **allgemeingültig / tenant-agnostisch** formuliert (keine
BSFZ-/AFJD-spezifische Benennung der Hauptbedeutung). Juristische Spezifika
(z. B. deutsches Steuerrecht FZulG/BSFZ) stehen im optionalen Feld
`jurisdiction_de` und ändern die normative Hauptbedeutung nicht. Jeder Eintrag
trägt `slug`, `label_de` (primär), `label_en` (übersetzt), Default-`sphere`,
Default-`foerderkategorie` und §52-AO-`zweck`.
`status_flags.json` definiert die 8 kombinierbaren Lebenszyklus-Flags (Bitmask)
und liefert Beispielkombinationen (z. B. `0x03` = geplant+genehmigt).
`status_flags.json` definiert die 8 kombinierbaren Lebenszyklus-Flags und
Beispielkombinationen (z. B. `0x03` = geplant+genehmigt). Filter per Bit-UND.
Die `kinds.json`-Defaults (sphere/foerderkategorie/zweck) sind **aus der Art
ableitbar** und pro Tagebucheintrag überschreibbar.
### Erweiterung statt Beschränkung
## Erweiterung statt Beschränkung
Reicht der 8-Bit-Raum (256 Werte) nicht aus, gilt der reservierte Sentinel
`255` = `Custom`/`TenantDefined` (Bitwert bleibt deterministisch;
Interpretationsquelle wechselt von global-kanonisch zu tenant-kanonisch) —
Reicht der 8-Bit-Raum nicht aus, gilt der Sentinel `255` = `Custom`/`TenantDefined`
(Bitwert deterministisch; Interpretationsquelle wechselt zu tenant-kanonisch) —
siehe `GITCOVER_PROTOCOL/specs/v7guid/40_erweiterung_custom.md`.
## Verhältnis zu den L1L6-Dictionaries
### Verhältnis zu den L1L6-Dictionaries
Die L1L6-Dictionaries (`entities.json``instances.json`) liegen derzeit im
CFP-Tenant (`REPOS/CFP/TOP/.gitcover/dictionaries/`). Ihre Konsolidierung in diesen
OSS-Tenant ist ein **Folge-Slice**; bis dahin gilt CFP als Quelle für L1L6 und
OSS als Quelle für das neue `kind`-Feld.
L1L6 liegen derzeit im CFP-Tenant (`REPOS/CFP/TOP/.gitcover/dictionaries/`);
Konsolidierung in diesen OSS-Tenant ist Folge-Slice.
## Austausch
---
Dictionaries sind über `others.json` als `"normative": true` mit
`"exchange": ["gcep", "gcucb"]` referenzierbar (siehe `../others.json`).
## 🇬🇧 English
## Quellen
### First dictionaries: `kinds.json` + `status_flags.json` (Layout v2)
- Spec: `GITCOVER_PROTOCOL/specs/v7guid/33_kind.md`
- Bedarf: `REPOS/AFJD/Tagebuch-Prompt.md`, `REPOS/AFJD/FY2025/BSFZ/Antrag/BSFZ_STAMMDATEN.md`,
`REPOS/AFJD/FY2026/Chats/GCUCB/05-operativer-forschungs-und-nachweisplan-cfp-first.md`,
`REPOS/AFJD/AIChats/Claude/Modul_gGmbH_Accounting/GitCover-Accounting-Modul-Businessplan.md` (Sphären-Enum).
| File | V7GUID field | Bits | Width | Kind | Max | Meaning |
|---|---|---|---|---|---|---|
| `kinds.json` | `kind` | 114121 | 8 | Enum (single value) | `255` = Custom | **Art (kind) of a unit of work** (undertaking, routine, workflow, case processing …) — normative, tenant-agnostic |
| `status_flags.json` | `status` | 106113 | 8 | Bitmask (8 flags) | — | **Lifecycle stages** (combinable: planned/approved/developed/validated/released/accepted/archived/reserved) |
> Normative spec: `GITCOVER_PROTOCOL/specs/v7guid/33_kind.md`, `…/34_status.md`;
> Spec-ADR: `GITCOVER_PROTOCOL/specs/v7guid/ADR-002_layout_v2_kind.md`.
`kinds.json` is **general / tenant-agnostic** (no BSFZ-/AFJD-specific naming of
the primary meaning). Jurisdiction-specific notes (e.g. German tax law
FZulG/BSFZ) live in the optional `jurisdiction_de` field and do not change the
normative primary meaning. Each entry carries `slug`, `label_de` (primary),
`label_en` (translated), default `sphere`, default `foerderkategorie` and
§52-AO `zweck`.
`status_flags.json` defines the 8 combinable lifecycle flags and example
combinations (e.g. `0x03` = planned+approved). Filter via bitwise AND.
### Extension over limitation
If the 8-bit space is insufficient, the sentinel `255` = `Custom`/`TenantDefined`
applies (deterministic bit value; interpretation source switches to
tenant-canonical) — see `GITCOVER_PROTOCOL/specs/v7guid/40_erweiterung_custom.md`.
### Relation to the L1L6 dictionaries
L1L6 currently live in the CFP tenant (`REPOS/CFP/TOP/.gitcover/dictionaries/`);
consolidation into this OSS tenant is a follow-up slice.