Supporting subsystems — for idiots
Class:
idiot. Every step, nothing assumed. This covers the two friendliest of this run's supporting subsystems: watching a project simulate itself to done (the funnel ▶ Simulate flow button) and seeing what nornir is doing (the job list). The techie details — the robot test matrix, the release gates, and SCIP find-usages — are insupporting-subsystems-guide.md. The what is insupporting-subsystems-design.md.
You press Enter after every command, and click buttons in the app window.
PART A — watch a project run itself to the finish
A funnel is nornir's picture of a project: a bunch of tasks, and which task has to finish before which. "Simulate flow" is a fast-forward button: it pretends time passes and moves every task to Done in the right order, so you can see how many rounds it takes and whether anything gets stuck.
Step 1 — open the app
cd ~/git/nornir
cargo run --features viz --bin nornir-ui
A window opens (nornir's dashboard). Wait for it to settle.
Step 2 — go to the Funnel tab
Click the 🗂 Funnel tab along the top.
Step 3 — press ▶ Simulate flow
Find and click the ▶ Simulate flow button.
nornir now fast-forwards the whole project. It shows you:
- waves — how many rounds it took (a longer chain of "this-before-that" = more waves).
- done / failed / remaining — how many tasks finished, failed, or got stuck.
If remaining is more than zero, some tasks are waiting on a task that failed and will never start — that's the simulator showing you a bottleneck before it happens in real life.
If the button is greyed out and says "local-mode only", your app is in remote mode. Start a plain local one with the command in Step 1.
PART B — see what nornir is doing right now
Everything slow nornir does — building a pipeline, recording a saga, scanning for security problems, rendering docs — writes itself down in one list called the job ledger. You don't start these; you just read the list.
Step 4 — list the jobs
In a terminal:
nornir jobs
You get a table, newest first. Each row is one thing nornir did (or is doing), with its status: ✓ done, … run (still going), or ✗ fail.
Step 5 — filter to one kind of thing
Add --kind to see just one family:
nornir jobs --kind ci_build # brokkr pipeline runs
nornir jobs --kind saga_capture # saga recordings you saved
nornir jobs --kind security_scan # security scans
nornir jobs --running # only things still in progress
Step 6 — spot a failure
nornir jobs --json | jq '.[] | select(.status=="failed")'
A failed row with the note "dropped without finish/fail" means that job crashed or bailed out early — and nornir noticed and marked it failed instead of leaving it looking like it's still running forever. That safety net is on for every job, always.
If something goes wrong
- No ▶ Simulate flow button / it's greyed out → you're on the wrong tab, or in remote mode. Use the 🗂 Funnel tab in a local app.
nornir jobsprints nothing → nothing has run yet on this machine. Do something (run a brokkr pipeline, record a saga) and check again.- You want the deep stuff (robot tests, release gates, SCIP find-usages) → that's for developers; read
supporting-subsystems-guide.md.
That's the friendly half: ▶ Simulate flow to fast-forward a project, and nornir jobs to see everything nornir has done.