All work
Operations cockpit

Today.eazy.day

From work order to fix, on one screen. Ranked tickets across every site, a verified asset registry behind each one, and a knowledge-graph diagnostic agent that walks a technician through the repair.

Role Design + engineering Stack Worker · KV · asset registry Surface Mobile-first Status Live (private)
The full slice

One ice cream machine, from alarm to answer.

A working slice for a single soft-serve machine. Start on the morning briefing, tap the top revenue ticket, and follow the diagnostic agent through the fault. Tap to explore.

9:41

WO Briefing

2026-07-035m ago
4 resolved
🆕 6 new
💤 2 stale
↩️ 1 bounced
9 open · 3 stores

1234 Las Vegas

3 open

1268 Reno

2 open
↑ Tap the ice cream ticket

Ticket #48213

REVENUE3d
Las Vegas #1234 · rank #1

Issue

Won't freeze: product still soft after an hour in AUTO

✓ resolver auto-confirmed (0.94) · slot A2-SS-01

Asset

make / modelTaylor C602
serialK2098431
stationFront line, shake
installed2021-04-12

Why this rank

ICE_CREAM tier is $500/day in lost revenue. No backup machine multiplies ×1.5. Three days open adds +30. Highest score in the fleet today.

🔧 Diagnostic agent

Taylor C602 · soft serveSymptom: won't freeze, product too soft in AUTO
ReAct agent · mimo-v2.5-pro · temp 0 · reasoning on
tools: search_nodes · get_node · neighbors · budget: 4 rounds
Technician asked"In AUTO over an hour, product still almost liquid. Where do I start?"
ReAct trace
1
Round 1 · search
search_nodes("product not freezing liquid auto mode")
Near miss. Returns candidate cause nodes ("Machine not in Auto mode.", a pump-motor cause) but not the symptom itself. Agent rewords and tries again.
2
Round 2 · search
search_nodes("product still liquid not thick soft serve not freezing")
Top hit: sym:taylor-c602:product-too-soft — "The product is too soft."
3
Round 3 · neighbors
neighbors("sym:taylor-c602:product-too-soft")
8 candidate causes returned along the caused_by fan-out (mapped below).
4
Round 4 · get_node
get_node("cause:taylor-c602:dirty-condenser-or-air-filters")
Reads the cause: "Dirty condenser or air filters on air-cooled machines." It carries a diagnosed_by edge to a procedure.
Step budget reached · forced final answer
Answer
Root cause
Dirty condenser or air filters on air-cooled machinescause:taylor-c602:dirty-condenser-or-air-filters
Procedure
Check / replace filters regularlyproc:taylor-c602:check-replace-filters
Confidence
medium
source: taylor-c602-service-v01 / troubleshooting-guide / page 94
check condenser coilscheck air filters
Found, read, and cited the answer inside the 4-round search budget. The budget is the harness guardrail, not a dead end.
Subgraph traversed
The product is too soft.sym:taylor-c602:product-too-soft · 7 crew aliases indexed
↓ caused_by → 8 candidate causes
shakeToo much syrup
soft serveDraw rate set too fast
bothOutdrawing cylinder capacity
bothAir passage blocked in pump
bothInadequate airspace
bothDirty condenser / air filtersagent's pick
bothWorn / damaged scraper blades
bothViscosity control set too warmtech only
↓ dirty condenser / air filters — diagnosed_by →
Check / replace filters regularlyproc:taylor-c602:check-replace-filters

The briefing and ticket views recreate the live app. The diagnostic view replays a real agent run: a ReAct loop walking the built 212-node Taylor C602 knowledge graph, step by step, to the cause it settled on. A gated live agent is available on request. It is not public.

The receipts

Does the graph actually help? We measured it.

A demo can show an agent reaching the right answer once. The harder question is whether walking the knowledge graph beats handing the same agent the manual. So we built a probe suite and ran it three ways.

# won't-freeze / product-too-soft probe suite · 7 scorable probes · mimo-v2.5-pro
graph    the agent walks the 212-node C602 graph
pdf-only the same agent is given the manual as HTML
oracle   the agent is handed the correct nodes, reasoning only (a ceiling)
Graph
6/7
Walking the graph. Two probes clear of the manual.
Pdf-only
4/7
The same agent, manual only. Misses the family calls.
Oracle
7/7
Correct nodes handed in. Proves the data is sufficient.
Win

Family discrimination (T1, T4)

The whole margin is two probes, and both are the graph keeping the agent inside the right fault family instead of guessing across it. On T1 the graph reaches the refrigeration cause (dirty condenser and air filters) where pdf-only picks the wrong family, worn scraper blades. On T4 the graph reaches worn scraper blades where pdf-only invents a sanitizing-solution cause that is not in scope.

Structural, tied on outcome

The alias bridge

Seven lay phrasings (won't freeze, pouring out like milk, runny shake, soup consistency, and more) are indexed onto the one symptom node. A flat manual has no won't-freeze entry to look up. Lay queries that missed or landed on the wrong symptom before now rank the correct one first, a real fail-then-pass at the retrieval layer.

The honest caveat: a strong model rewords lay language into manual vocabulary on its own, so on this agent the alias probes tied the manual on the final answer. We count the bridge as a structural retrieval advantage the flat manual cannot have, not an outcome win against a strong agent.

Known weakness

Cascade traversal (C1)

The weakest result, stated plainly. The cascade edge is present in the data and the oracle condition passes, so the graph holds the answer. But the agent took the local cause instead of traversing the cascade to the root. That is an agent-side retrieval miss, queued for prompt hardening. It is a tuning problem, not a gap in the graph.

The graph helps. A qualified yes. It wins on family discrimination, it gives a retrieval advantage the flat manual structurally cannot, and it has one known weakness (cascade traversal) that is an agent-tuning problem rather than missing data. Six of seven with the graph, four of seven from the manual alone, seven of seven when the agent is handed the right nodes.

How it fits together

Three systems, one glance.

01

Ranked work orders

A nightly agent scores every open ticket by lost revenue, backup coverage, and age, then groups them by site. Revenue risk floats to the top.

02

Verified asset registry

Each ticket resolves to a real asset: make, model, serial, install date. A confidence score flags matches that need a human to confirm, with a one-tap fix.

03

Knowledge-graph diagnostics

Shipped and measured. The asset becomes a walkable knowledge graph for that exact machine. A ReAct agent searches it, follows typed cause and procedure edges, and returns a cited answer. We tested it against the manual: it wins on keeping the agent in the right fault family, with one traversal weakness we are still tuning.

All work Next: Chronicle