registrystack / registrystack/registry-stack
Add field classification bindings to Manifest and Relay catalog metadata
- Vorherrschende Sprache
- Rust
- Sterne
- 2
- Forks
- 0
- Ø Merge
- 2 Std. 55 Min.
- Gemergte PRs (30 T.)
- 130
Beschreibung
Tracked by #590. Depends on #591.
## Outcome
Registry Manifest can carry reviewed, typed field classifications independently from semantic concepts, and Registry Relay can compile and publish them as descriptive catalog metadata without changing access-control behavior.
## Requirements
- Add an optional, additive classification-binding type to Manifest fields.
- Keep semantic `concepts` separate from privacy and handling classifications.
- Use a closed set of policy-relevant facets with vocabulary terms expressed as absolute or prefixed IRIs.
- Record enough provenance to distinguish publisher-declared, profile-derived, and tool-proposed classifications in compiled and rendered output.
- If an explicit primary concept field is added, preserve the #589 compatibility rule for manifests that omit it.
- Expand and validate classification IRIs through pinned vocabulary/profile inputs from #591.
- Reject duplicate, contradictory, unknown policy-driving, and malformed bindings with field-addressed diagnostics.
- Carry classifications through `CompiledField`, Relay's metadata adapter, catalog JSON, and appropriate JSON-LD/SHACL output.
- Keep dataset `sensitivity`, field `sensitive`, released-claim sensitivity, and explicit `redaction_fields` behavior unchanged.
- State clearly that this issue adds metadata only and does not activate PDP enforcement.
## Acceptance criteria
- [ ] A field can carry a semantic concept and one or more typed classifications without conflating their meanings.
- [ ] PublicSchema and SEMIC terms work as semantic concepts while a separate governed vocabulary supplies privacy classifications.
- [ ] Compiled and published catalog output includes normalized classification IRIs, facets, and provenance.
- [ ] Unknown or contradictory policy-driving bindings fail validation deterministically.
- [ ] Existing manifests and Relay configs compile unchanged.
- [ ] Metadata and catalog fixtures cover no classifications, one classification, multiple facets, profile-derived bindings, and invalid conflicts.
- [ ] Documentation distinguishes concepts, classifications, dataset sensitivity, audit-sensitive fields, and redaction.
## Non-goals
- Classification-to-control mapping
- Runtime authorization, masking, or redaction changes
- Automatic source-data inspection
- Legal or regulatory applicability verdicts
- Treating HIPAA, GDPR, or DPI Safeguards names as interchangeable field classifications
Beitragsleitfaden
Rechercherichtung
Beginne mit den verwandten Issues #590 und #591 und verfolge dann die Manifest-Felder durch CompiledField, den Metadaten-Adapter von Relay, catalog JSON und die angegebene JSON-LD/SHACL-Ausgabe. Fertig ist die Arbeit, wenn Klassifikationen von Konzepten getrennt bleiben, die Validierung feldadressierte Konflikte meldet, bestehende Konfigurationen weiterhin kompiliert werden, Fixtures die aufgeführten Fälle abdecken und die Dokumentation den auf Metadaten beschränkten Umfang erklärt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- backend-api-design, documentation
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 30/100