Ashigo · Demo

One session. Diagnosis to resolution, no cuts.

Watch Rung take a plain-language symptom, dig through read-only tools, ask for a yes on the one step that changes something, tighten its own privacy level mid-session, and close the loop — all from the terminal.

Read-only by default Every write needs a yes Privacy level, set live

A scripted walkthrough grounded in a real fault pattern (a controller left in Program mode after a firmware push), not a specific customer's session — built to show the mechanics end to end.

rung — operator terminal
rung ❯
✻ Thought for 2.6s
╭─ ⚙ ping
│ host=10.0.6.14
╰─
4 packets · 0% loss · avg 2.1ms — PLC is online
╭─ ⚙ modbus_read (read-only)
│ host=10.0.6.14 table=holding_registers address=0 count=4
╰─
holding_registers @ 0 (unit 1): [ 0, 0, 0, 0 ]
register 40001 = 0 — controller is in PROGRAM mode, not RUN
Found it — the firmware push left the controller in Program mode
instead of Run. That's why it's online but not cycling the line.
rung ❯
✻ Thought for 1.2s
╭─ ⚙ plc_set_mode
│ host=10.0.6.14 mode=RUN
╰─
Allow? [y] allow once · [a] always · [n] deny
› y
mode set to RUN · scan cycle resumed
╭─ ⚙ modbus_read (read-only)
│ host=10.0.6.14 table=holding_registers address=0 count=4
╰─
register 40001 = 1 (RUN) — confirmed, not just assumed
Line 4 is cycling again. I'll keep watching for the next few scans in case the fault recurs.
rung ❯
Privacy level: Standard → Shielded
Identifiers — IPs, hostnames, tags, paths — are now tokenized
before anything leaves this machine, and restored in your output.
Fail-closed: if a leak can't be ruled out, the request doesn't go out.
rung ❯
✻ Thought for 2.0s
╭─ ⚙ historian_query (SELECT-only)
│ host=•••••3f21 tag=Rack4.*.FaultCode — last 60 min
╰─
3 rows returned — identifiers tokenized in transit, restored below
no other faults on Rack 4 in the window
PLC 10.0.6.14 (Line 4) faulted once at 09:02 — the mode change
we just made, expected. Its rack neighbors are clean.
rung ❯
✻ Thought for 0.9s
Session saved as a runbook entry for the next engineer who hits this fault.
4 minutes, one engineer, zero bytes of raw plant data left this machine.

Looping automatically — hit replay to start clean, or install Rung to run this on your own site.

Ask

Plain language, described the way an engineer actually talks — no log paths, no vendor jargon required.

Approve

Reads run automatically. The one step that writes to the controller stops and waits for an explicit yes.

Switch privacy

One command, mid-session — /privacy shielded — and identifiers are tokenized before they leave the machine.

Resolve

Fix verified with a read-only check, not assumed. The transcript becomes the runbook entry.

Try it on your own terminal

This is what Rung looks like on a real fault.

Install it in one line, or see the failure modes it's built around in the use case library.