pub struct SectorDescriptor {Show 13 fields
pub key: String,
pub title: String,
pub status: RegulatoryStatus,
pub regime: Regime,
pub legal_basis: Vec<String>,
pub dpp_applies_from: Option<String>,
pub retention_years: u32,
pub schema_versions: Vec<String>,
pub current_schema_version: String,
pub product_categories: Vec<String>,
pub disclosure: HashMap<String, Disclosure>,
pub plugin: Option<String>,
pub notes: Option<String>,
}Expand description
A single sector’s catalog entry — the canonical record every component (schema registry, plugin host, passport model) resolves against.
Fields§
§key: StringCanonical sector key, e.g. "battery", "unsold-goods". Matches the
schema-registry sector key and the plugin’s meta().sector.
title: StringHuman-readable title.
status: RegulatoryStatusRegulatory status — gates whether determinations are binding.
regime: RegimeWhich EU legal instrument family this sector derives from.
Orthogonal to Self::status: the regime says which law, the status
says whether it binds yet. Determination gating must never branch on
this field.
legal_basis: Vec<String>EU legal instrument(s) this sector derives from.
dpp_applies_from: Option<String>ISO-8601 date the passport obligation applies from, when known.
Scope note: this is when the DPP itself becomes mandatory. It is not
the determination gate and must not be used as one — a regulation may
bind long before its passport is required (see RegulatoryStatus).
Where a sector carries several obligations with different dates, this
records the earliest that binds an in-scope operator; the manifest
notes carry the rest.
retention_years: u32Minimum data retention in years required by the applicable act.
schema_versions: Vec<String>Schema versions available for this sector (semver strings).
current_schema_version: StringThe schema version applicable to new passports in this sector right
now. Decouples “current” from “latest embedded” so a future schema can
ship embedded without becoming current until its act is in force. Must
be one of schema_versions.
product_categories: Vec<String>Product categories within this sector — sub-types a plugin may branch
on, never dispatch keys. See DATA-MODEL.md §3.5.
disclosure: HashMap<String, Disclosure>Per-field Disclosure class for
this sector’s data: field name → class; unlisted fields default to
public. Not an ordering — a class names which audiences may see the
field, and the audiences do not nest. Universal conformity fields
(signatures, audit trails) are folded in by the access-policy engine, so
they are not repeated per sector here.
plugin: Option<String>Plugin that handles this sector (crate / filename stem, e.g.
"sector-battery"). None if no plugin is bound yet.
notes: Option<String>Free-text regulatory note (effective dates, scope, caveats).
Trait Implementations§
Source§impl Clone for SectorDescriptor
impl Clone for SectorDescriptor
Source§fn clone(&self) -> SectorDescriptor
fn clone(&self) -> SectorDescriptor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more