JinDesk Guide
JinDesk is jinflow’s web-based analytical interface. It reads from the KLS (Knowledge Store) and OPS (System Information Store) to present findings, theses, dimensions, and expert knowledge.
| Page | Key | What it shows |
|---|---|---|
| Overview | O | Confirmed theses, adjusted exposure, finding count, dimension counts |
| What’s New | W | Recent changes and activity |
| Theses | H | Business questions with thesis status (confirmed/plausible/not observed) |
| SMEbits | S | Atomic expert knowledge (observations + checks) |
| Use Cases | U | BitBundles — curated narratives grouping SMEbits |
| Notebook | N | Investigation notes (YAML from AFS + user entries in OPS). Create, edit, delete entries directly. See Notes Guide |
| Signals | P | Diagnostic queries (perspectives + individual signals) |
| Signal Findings | F | All signal findings with score bars and treemap |
| Interpretations | I | Human-readable finding narratives grouped by severity |
| Entities | D | Core business nouns (Materials, Cases, Suppliers…) with search, filter, sort, group-by |
| Analytics | D (2nd) | Derived views and fact tables (Consumption, Billing, Price Palette…) |
| All Tables | - | Browse any KLS table without entity registration (System section) |
| dbt Docs | - | Embedded dbt documentation — models, columns, lineage (System section) |
| Taxonomies | T | Hierarchical classifications and cross-taxonomy cardinality |
| Executive Summary | E | High-level report for leadership |
| Reports | R | Detailed analytical reports |
| Calibration | C | Signal accuracy metrics (synthetic tenants only) |
| Signal Builder | P (2nd) | Form-based signal creator with type selector, scope config, YAML preview, and validation sandbox |
| Pipeline | P (4th) | Interactive dbt DAG with layer coloring and lineage tracing |
| Diff Loupe | C (2nd) | KLS version comparison — findings delta, thesis status changes, AFS diff, dbt docs diff |
| Map Salon | M | Geographic and spatial visualization of entity distributions and signal findings |
| Spend Studio | - | Consumption analytics — spend patterns, category breakdowns, trend analysis |
| Instruments | I (2nd) | Interactive signal lineage graph (instrument dependencies) |
| Bookmarks | B | Browse and manage saved custom views |
| Price Lab | - | Master vs billing price comparison — scatter plot, deviation histogram, per-material timeline |
| Recents | - | Recently visited pages and entities with navigation history |
| What is this? | W (2nd) | Platform documentation, analyst toolkit, glossary — guides, domain glossary, product glossary |
| About | A | Data provenance, contributors, pipeline info, build stats, contract list |
Keyboard Shortcuts
Section titled “Keyboard Shortcuts”Letter Navigation
Section titled “Letter Navigation”Press a letter key to jump to the page starting with that letter. Press the same letter again within 800ms to cycle through multiple matches.
| Key | Page(s) |
|---|---|
| O | Overview |
| W | What’s New → What is this? (About) |
| H | Theses |
| S | SMEbits |
| U | Use Cases |
| N | Notebook |
| P | Signals → Signal Builder → Pipeline |
| F | Findings |
| I | Interpretations |
| D | Dimensions |
| T | Taxonomies |
| E | Executive Summary |
| R | Reports |
| C | Calibration |
Special Keys
Section titled “Special Keys”| Key | Action |
|---|---|
| J | Open JumpBar |
| Cmd+K | Open/close JumpBar (works anywhere) |
| Backspace | Browser back |
JumpBar
Section titled “JumpBar”The JumpBar (J or Cmd+K) is a universal search and command palette. Use prefixes to switch modes:
| Prefix | Mode | What it searches |
|---|---|---|
| (none) | Search | Signals, theses, entities, glossary, saved views, dimensions |
| ? | Glossary | Product and architecture terms |
| = | Calculator | Math expressions (supports K, M, B suffixes) |
| > | Commands | Switch language, filter severity, navigate |
| @ | Tenant | Switch to a different tenant |
| : | Filter | Filter the current page (findings, dimensions) |
| docs: | Documentation | Search docs.jinflow.io (opens in new tab) |
Search Syntax
Section titled “Search Syntax”Type like you think. The search understands.
Every list page has a search bar. Type anything — it searches across all visible columns. The grammar is progressive: beginners type words, experts type expressions, both get results.
Six levels, each building on the previous:
Level 1 — Just type
Section titled “Level 1 — Just type”paracetamol any word starts with "paracetamol" in any columnhip replacement AND of two word-start matches"Scalpel Blade #10" word-start match on the phraseThe default match is word-starts-with: set matches Set Blade or SET_OP_12 (because _ is a word boundary), but not mistyset or eset. If you want “contains anywhere,” use ~.
Level 2 — Operators
Section titled “Level 2 — Operators”>1000 any numeric column > 1000<50 any numeric column < 50100..500 between 100 and 5002025-01..2025-06 date rangeLevel 3 — Field filters (!field:value)
Section titled “Level 3 — Field filters (!field:value)”!entity_type:Material column has a word starting with "Material"!amount:>1000 amount column > 1000!date:2025-01..2025-06 date in range!material_id:=630664 exact match (= prefix)!name:~hip|knee regex / contains anywhere (~ prefix)!name:~^hip regex anchored to the column start!status:null IS NULL-!status:null IS NOT NULL (negation; no separate "not_null" syntax)!is_active:true booleanThe three match operators:
| Prefix | Meaning |
|---|---|
| (none) | word-starts-with (default) |
= | exact match |
~ | regex — also how you do “contains anywhere” |
Level 4 — Logic
Section titled “Level 4 — Logic”hip OR knee either term matcheship | knee shorthand for OR-consumable NOT: exclude rows with "consumable"-!cat:ortho exclude rows where cat has a word starting with "ortho"(hip | knee) ortho parentheses: either hip or knee, AND orthoLevel 5 — Smart tokens
Section titled “Level 5 — Smart tokens”Day:
yesterday, today, tomorrowlast-Nd / next-Nd (e.g. last-7d, next-30d — any N)Week / month / year (last-*, this-*, next-*), with full-period semantics:
last-week this-week next-weeklast-month this-month next-monthlast-year this-year next-yearN-step offsets: last-week-3, last-month-12, next-year-5 — the full period N steps back or forward. Useful for trailing-window patterns like last-month-12..last-month-1 (“trailing 12 months”).
next-* is especially useful against columns that store future intent — material expiration dates, contract end dates, scheduled procedures.
Level 6 — Aggregation hints (findings, signals, theses)
Section titled “Level 6 — Aggregation hints (findings, signals, theses)”CHF >10000 money_at_risk > 100003+ findings finding_count >= 3high+ severity at or above highHelp popover
Section titled “Help popover”Every search bar has an ⓘ button on the right. Click it for a compact quick-reference of the grammar. ESC or click-outside to close.
Configuration
Section titled “Configuration”Search behavior can be tuned per tenant in config.yml:
display: search: case_sensitive: false # default: case insensitive word_separators: " _-." # characters that count as word boundaries week_start: monday # `monday` (default) or `sunday`case_sensitive: whentrue, all searches are case-sensitive (default:false).word_separators: the characters that mark a new “word” for the default word-starts-with match. Default is space, underscore, hyphen, dot — tuned for IDs likeSET_OP_12,4711-BLADE,Knee.Replacement. Tighten the set to make the default stricter, widen it to find substrings inside more identifier shapes.week_start: the daylast-week/this-week/next-weekconsider the first of the week. Default ismonday(ISO 8601, DACH convention); set tosundayfor US-style calendar weeks.
Sidebar: Entity Taxonomy
Section titled “Sidebar: Entity Taxonomy”The sidebar organizes browseable data into three sections:
Entities — core business nouns listed individually: Materials, Cases, Suppliers, Departments, Supply Chains, Cost Centers. Plus Taxonomies. Each links directly to its dimension page.
Analytics — derived views and fact tables (top 5 shown). Bookmarked entities appear first (alphabetically), then remaining slots fill by row count. Bookmark an entity and it rises to the top — personal, organic prioritization. A “more…” link opens the full list.
Reference — lookup tables (Catalogue Types, Packaging Types, etc.) accessible via the dimensions index with a kind filter.
Every entity has a kind field in its YAML definition: core, analytical, or view. The sidebar reads the entity registry from the KLS and displays names in the active language.
Navigation Journal (Recents)
Section titled “Navigation Journal (Recents)”Click the icon next to any sidebar item to see your last 5 visits to that entity. Each visit records the exact page, filters, search, and sort you used — click to jump back.
Tracked pages: Entities, Analytics, Theses, Signal Findings, SMEbits, Notes, All Tables.
How it works:
- Every detail page visit is recorded in the OPS (fire-and-forget)
- Stored per user (git identity) and per entity
- Auto-cleanup: keeps last 100 per entity per user
- No sync — recents live in the OPS only (local convenience)
- Keyboard shortcut: Cmd+B for bookmarks (persistent), icon click for recents (automatic)
Bookmarks
Section titled “Bookmarks”Press Cmd+B on any page to bookmark the current state (URL + filters + sort). The bookmark icon in the header shows a dropdown of all saved bookmarks across pages. Bookmarks are stored in the OPS.
Persistence: Bookmarks live in the OPS, which jin make never rebuilds — so they survive every build. They are per-store: jin ops backup / restore moves them between machines.
Sidebar effect: Bookmarked analytical entities get priority placement in the sidebar’s Analytics section — they float to the top automatically.
Map Salon
Section titled “Map Salon”Geographic and spatial visualization of entity distributions and signal findings. Map Salon renders entities on a map when they carry location data (coordinates, postal codes, regions), overlaying signal findings as heat maps or marker clusters.
Features:
- Auto-detects location columns in entity data
- Signal findings layered as color-coded markers (score determines intensity)
- Filterable by entity type, signal, and score range
- Zoom from country level down to individual sites
- Click markers to drill into entity detail or finding evidence
Spend Studio
Section titled “Spend Studio”Consumption analytics for spend patterns, category breakdowns, and trend analysis. Spend Studio replaces the former Consumption Lab with richer visualizations and deeper drill-down capabilities.
Features:
- Category breakdown — treemap and sunburst views of spend by taxonomy node
- Trend analysis — monthly/quarterly spend over time with year-over-year comparison
- Top-N analysis — largest consumers, fastest-growing categories, biggest variances
- Budget vs actual — when budget data is available, overlays planned vs realized spend
- Cross-entity linking — click any category to see the underlying materials, suppliers, or cost centers
Price Lab
Section titled “Price Lab”Interactive pricing analysis for comparing master catalogue prices against actual billing prices. Three chart modes:
Scatter plot — every material plotted as master price (x) vs billing price (y) on a log scale. Points above the agreement line are billed higher than master; below are billed lower. Consumables and medications are color-coded. Click any dot to drill into its timeline. Up to 5,000 materials.
Deviation histogram — distribution of (billing - master) / master as a percentage. Green = within ±5%. Red = underpriced. Blue = overpriced. Shows how many materials fall in each deviation band.
Timeline — price history for a single material over time. Master prices shown as stepped lines per site (e.g. Site A, Site B), billing prices as individual scatter dots. Tooltips show invoice numbers, quantities, active/inactive status. Palette summary in subtitle.
Features:
- Configurable resolution rules — choose how to resolve master price (e.g. “if only one active, use it; else latest”) and billing price (e.g. average, latest)
- Zoomable — scroll to zoom, drag to pan, reset button
- Deep links —
?material=Xopens the timeline for a specific material directly - Cross-navigation — click a scatter dot to jump to its timeline
- Palette overlay — toggleable dashed reference lines for catalogue price rules on the timeline
- Histogram drilldown — click any bar to see the individual materials in that deviation band with their prices
Signal Builder
Section titled “Signal Builder”A unified signal creation tool with two modes. (Signals were formerly called probes — the underlying YAML still uses probe_id as the field name.)
Visual mode — step-by-step wizard guiding you through signal creation:
- Type — choose from balance, entity_filter, duplicate, enrichment, mandatory_item
- Scope — select entity type and contract (gold.v1 or silver.v1)
- Config — type-specific configuration (fields, thresholds, conditions)
- Score — scoring rules based on finding metrics (0-100 continuous scale)
- Metadata — probe_id, description, tags, tri-lingual display text
- Preview — generated YAML with copy-to-clipboard
YAML mode — raw editor for full control:
- Write or paste signal YAML directly
- Compile — generate SQL from the YAML
- Validate — check against contracts and references
- Dry-run — preview findings without building
- Roundtrip — convert YAML → wizard state → YAML to test fidelity
- Save to AFS — write the signal directly to the tenant’s AFS
Switch between modes with the Visual/YAML toggle at the top. The wizard is for exploration; YAML mode is for power users.
Computed Aggregates
Section titled “Computed Aggregates”When grouping rows in a dimension table, numeric columns are aggregated with SUM. But derived ratios like delta_qty_pct = (qty_out - qty_in) / qty_in × 100 can’t be summed — the result would be meaningless.
Computed aggregates solve this. The entity YAML declares SQL expressions that replace naive SUM during group-by:
columns: computed_aggregates: delta_qty_pct: expression: "SUM(delta_qty) / NULLIF(SUM(qty_in), 0) * 100" format: percentThe expression is evaluated server-side by DuckDB in both the aggregate header row and group-by views. Expressions only reference columns from the same model — no subqueries, no DDL.
Saved Views (Legacy)
Section titled “Saved Views (Legacy)”On dimension pages, configure your filters, sort, and group-by, then click ”+ Save view”. The view is:
- Named automatically from your current state (editable)
- Stored in the OPS (persistent, shared across browsers)
- Shown as clickable pills above the search field
- Searchable in the JumpBar
- Copyable as YAML for notebook notes (clipboard icon)
Locale
Section titled “Locale”Switch between DE, EN, FR using the locale switcher at the bottom of the sidebar, or via JumpBar: > deutsch, > english, > français.
All content — theses, signal descriptions, interpretations, analyst toolkit — is tri-lingual.