2bf1a30b

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Model root provenance as an ADT and lift the defaults to the top level

Review feedback on #204: a `Bool` field is easy to read past, so make the
provenance a two-constructor type instead. Pattern matching on `Configured`
versus `Default` now forces every dead-root check to say what it does with a
defaulted section, rather than relying on a guard against a flag.

The default root sections also become top-level bindings, so the TOML decoder
can name them directly instead of destructuring `defaultConfig` in a where
clause.

Total

2h34m49s

Created Started Finished

Time to Start Worker time Duration Time to finish Idle
Config 0s 7s 7s 7s 0s
Eval 7s 2h33m46s 2h33m46s 2h33m53s 2h00m00s
Build 2h33m53s 1m10s 55s 2h34m49s 0s
Suite 0s 2h35m03s 2h34m49s 2h34m49s 2h00m00s

Timeline

Config Eval Build Failed Retried
0s1m2m3m4m5m6m7m8m9m10m11m12m13m14m15m16m17m18m19m20m21m22m23m24m25m26m27m28m29m30m31m32m33m34m35m36m37m38m39m40m41m42m43m44m45m46m47m48m49m50m51m52m53m54m55m56m57m58m59m1h0m1h1m1h2m1h3m1h4m1h5m1h6m1h7m1h8m1h9m1h10m1h11m1h12m1h13m1h14m1h15m1h16m1h17m1h18m1h19m1h20m1h21m1h22m1h23m1h24m1h25m1h26m1h27m1h28m1h29m1h30m1h31m1h32m1h33m1h34m1h35m1h36m1h37m1h38m1h39m1h40m1h41m1h42m1h43m1h44m1h45m1h46m1h47m1h48m1h49m1h50m1h51m1h52m1h53m1h54m1h55m1h56m1h57m1h58m1h59m2h0m2h1m2h2m2h3m2h4m2h5m2h6m2h7m2h8m2h9m2h10m2h11m2h12m2h13m2h14m2h15m2h16m2h17m2h18m2h19m2h20m2h21m2h22m2h23m2h24m2h25m2h26m2h27m2h28m2h29m2h30m2h31m2h32m2h33m2h34m