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.
+22 -21
View File
@@ -1,27 +1,28 @@
{
"$schema": "https://gitcover.org/schemas/v7guid/kinds-1.0.json",
"$comment": "Normativer zentraler Kind-Enum (V7GUID Bits 114-121, Layout v2). Siehe GITCOVER_PROTOCOL/specs/v7guid/33_kind.md und ADR-002_layout_v2_kind.md. Mit GCC abzustimmen (alle GitCover-Module teilen dieselbe Bedeutung).",
"version": "1.0.0",
"$comment": "Normativer zentraler Kind-Enum (V7GUID Bits 114-121, Layout v2). Siehe GITCOVER_PROTOCOL/specs/v7guid/33_kind.md und ADR-002_layout_v2_kind.md. Allgemeine, tenant-agnostische Tätigkeits-Art-Klassifikation fuer ALLE GitCover-Tenant-Repos nach GitCover/GCBoK-Konzepten. Mit GCC abzustimmen (alle GitCover-Module teilen dieselbe Bedeutung). Zweisprachig: label_de (primär/autoritierend) / label_en (übersetzt). Juristische Spezifika (z. B. deutsches Steuerrecht FZulG/BSFZ) im optionalen 'jurisdiction_de', ohne Änderung der normativen Hauptbedeutung.",
"version": "1.2.0",
"bitLayout": { "field": "kind", "bits": "114-121", "width": 8, "max": 255, "sentinel": 255, "spec": "GITCOVER_PROTOCOL/specs/v7guid/33_kind.md" },
"languages": { "primary": "de", "translated": ["en"] },
"values": {
"0": { "slug": "unspecified", "label_de": "unbestimmt", "label_en": "unspecified", "sphere": null, "foerderkategorie": null, "zweck": null, "note": "Standard / nicht zugewiesen" },
"1": { "slug": "vorhaben", "label_de": "Vorhaben (F&E)", "label_en": "R&D undertaking", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_kern", "zweck": "wissenschaft", "note": "Mehrjährig, mit Vorhabens-ID (BSFZ)" },
"2": { "slug": "forschungs_kapitel", "label_de": "Forschungs-Kapitel", "label_en": "research chapter", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_nahe_dokumentation", "zweck": "wissenschaft", "note": "GCBoK Tier-1" },
"3": { "slug": "forschungs_frage", "label_de": "Forschungsfrage", "label_en": "research question", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_kern", "zweck": "wissenschaft", "note": "F1-F9, U1-U6" },
"4": { "slug": "arbeitspaket", "label_de": "Arbeitspaket (AP)", "label_en": "work package", "sphere": "afjd_fe_sphaere", "foerderkategorie": "je_ap", "zweck": "wissenschaft", "note": "AP-G0/AP-G5 = Begleitaufwand" },
"5": { "slug": "routine", "label_de": "Routine (wiederkehrend)", "label_en": "recurring routine", "sphere": "wigb", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Nicht-F&E, wiederkehrend" },
"6": { "slug": "workflow", "label_de": "Workflow (regelmaessig)", "label_en": "regular workflow", "sphere": "zweckbetrieb", "foerderkategorie": "nicht_foerderfaehig", "zweck": "bildung", "note": "GCC-Trägerschaft oder WiGB" },
"7": { "slug": "auftrags_sachbearbeitung","label_de": "Auftrags-Sachbearbeitung", "label_en": "order/case processing", "sphere": "wigb", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Fall-/Auftragsabwicklung" },
"8": { "slug": "verwaltung", "label_de": "Verwaltung (allgemein)", "label_en": "administration", "sphere": "wigb", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Allg. Verwaltung, Buchhaltung" },
"9": { "slug": "begleitaufwand", "label_de": "Begleitaufwand", "label_en": "companion effort", "sphere": "je_traeger", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Foerder-/Traegerstrukturierung" },
"10": { "slug": "ip_verwaltung", "label_de": "IP-Verwaltung (admin)", "label_en": "IP administration", "sphere": "vermoegensverwaltung", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Patent-/Markenverwaltung rein administrativ" },
"11": { "slug": "gf_pflichten", "label_de": "GF-Pflichten", "label_en": "MD duties", "sphere": "je_traeger", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Geschaeftsfuehrung verbundener Unternehmen" },
"12": { "slug": "hauptberuf", "label_de": "Hauptberuf", "label_en": "primary employment", "sphere": null, "foerderkategorie": null, "zweck": null, "note": "Nichtselbststaendig, Sperrzeit (R5)" },
"13": { "slug": "foerderantrag", "label_de": "Foerderantrag/Antragsadmin", "label_en": "grant application admin", "sphere": "afjd_fe_sphaere", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Antragserstellung, Antragsadministration" },
"14": { "slug": "routine_software", "label_de": "Routine-Software", "label_en": "routine software", "sphere": null, "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "BSFZ-Ausschluss (Routine-Softwareentwicklung)" },
"15": { "slug": "vorhaben_fortsetzung", "label_de": "Vorhabens-Fortsetzung", "label_en": "project continuation", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_kern", "zweck": "wissenschaft", "note": "Folgejahr, gleiche Vorhabens-ID" },
"16": { "slug": "auftragsforschung", "label_de": "Auftragsforschung", "label_en": "contract research", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_kern", "zweck": "wissenschaft", "note": "§3 Abs. 2 FZulG" },
"17": { "slug": "eigenleistung", "label_de": "Eigenleistung (§3 Abs.3 FZulG)", "label_en": "own work", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_kern", "zweck": "wissenschaft", "note": "Einzelunternehmer, pauschal 100 EUR/h ab 2026" },
"255": { "slug": "custom", "label_de": "Custom/TenantDefined", "label_en": "custom/tenant-defined", "sphere": "tenant", "foerderkategorie": "tenant", "zweck": "tenant", "note": "Sentinel: tenant-eigene Definition" }
"0": { "slug": "unspecified", "label_de": "unbestimmt", "label_en": "unspecified", "sphere": null, "foerderkategorie": null, "zweck": null, "note": "Nicht zugewiesen / Standard." },
"1": { "slug": "undertaking", "label_de": "Vorhaben (F&E)", "label_en": "R&D undertaking", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_kern", "zweck": "wissenschaft", "note": "Mehrjähriges F&E-Vorhaben, identifiziert über eine Vorhabens-ID.", "jurisdiction_de": "BSFZ-Forschungsvorhaben (Vorhabens-ID)." },
"2": { "slug": "research_chapter", "label_de": "Forschungs-Kapitel", "label_en": "research chapter", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_nahe_dokumentation", "zweck": "wissenschaft", "note": "Kapitel des Body of Knowledge (GCBoK Tier-1)." },
"3": { "slug": "research_question", "label_de": "Forschungsfrage", "label_en": "research question", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_kern", "zweck": "wissenschaft", "note": "Einzelforschungsfrage (z. B. F1F9, U1U6)." },
"4": { "slug": "work_package", "label_de": "Arbeitspaket (AP)", "label_en": "work package", "sphere": "afjd_fe_sphaere", "foerderkategorie": "je_ap", "zweck": "wissenschaft", "note": "Arbeitspaket innerhalb eines Vorhabens; AP-G0/AP-G5 = Begleitaufwand." },
"5": { "slug": "routine", "label_de": "Routine (wiederkehrend)", "label_en": "recurring routine", "sphere": "wigb", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Wiederkehrende Nicht-F&E-Tätigkeit." },
"6": { "slug": "workflow", "label_de": "Workflow (regelmäßig)", "label_en": "regular workflow", "sphere": "zweckbetrieb", "foerderkategorie": "nicht_foerderfaehig", "zweck": "bildung", "note": "Regelmäßiger Prozess, gefahren von einem (gemeinnützigen) Träger oder als Geschäftsbetrieb." },
"7": { "slug": "case_processing", "label_de": "Auftrags-/Fallbearbeitung", "label_en": "case/order processing", "sphere": "wigb", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Bearbeitung von Aufträgen/Fällen/Anfragen." },
"8": { "slug": "administration", "label_de": "Verwaltung (allgemein)", "label_en": "administration", "sphere": "wigb", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Allgemeine Verwaltung, Buchhaltung." },
"9": { "slug": "companion_effort", "label_de": "Begleitaufwand", "label_en": "companion effort", "sphere": "je_traeger", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Förder-/Träger-/Projektstrukturierungs-Begleitaufwand.", "jurisdiction_de": "Förder-/Trägerstrukturierung (nicht FZulG-förderfähig)." },
"10": { "slug": "ip_administration", "label_de": "IP-Verwaltung (admin)", "label_en": "IP administration", "sphere": "vermoegensverwaltung", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Rein administrative Patent-/Markenverwaltung." },
"11": { "slug": "governance_duties", "label_de": "GF-/Geschäftsführungspflichten", "label_en": "governance/MD duties", "sphere": "je_traeger", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Geschäftsführungs-/Verwaltungspflichten für verbundene Unternehmen." },
"12": { "slug": "primary_employment", "label_de": "Hauptberuf", "label_en": "primary employment", "sphere": null, "foerderkategorie": null, "zweck": null, "note": "Hauptberuf (abhängig beschäftigt); ausgenommen als F&E-Fenster." },
"13": { "slug": "grant_application", "label_de": "Antrags-/Förderantrag", "label_en": "grant application admin", "sphere": "afjd_fe_sphaere", "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Erstellung/Administration von Förder- oder Bescheinigungsanträgen.", "jurisdiction_de": "BSFZ-/FZulG-Antragsstellung." },
"14": { "slug": "routine_software", "label_de": "Routine-Softwareentwicklung", "label_en": "routine software dev", "sphere": null, "foerderkategorie": "nicht_foerderfaehig", "zweck": null, "note": "Routine-Softwareentwicklung (ausgenommen von F&E-Förderung).", "jurisdiction_de": "BSFZ-Ausschluss Routine-Softwareentwicklung“." },
"15": { "slug": "project_continuation","label_de": "Vorhabens-Fortsetzung", "label_en": "project continuation", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_kern", "zweck": "wissenschaft", "note": "Folgejahr eines mehrjährigen Vorhabens (gleiche Vorhabens-ID)." },
"16": { "slug": "contract_research", "label_de": "Auftragsforschung", "label_en": "contract research", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_kern", "zweck": "wissenschaft", "note": "Beauftragte/Auftragsforschung.", "jurisdiction_de": "§3 Abs. 2 FZulG (Auftragsforschung)." },
"17": { "slug": "own_work", "label_de": "Eigenleistung", "label_en": "own work", "sphere": "afjd_fe_sphaere", "foerderkategorie": "fue_kern", "zweck": "wissenschaft", "note": "Eigenleistung eines Einzelunternehmers.", "jurisdiction_de": "§3 Abs. 3 FZulG (Eigenleistung, Pauschalsatz pro Stunde)." },
"255": { "slug": "custom", "label_de": "Custom/TenantDefined", "label_en": "custom/tenant-defined", "sphere": "tenant", "foerderkategorie": "tenant", "zweck": "tenant", "note": "Sentinel: tenant-eigene Definition (siehe GITCOVER_PROTOCOL/specs/v7guid/40_erweiterung_custom.md)." }
}
}
+16 -15
View File
@@ -1,23 +1,24 @@
{
"$schema": "https://gitcover.org/schemas/v7guid/status-flags-1.0.json",
"$comment": "Normative Lebenszyklus-Bitmask (V7GUID Bits 106-113, Layout v2). Siehe GITCOVER_PROTOCOL/specs/v7guid/34_status.md und ADR-002_layout_v2_kind.md. 8 Bit = 8 kombinierbare Flags. Mit GCC abzustimmen.",
"version": "1.0.0",
"$comment": "Normative Lebenszyklus-Bitmask (V7GUID Bits 106-113, Layout v2). Siehe GITCOVER_PROTOCOL/specs/v7guid/34_status.md und ADR-002_layout_v2_kind.md. 8 Bit = 8 kombinierbare Flags. Tenant-agnostisch fuer alle GitCover-Tenant-Repos. Mit GCC abzustimmen. Zweisprachig: label_de (primär/autoritierend) / label_en (übersetzt).",
"version": "1.2.0",
"bitLayout": { "field": "status", "bits": "106-113", "width": 8, "kind": "bitmask", "spec": "GITCOVER_PROTOCOL/specs/v7guid/34_status.md" },
"languages": { "primary": "de", "translated": ["en"] },
"flags": {
"0": { "slug": "geplant", "label_de": "geplant", "label_en": "planned", "mask": 1, "note": "initiiert / geplant" },
"1": { "slug": "genehmigt", "label_de": "genehmigt", "label_en": "approved", "mask": 2, "note": "genehmigt (Entscheidung / Vorhabenfreigabe)" },
"2": { "slug": "entwickelt", "label_de": "entwickelt", "label_en": "developed", "mask": 4, "note": "umgesetzt / entwickelt" },
"3": { "slug": "validiert", "label_de": "validiert", "label_en": "validated", "mask": 8, "note": "getestet / validiert" },
"4": { "slug": "freigegeben", "label_de": "freigegeben", "label_en": "released", "mask": 16, "note": "fachlich freigegeben (Vier-Augen / Go-Live)" },
"5": { "slug": "abgenommen", "label_de": "abgenommen", "label_en": "accepted", "mask": 32, "note": "abgenommen / akzeptiert (Stakeholder)" },
"6": { "slug": "archiviert", "label_de": "archiviert", "label_en": "archived", "mask": 64, "note": "archiviert (Aufbewahrung)" },
"7": { "slug": "reserved", "label_de": "reserviert", "label_en": "reserved", "mask": 128, "note": "reserviert (tenant-definierbar)" }
"0": { "slug": "planned", "label_de": "geplant", "label_en": "planned", "mask": 1, "note": "initiiert / geplant" },
"1": { "slug": "approved", "label_de": "genehmigt", "label_en": "approved", "mask": 2, "note": "genehmigt (Entscheidung / Vorhabenfreigabe)" },
"2": { "slug": "developed", "label_de": "entwickelt", "label_en": "developed", "mask": 4, "note": "umgesetzt / entwickelt" },
"3": { "slug": "validated", "label_de": "validiert", "label_en": "validated", "mask": 8, "note": "getestet / validiert" },
"4": { "slug": "released", "label_de": "freigegeben", "label_en": "released", "mask": 16, "note": "freigegeben (Vier-Augen / Go-Live)" },
"5": { "slug": "accepted", "label_de": "abgenommen", "label_en": "accepted", "mask": 32, "note": "abgenommen durch Stakeholder" },
"6": { "slug": "archived", "label_de": "archiviert", "label_en": "archived", "mask": 64, "note": "archiviert (Aufbewahrung)" },
"7": { "slug": "reserved", "label_de": "reserviert", "label_en": "reserved", "mask": 128, "note": "reserviert (tenant-definierbar)" }
},
"examples": {
"0x01": ["geplant"],
"0x03": ["geplant", "genehmigt"],
"0x07": ["geplant", "genehmigt", "entwickelt"],
"0x1F": ["geplant", "genehmigt", "entwickelt", "validiert", "freigegeben"],
"0x7F": ["geplant", "genehmigt", "entwickelt", "validiert", "freigegeben", "abgenommen", "archiviert"]
"0x01": ["planned"],
"0x03": ["planned", "approved"],
"0x07": ["planned", "approved", "developed"],
"0x1F": ["planned", "approved", "developed", "validated", "released"],
"0x7F": ["planned", "approved", "developed", "validated", "released", "accepted", "archived"]
}
}
+61
View File
@@ -0,0 +1,61 @@
# OSS/TOP — Central Normative V7GUID Registry (GitCover)
This repository (`git.gitcover.org/OSS/TOP`, local `/mnt/brx5/work/OSS/TOP/`) is
the **central, normative single-source-of-truth (SSoT)** home for V7GUID
dictionaries that apply **across all GitCover tenant repos** following the
GitCover / GCBoK concepts. It is coordinated with **GCC** (all GitCover modules
share the same meaning).
> 🌐 **Languages:** [Deutsch (default, authoritative)](README.md) ·
> [English (translated)](README.en.md).
> Gitea serves the variant matching your UI language (bottom-right
> “Select Language”); the default fallback is the German file (`README.md`).
## Contents
```
TOP/
└── .gitcover/
├── LEGAL_ENTITY.v7g.json # OSS tenant identity
├── others.json # tenant / endpoint / dictionary descriptor
└── dictionaries/
├── README.md # dictionary convention (de primary + en translated)
├── kinds.json # normative Kind enum (V7GUID bits 114121, Layout v2)
└── status_flags.json # lifecycle bitmask (bits 106113, Layout v2)
```
## `kind` + `status` (Layout v2)
`kinds.json` classifies the **art (kind) of a unit of work / activity** — a
general, tenant-agnostic classification (undertaking, research chapter, work
package, routine, workflow, case processing, administration, companion effort,
IP administration, governance duties, primary employment, grant application,
routine software, project continuation, contract research, own work). It is
**not** tied to any one tenants filings; jurisdiction-specific notes
(e.g. German tax law FZulG/BSFZ) are kept in the optional `jurisdiction_de`
field and do not change the normative primary meaning.
`status_flags.json` defines the 8 combinable **lifecycle flags** (planned /
approved / developed / validated / released / accepted / archived / reserved)
as an O(1) bitmask filter directly from the GUID (e.g. `status & 0x07 == 0x07`
≡ planned+approved+developed).
Both dictionaries are **bilingual** (`label_de` primary / `label_en`
translated).
- Spec: `GITCOVER_PROTOCOL/specs/v7guid/33_kind.md`, `…/34_status.md`
- Spec-ADR: `GITCOVER_PROTOCOL/specs/v7guid/ADR-002_layout_v2_kind.md`
- Driver: `REPOS/AFJD/Tagebuch-Prompt.md`
## Git
- Object format: **SHA256** (`git init --object-format=sha256`).
- Remote: `git-gcf@git.gitcover.org:OSS/TOP.git`. Public mirror:
`codeberg.org/org/gitcover-commons`.
## Consolidation (follow-up slice)
The L1L6 dictionaries currently remain in the CFP tenant
(`REPOS/CFP/TOP/.gitcover/dictionaries/`). Their migration into this OSS tenant
is a follow-up slice; until then CFP is the source for L1L6 and OSS is the
source for the new `kind` and `status` fields.
+31 -12
View File
@@ -1,9 +1,15 @@
# OSS/TOP — Zentrale normative V7GUID-Registry (GitCover)
Dieses Repository (`git.gitcover.org/OSS/TOP`, lokal `/mnt/brx5/work/OSS/TOP/`)
ist die **zentrale, normative Heimat (SSoT)** für V7GUID-Dictionaries, die
**repo-übergreifend** für alle GitCover-Lösungen gelten und mit **GCC**
abgestimmt werden.
ist die **zentrale, normative Single-Source-of-Truth (SSoT)**-Heimat für
V7GUID-Dictionaries, die **für alle GitCover-Tenant-Repos** gelten, die nach den
Konzepten von GitCover / GCBoK arbeiten. Abgestimmt mit **GCC** (alle GitCover-Module
teilen dieselbe Bedeutung).
> 🌐 **Sprachen:** [Deutsch (Standard, autorisierend)](README.md) ·
> [English (übersetzt)](README.en.md).
> Gitea liefert die Variante passend zur UI-Sprache (unten rechts
> „Select Language"); Standard-Fallback ist diese deutsche Datei.
## Inhalt
@@ -13,18 +19,30 @@ TOP/
├── LEGAL_ENTITY.v7g.json # OSS-Tenant-Identität
├── others.json # Tenant-/Endpunkt-/Dictionary-Deskriptor
└── dictionaries/
├── README.md # Konvention
├── README.md # Dictionary-Konvention (de primär + en übersetzt)
├── kinds.json # Normativer Kind-Enum (V7GUID Bits 114121, Layout v2)
└── status_flags.json # Lebenszyklus-Bitmask (Bits 106113, Layout v2)
```
## `kind` + `status` (Layout v2)
`kinds.json` klassifiziert die **Art einer Tätigkeit/Maßnahme** — generalisiert
über das BSFZ-Vorhabens-Konzept hinaus (Vorhaben, Routine, Workflow,
Auftrags-Sachbearbeitung …). `status_flags.json` definiert die 8 kombinierbaren
**Lebenszyklus-Flags** (Geplant/Genehmigt/Entwickelt/Validiert/Freigegeben/…)
als O(1)-Bitmask-Filter aus der GUID.
`kinds.json` klassifiziert die **Art (kind) einer Tätigkeitseinheit** — eine
allgemeine, tenant-agnostische Klassifikation (Vorhaben, Forschungs-Kapitel,
Arbeitspaket, Routine, Workflow, Fall-/Auftragsbearbeitung, Verwaltung,
Begleitaufwand, IP-Verwaltung, Geschäftsführungspflichten, Hauptberuf,
Förder-/Antragsantrag, Routine-Software, Vorhabens-Fortsetzung,
Auftragsforschung, Eigenleistung). Sie ist **nicht** an die Anträge eines
einzelnen Tenants gebunden; juristische Spezifika (z. B. deutsches Steuerrecht
FZulG/BSFZ) stehen im optionalen Feld `jurisdiction_de` und ändern die
normative Hauptbedeutung nicht.
`status_flags.json` definiert die 8 kombinierbaren **Lebenszyklus-Flags**
(geplant / genehmigt / entwickelt / validiert / freigegeben / abgenommen /
archiviert / reserviert) als O(1)-Bitmask-Filter direkt aus der GUID
(z. B. `status & 0x07 == 0x07` ≡ geplant+genehmigt+entwickelt).
Beide Dictionaries sind **zweisprachig** (`label_de` primär / `label_en`
übersetzt).
- Spec: `GITCOVER_PROTOCOL/specs/v7guid/33_kind.md`, `…/34_status.md`
- Spec-ADR: `GITCOVER_PROTOCOL/specs/v7guid/ADR-002_layout_v2_kind.md`
@@ -33,11 +51,12 @@ als O(1)-Bitmask-Filter aus der GUID.
## Git
- Objekt-Format: **SHA256** (`git init --object-format=sha256`).
- Remote: `git-gcf@git.gitcover.org:OSS/TOP.git` (Forge-Repo vom User anzulegen,
dann Push). Öffentlicher Spiegel: `codeberg.org/org/gitcover-commons`.
- Remote: `git-gcf@git.gitcover.org:OSS/TOP.git`. Öffentlicher Spiegel:
`codeberg.org/org/gitcover-commons`.
## Konsolidierung (Folge-Slice)
Die L1L6-Dictionaries verbleiben vorerst im CFP-Tenant
(`REPOS/CFP/TOP/.gitcover/dictionaries/`). Ihre Migration in diesen OSS-Tenant
ist ein Folge-Slice.
ist ein Folge-Slice; bis dahin ist CFP die Quelle für L1L6 und OSS die Quelle
für die neuen Felder `kind` und `status`.