no-leave-tree-check: rc=1 ℹ pass 62 ℹ fail 1 
    ✖ a child that leaves the tree has its tasks recorded missing, and the ledger keeps their history (160.370577ms)
    ✖ failing tests:
no-watch-only-bucket: rc=1 ℹ pass 58 ℹ fail 5 
    ✖ a child made after startup joins the tree at the next reconcile (149.827337ms)
    ✖ a move inside the tree is a moved tombstone plus a snapshot under the new ref (162.487755ms)
    ✖ a three-level tree is read per project, and a project outside it is not (149.484335ms)
    ✖ a watch-only child keeps the business ready, and a failed child read refuses as transient (162.164514ms)
    ✖ bucket 0 on a watch-only task never becomes a bucket or a state (133.187732ms)
    ✖ failing tests:
placed-by-id: rc=1 ℹ pass 62 ℹ fail 1 
    ✖ a move inside the tree is a moved tombstone plus a snapshot under the new ref (163.981091ms)
    ✖ failing tests:
keep-archived: rc=1 ℹ pass 62 ℹ fail 1 
    ✖ failing tests:
    ✖ the project list refuses without read_all, and skips archived projects and saved filters (434.524613ms)
config-drops-descendants: rc=1 ℹ pass 82 ℹ fail 1 
    ✖ failing tests:
    ✖ trackers come from the tracker.* variables of the one project that names a tracker project (178.137587ms)
restored: sources match the candidate index
