Skip to content

Thesis YAML Reference

Field-level specification for thesis YAML definitions.

PropertyValue
File locationhypotheses/hyp_*.yaml
ID rulehypothesis_id must match filename (without .yaml)
Validatorpython3 scripts/hypothesischeck.py
Compilerpython3 scripts/hypothesiscompile.py
Compiler dry-runpython3 scripts/hypothesiscompile.py --check
FieldTypeRequiredValid values
hypothesis_idstringyesMust match filename
short_codestringyes3-4 uppercase letters; must have a vowel at position 2 or 3; unique across all theses
versionstringyesSemantic version (e.g. "1.0")
statementdictyes{en, de, fr} tri-lingual text
categorystringyesfinancial_anomaly | data_quality | compliance | operational
tagslistnoFreeform string tags
audiencelistnoFreeform audience identifiers
evidencelistyesMin 1 entry; see Evidence Block
verdictdictyesSee Verdict Block
interpretationdictyesAll 4 statuses required; see Interpretation Block
created_atstringnoISO date
modified_atstringnoISO date
CategoryDescription
financial_anomalyRevenue leakage, cost overruns, billing discrepancies
data_qualityStale, missing, or inconsistent master data
complianceRegulatory or contractual non-compliance
operationalProcess inefficiencies, SLA breaches, capacity issues

Each entry in the evidence list:

FieldTypeRequiredValid values
probe_idstringyesMust reference an existing probes/*.yaml
rolestringyesprimary | supporting | context | counter
weightintegeryes1-5

Rules:

  • At least one entry must have role: primary.
  • All referenced probe_id values must have a corresponding YAML file in probes/.

Role semantics:

RoleImpact
primaryMust have findings for verdict to reach “confirmed”
supportingStrengthens the evidence score
contextBackground signal, not decisive
counterReduces score if findings exist (contradictory evidence)
FieldTypeRequiredValid values
thresholds.confirmedfloatyes0.0-1.0
thresholds.plausiblefloatyes0.0-1.0
scalingstringnobinary | graduated
saturationnumbernoMust be > 0 (only meaningful with graduated scaling)

Rules:

  • 0 <= plausible < confirmed <= 1 (plausible must be strictly less than confirmed).
  • scaling defaults to binary if omitted.
  • saturation controls the point at which additional findings stop increasing the score (graduated mode only).

Required keys: confirmed, plausible, not_observed, insufficient.

Each key maps to a tri-lingual dict with {en, de, fr}. These are human-readable narrative templates shown in Explorer for each verdict status.

StatusWhen assigned
confirmedEvidence score >= thresholds.confirmed
plausibleEvidence score >= thresholds.plausible and < thresholds.confirmed
not_observedEvidence score < thresholds.plausible (signals returned data but findings are below threshold)
insufficientNot enough signal data to evaluate (signals returned no rows)

Each thesis produces one row per tenant in hypothesis_verdicts:

ColumnTypeDescription
verdict_idstringDeterministic surrogate key
tenant_idstringTenant identifier
hypothesis_idstringThesis identifier
statusstringconfirmed | plausible | not_observed | insufficient
evidence_scorefloatWeighted evidence score (0.0-1.0)
finding_countintegerTotal findings across all evidence signals
money_at_risknumericSum of money_at_risk from all evidence signals
worst_severitystringHighest severity across evidence signals
hypothesis_id: hyp_unbilled_services
short_code: UBS
version: "1.0"
statement:
en: "Significant revenue is lost due to services delivered but never billed."
de: "Erheblicher Umsatz geht durch erbrachte aber nicht verrechnete Leistungen verloren."
fr: "Des revenus significatifs sont perdus en raison de prestations fournies mais jamais facturees."
category: financial_anomaly
evidence:
- probe_id: probe_revenue_leakage
role: primary
weight: 3
- probe_id: probe_billing_completeness
role: supporting
weight: 2
verdict:
thresholds:
confirmed: 0.7
plausible: 0.3
interpretation:
confirmed:
en: "Revenue leakage is confirmed. Unbilled services represent a material financial gap."
de: "Umsatzverlust bestaetigt. Nicht verrechnete Leistungen stellen eine wesentliche Luecke dar."
fr: "La perte de revenus est confirmee. Les prestations non facturees representent un ecart financier significatif."
plausible:
en: "Evidence suggests possible unbilled services, but the pattern is not yet conclusive."
de: "Hinweise auf moeglicherweise nicht verrechnete Leistungen, aber das Muster ist noch nicht schluessig."
fr: "Les donnees suggerent des prestations possiblement non facturees, mais le schema n'est pas encore concluant."
not_observed:
en: "No evidence of unbilled services found in the current dataset."
de: "Keine Hinweise auf nicht verrechnete Leistungen im aktuellen Datensatz."
fr: "Aucune preuve de prestations non facturees dans le jeu de donnees actuel."
insufficient:
en: "Insufficient data to evaluate this thesis."
de: "Unzureichende Daten zur Bewertung dieser Hypothese."
fr: "Donnees insuffisantes pour evaluer cette hypothese."
jazzisnow jinflow is a jazzisnow product
v0.45.1 · built 2026-04-17 08:14 UTC