registrystack / registrystack/registry-stack

Add field classification bindings to Manifest and Relay catalog metadata

Offen
#592 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area:docs area:manifest area:relay criticality:p2 enhancement post-1.0 rust triage:roadmap
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.