Skip to content

Instrument Author Cheat Sheet

TypeDirectoryFilename patternID rule
Probeprobes/probe_*.yamlprobe_id = filename
Assessmentprobes/assessment_*.yamlprobe_id = filename
Hypothesishypotheses/hyp_*.yamlhypothesis_id = filename
Diagnosisdiagnoses/diag_*.yamldiagnosis_id = filename
SMEbitsmebits/smebit_*.yamlsmebit_id = filename
BitBundlebitbundles/bb_*.yamlbitbundle_id = filename
Reportreports/report_*.yamlreport_id = filename
TypeWhat it checks
balanceTwo aggregates match (e.g., usage vs billing)
mandatory_itemEntity has required items
distribution_outlierZ-score anomalies
duplicateDuplicate records by field combo
ratioNumerator/denominator within tolerance
trendWorsening metrics over time
temporal_sequenceEvents in expected order
silver_auditSilver-layer data quality
entity_filterEntities matching conditions
enrichmentDimension + fact derived metrics
reconciliationDual fact-table comparison
hand_writtenCustom SQL (bypass DSL)
assessmentAggregate findings from other probes

Standard probes:

severity_rules:
- above: 10.0 # if value > 10 → high
level: high
- above: 2.0 # if value > 2 → medium
level: medium
- default: low # everything else

Assessments (compound):

severity_rules:
- conditions:
- field: finding_count
above: 50
- field: total_risk
above: 10000
level: high
- field: finding_count
above: 10
level: medium
- default: low
RoleWeightImpact
primary3Must have findings for “confirmed”
supporting2Strengthens the case
context1Background, not decisive
countervariesReduces score if findings exist

Must have at least one primary entry.

verdict:
thresholds:
confirmed: 0.65 # score >= 0.65 → confirmed
plausible: 0.35 # score >= 0.35 → plausible
# score < 0.35 → not_observed

Rule: 0 <= plausible < confirmed <= 1

CategoryWhat it means
process_failureBroken business process
system_failureIT system malfunction
data_qualityStale or inconsistent data
behavioralHuman workarounds
structuralOrganizational misalignment
externalSupplier, regulatory
confidence:
base: 0.6 # starting confidence
boost_if:
- probe_id: probe_x
field: finding_count
above: 50
boost: 0.2 # max 0.3 per boost
LevelHas check block?Produces verdict?
0 (Observation)NoRegistry only
1 (Check)Yesconfirmed / violated / no_data

data_quality mapping business_rule process system seasonal historical structural

TypeNeedsShows
kpi_griditemsKey metric boxes
calloutitemsHighlighted callout
severity_barquerySeverity distribution
tablequeryData table
textcontentStatic text
footertextFooter text
chart_barqueryBar chart
chart_trendqueryTime-series chart
{{ gold('entity_name') }} -- resolves to {{ ref('gold_entity') }}
{{ silver('entity_name') }} -- resolves to {{ ref('silver_entity') }}
{{ ref('model_name') }} -- dbt reference
{{ var("tenant_id") }} -- current tenant
ContractUsed byReference
gold.v1ProbesGold entity fields
silver.v1Silver audit probesSilver entity fields
findings.v1AssessmentsFinding output fields
diagnosis.v1(output)Diagnosis verdict fields
smebit.v1(output)SMEbit registry + verdict
bitbundle.v1(output)BitBundle registry
report.v1(output)Report registry + data
1. Write YAML in afs/
2. jinflow make ← validates, compiles, builds
3. jinflow explore ← see results
4. Iterate

All validators and compilers run automatically as part of make. No manual compiler invocation needed.

All user-facing text must have en, de, fr:

title:
en: "English title"
de: "Deutscher Titel"
fr: "Titre français"

Applies to: statement, interpretation, explanation, recommendation, subject, content, why, narrative, title, description, display_name.

jazzisnow jinflow is a jazzisnow product
v0.45.1 · built 2026-04-17 08:14 UTC