Phase 9 · Operate: the process as run, against the process as signed
Produce findings: where what actually happens differs from the signed process. Each finding is
either a fix (the system is wrong) or a change request (the process is). Back: dodil://erp/build.
Steps
- Start every session from the repo: read every
ERP_*.md, Status first; open with a three-line "where we are" in the person's words. If the person has changed, ask their part in the business and how involved they want to be, record it under People, and retell the state in their words. - Keep the live system checked: the
POST /self-check throughdodil ignite invoke, and the live scenarios against the dev deploy after every release. - Recurring work runs where phase 2 said: an always-on worker pinned warm (
--reserved 1 --max-replicas 1) or an external clock calling a route. Ignite has no scheduler. - Compare the process as run with the signed one. Process mining (an OCEL 2.0 export, PM4Py
conformance against
processes/<process>.bpmn, the overlay on the diagram) is not built yet, and neither is the shared event log. Do it by hand, read-only: count cases per path from each brick's own audit tables (for HR,hr_run_log), and compare with the signed scenarios. - Report a finding in the customer's terms, with counts: "9 of 40 starters this month skipped the director's approval; all were rehires."
- Rollback:
dodil ignite version rollbackreturns the app to an earlier version; the data is not versioned with it. That is why every go-live exports the affected tables first. - The next module goes back to phase 0, as "joining an existing system": read every
ERP_*.mdfirst, reuse the pool, bucket and master data, merge roles.
Example (a read-only count, test copy or live)
-- what happened to onboarding runs this month, by event and outcome (brick-hr's own run log)
SELECT what, to_value, count(DISTINCT run_id) AS runs
FROM hr_run_log
WHERE event_at >= TIMESTAMP '2026-10-01 00:00:00'
GROUP BY what, to_value ORDER BY runs DESC;
Reading live is allowed; writing live is not, outside a signed change.
Done when
- Each finding names the signed element it deviates from and the count.
-
Each finding became a fix (with a test) or a change request (
dodil://erp/phase/change).
Next: dodil://erp/phase/change