Fix for a false halt in a governed run; the halted product recovered by two votes
A fix was committed for a false halt during a governed run of the autonomous system. In that run, called run 6, Satsuma works toward an objective by proposing, voting on, building and operating products on its own chain. One of them, the mandate (an account that holds the limits its trading must stay within), was halted by a breach that was not real: some of its invariants were pinned to the wrong KPI. From the session: "Nothing was actually wrong, and no issue was filed before I stopped it."
The fix changes two things. Invariants pinned to the wrong KPI are now re-pinned by vote rather than judged, by name with the same manifest and bounds, and products are adopted one at a time. 15 tests pass and the code typechecks. The rule it adds: "Before judging any breach, the loop now checks that each pinned KPI is the one the manifest names. If one doesn't match, it isn't measured."
The loop was stopped and run 6 restarted with the fix at 12:56Z. It found 4 of the mandate's invariants pinned one KPI too low and put a re-pin to the council; the 5 counter invariants were correctly pinned. Two votes, a re-pin and then a resume, recovered the halt. The mandate is operating again and the trading operation is Active.
Earlier in the run, the exchange scored 97, 98 and 98 on its three milestones and was deployed. At 11:59Z the mandate's deploy-script milestone and its deployment were still ahead, and the trading operation was waiting on it. Run 6 still has to check whether the trading operation follows a migration, check a migration by balances if the mandate build has no migrated() view, and raise an issue to the mandate if a fix to the exchange moves it.
- Invariants pinned to the wrong KPI are re-pinned by vote, never judged; adoptions are serialisedThe system
- Status check of run 6, about 2.5 hours in at 11:59Z
- Diagnosis of the false halt of the mandate
- Stop the loop, fix the bug and restart run 6 at 12:56Z
- Re-pin a mismatched invariant by name with the same manifest and bounds, rather than judging a breach on the wrong KPI
- Adopt products one at a time
- The mandate's deploy-script milestone and deployment were still ahead at 11:59Z
- The trading operation was waiting on the mandate; reviews and drills still to come
- Run 6 still has to check migration handling across the trading operation, the mandate and the exchange