Zum Inhalt springen

Suggestion YAML Reference

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

Field-level specification for Suggestion YAML definitions (suggestions/sug_*.yaml).

Suggestions are the what of the Sense 19 chain. A human-readable recommendation that lives free-floating from any particular execution. Paired (optionally) with one or more Interventions which carry the how.

  • Location: afs/suggestions/sug_*.yaml
  • suggestion_id must match the filename stem (e.g. sug_foo.yaml requires suggestion_id: sug_foo)
  • Validator: python3 scripts/suggestioncheck.py
  • Contract: contracts/suggestion_contract.v1.json (JSON Schema)
  • Storage tier: A-tier — lives on the suggestions orphan branch, shared across every scenario
FieldTypeRequiredDescription
suggestion_idstringYesMust match filename stem. Pattern: ^sug_[a-z0-9_]+$
versionstringYesSemver-shaped. Increment on substantive content change
categorystringYesOne of the enum below
targetstringNoFree-form pointer at the artifact this is about (e.g. signal_revenue_leakage). Structural binding lives on the Intervention; this field is for discoverability
descriptioni18n mappingYesAt least en required. Multi-language descriptions OK
prioritystringYesOne of: low, medium, high, critical
statusstringYesOne of: proposed, accepted, rejected, superseded
originstringNoReference to what triggered this suggestion (verdict_id, smebit_id, observation_id, or human for free-authored). Recorded for audit, not enforced as FK
proposermappingNoSee Proposer
interventionslist of stringsNoList of int_* IDs that realise this suggestion. Forward-pointers — the Intervention also carries suggestion_id in reverse
superseded_bystringConditionalWhen status: superseded, the sug_* ID that replaced this one
modified_atstringNoISO 8601 timestamp

The category enum mirrors the verdict root-cause categories so suggestions can compose with them directly:

ValueWhen to use
thresholdTune a numeric parameter — signal threshold, validity cutoff
processChange a workflow step (how data is collected, who reviews what)
systemA system / integration change (extractor, mapping, channel config)
data_qualityImprove a known data-quality gap (validation, dedup, enrichment)
structuralChange to schema, hierarchy, or organisational structure
behavioralAddress a human behaviour pattern (workaround, shortcut, missed step)
externalAction requiring an external party (supplier, regulator, partner)
StatusMeaning
proposedAuthored, awaiting decision
acceptedDecided to apply. Doesn’t auto-merge — the human merges the interventions into main themselves
rejectedDecided not to apply. The description should explain why (audit trail)
supersededReplaced by another Suggestion. superseded_by names the replacement
FieldTypeRequiredDescription
namestringNoPerson or team name
rolestringNoTheir role (analyst, cfo, domain-expert, …)
datestringNoISO date the suggestion was first proposed
suggestion_id: sug_tighten_revenue_leakage
version: '1'
category: threshold
target: signal_revenue_leakage
description:
en: |
Tighten the revenue-leakage threshold from 10 CHF to 5 CHF.
Smaller leakages still represent real revenue loss; the OPALE
feed has enough resolution that the noise floor sits below 5.
priority: high
status: proposed
origin: verdict_billing_workflow_gap
proposer:
name: mig
role: analyst
date: 2026-05-22
interventions:
- int_lower_revenue_threshold
modified_at: 2026-05-22T08:00:00Z
Terminal window
python3 scripts/suggestioncheck.py # validate against contract
jin make # bake into _<tenant>.suggestion_registry
jin afs push # sync to the `suggestions` orphan branch
jazzisnow jinflow is a jazzisnow product
v0.64.7 · built 2026-09-20 19:48 UTC