PDELie Label Registry#
Status: advisory. This registry documents every label vocabulary that PDELie emits or accepts through its stable public reporting surfaces. Adding a new label family requires a scope-freeze note in the release that introduces it. Renaming or removing an existing label is a breaking change and is not permitted through a semver-patch release.
The registry exists because label vocabularies proliferate quickly (readiness, confidence, supportability, risk, verification, evidence, policy…) and become uncitable if not centrally documented. Downstream tooling that maps PDELie summaries into experiment trackers, dashboards, or publication tables should consume this registry rather than re-deriving allowed values from source.
Registry table#
Each row is one label family. Columns:
Field name — the JSON field the vocabulary populates.
Owner — the release that froze the vocabulary.
Summary type(s) — the
summary_typestring(s) of payloads that carry the field.Allowed values — closed set. Downstream consumers must treat any value outside the set as a schema violation.
Semantics category — one of
empirical(measured from data),diagnostic(measured from internal state),pass_fail(synthesis of underlying evidence),supportability(whether the release supports the configured setup),decision(a scope-freeze-time decision recorded in configured evidence).Source reference — file+line in
src/pdelie/where the vocabulary is defined.
Field name |
Owner |
Summary type(s) |
Allowed values |
Category |
Source reference |
|---|---|---|---|---|---|
|
v0.21 |
|
|
supportability |
|
|
v0.20 |
|
|
pass_fail |
|
|
v0.24 |
|
|
supportability |
|
|
v0.23 |
|
|
supportability |
|
|
v0.4 |
|
|
empirical |
|
|
v0.16 (generator), v0.17 (formula) |
|
|
empirical |
|
|
v0.11+ |
|
|
diagnostic |
|
|
v0.30c |
|
|
diagnostic |
|
component |
v0.10 |
embedded in synthesis payloads |
|
diagnostic |
|
KdV scope decision labels |
v0.25 |
|
|
decision |
|
Categories in more depth#
empirical labels are measurements against the data with a documented threshold. verification.classification == "exact" requires the finite-transform error curve to remain below 1e-12; anything above but below the failure threshold is approximate; above the failure threshold is failed. symmetry_candidate.conclusion == "validated" requires every configured check to pass; partially_validated means one or more checks were unavailable but none failed; any failed check downgrades the whole candidate to failed.
diagnostic labels record internal state at report time. evidence_label reports which fit path produced the coefficients (direct_svd_in_tolerance = SVD produced a solution within the training epsilon; reference_fallback = we fell back to the reference generator; mixed = span metric agreed but not identity; unavailable = fit was skipped). residual_domain_policy records the trim rule the residual metrics used. Component status is the per-check summary before synthesis.
pass_fail labels are the final rollup of pass/fail synthesis. Today confidence_label is the only one: strong requires every configured component passed and evidence present; qualified allows warnings on non-critical components with the essential ones still passed; failed if any critical component fails; insufficient_evidence if too many components are not_configured/unavailable.
supportability labels are the release’s statement about whether the configured setup is supported. readiness_label, supportability_label, and risk_label are all in this category — none of them is a claim about numerical correctness beyond what the underlying checks measure; they encode whether PDELie’s release scope covers the case.
decision labels record scope-freeze-time decisions. The KdV current_frozen_supported / deferred_no_go pair is the only current instance; future scope-freeze artifacts will use the same shape (e.g. a hypothetical v0.32 The Well feasibility label lattice with scalar_slice_supported / blocked_multichannel_required, if that scope-freeze lands).
Vocabulary rules#
Do not overload existing families. Adding
qualified_with_reservationstoconfidence_labelfor a new evaluator is a breaking change and requires a new release cycle. Instead, introduce a new family (e.g. adiscovery_task_supportability_labelfield on a newdiscovery_task_resultsummary) and document it here.Do not reuse the same string across incompatible families.
failedappears in five families here, and that’s fine because they are distinguishable by the field name; a hypotheticalfailed_but_promotablein one family and a different meaning in another would break downstream consumers.Every new label vocabulary is a scope-freeze artifact. New families land through a
docs/planning/V0_NN_SCOPE.mdordocs/design/*.mddocument that names the field, allowed values, category, and semantics. The release-gate manifest (configs/release_gate_manifest.json) enforces the phrasing on the scope doc.Downstream tooling must not derive labels from source. MLflow / DVC / Weights & Biases integrations should consume this registry (or
docs/specs/support_matrix.v0_30.jsonand its successors) rather than readingsrc/pdelie/reporting/summaries.pyallowed-value frozensets. This is what protects the registry against silent drift.v0.31’s
discovery_task_resultwill reuse existing families, not add a fifthdiscovery_task_supportability_label. Per the v0.31a scope freeze atdocs/planning/V0_31_DISCOVERY_TASK_BRIDGE_SCOPE.md, the task-bridge release consumesreadiness_label,confidence_label, andsupportability_labelon embedded sub-summaries and recordswarnings: list[str]at the top level. If a new task-level vocabulary genuinely becomes necessary in v0.31b or later, it will be added here first, then to the schema.
Planned additive extensions (not shipped)#
The following are planned as additive fields on existing summaries and are not part of any stable contract yet. They appear here so the label registry can grow in one place rather than fragmenting across release notes.
method_scores: dict[str, float] | Noneongenerator_confidence(planned for v0.32a or later). Numeric per-component scores (span-distance, residual-l2, error-curve-max) alongside the existing categoricalconfidence_label. Enables downstream calibration studies without breaking the v0.20 frozenconfidence_labelcontract.uncertainty_report: dict | Noneongenerator_confidence(planned for v0.32a or later). Where a method emits mean/variance/HDR intervals, this is where they land.Nonefor point-estimate methods (the current default forpolynomial_translation_svd).calibration_report: dict | Noneongenerator_confidence(planned for v0.32a or later). Reliability-diagram / ECE data where available.Nonefor uncalibrated methods.
These three fields are scope-freeze-planned per docs/planning/PLAN.md’s v0.32a planning note. Downstream consumers may pre-register keys but must accept None until the fields ship as documented public API.
See also#
docs/specs/API_STABILITY.md— the source of truth for which summary functions and their labels are stable public API.docs/specs/SUPPORT_MATRIX.md— the compact per-PDE support map.docs/specs/support_matrix.v0_30.json— the current machine-readable release matrix.docs/strategy/SCIENTIFIC_POSITIONING.md— brief vocabulary-boundaries summary.