a1a6c73fe1
gates / gates (push) Successful in 19s
R-449. Until today one app upgrade out of 53 had ever been measured, by hand, and the whole update arc was designed against that single data point. C3 first: the negative control, whose TO image exits immediately, came back failed. That is what makes the greens mean anything, and it cost 556s because a negative is only honest if it waits out the full settle window. Seven edges, three apps. All five real catalog upgrades kept the customer's data. The finding that changes an assumption the arc was carrying: whether an upgrade can be UNDONE is a property of the individual APP, not of upgrades. Docmost refuses - 'corrupted migrations: previously executed migration 20260213T085259-notifications is missing' - and privatebin does not. That reproduces the Nextcloud result on a second app by a DIFFERENT mechanism, so the struck word 'rollback' now rests on two measurements instead of one. The finding nobody was looking for, R-459: our own bookstack template moves MariaDB across a major and sets no MARIADB_* env at all, so the engine logs that the datadir upgrade it requires is being skipped, and serves anyway. The cause is assigned rather than guessed - the app half alone produces no upgrade line, both edges that move the engine produce it - which is exactly what decomposing E3 into E3a and E3b was for. It also explains why E3's abort looked like it worked: the datadir was never converted. Whether that ever breaks is NOT established, and the row says so. Also opened: R-460 (bookstack's file half cannot be seeded headlessly), R-461 (target-selection.md names a venue that does not exist and fences a VM that is gone), R-462 (the widening, costed with this run's real numbers - and the cost is dominated by fixtures, which do not amortise). Teardown all three layers, hub checked rather than asserted. local-lvm read 30.50 percent before and after. The capability map was deliberately NOT edited: this measured apps, not the product.
77 lines
2.4 KiB
JSON
77 lines
2.4 KiB
JSON
[
|
|
{
|
|
"harness_version": 1,
|
|
"edge": "E3",
|
|
"app": "bookstack",
|
|
"note": "catalog transition 0b73e5e: app AND engine together",
|
|
"from": {
|
|
"bookstack": "lscr.io/linuxserver/bookstack:25.02.2",
|
|
"bookstack-db": "mariadb:11.6"
|
|
},
|
|
"to": {
|
|
"bookstack": "lscr.io/linuxserver/bookstack:26.05.2",
|
|
"bookstack-db": "mariadb:12.3"
|
|
},
|
|
"verdict": "proven",
|
|
"seed_read_before": true,
|
|
"seed_read_after": true,
|
|
"healthy_after": true,
|
|
"migration_observed": "bookstack-db | 2026-09-06 11:38:57+02:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade or creating healthcheck users) required, but skipped due to $MARIADB_AUTO_UPGRADE setting",
|
|
"abort": "starts-and-serves",
|
|
"abort_detail": null,
|
|
"duration_s": 15.7,
|
|
"measured_at": "2026-09-06T09:39:41Z",
|
|
"evidence": "evidence/E3",
|
|
"total_s": 77.5
|
|
},
|
|
{
|
|
"harness_version": 1,
|
|
"edge": "E3a",
|
|
"app": "bookstack",
|
|
"note": "AUTHORED step (the catalog never carried it): app half alone",
|
|
"from": {
|
|
"bookstack": "lscr.io/linuxserver/bookstack:25.02.2",
|
|
"bookstack-db": "mariadb:11.6"
|
|
},
|
|
"to": {
|
|
"bookstack": "lscr.io/linuxserver/bookstack:26.05.2",
|
|
"bookstack-db": "mariadb:11.6"
|
|
},
|
|
"verdict": "proven",
|
|
"seed_read_before": true,
|
|
"seed_read_after": true,
|
|
"healthy_after": true,
|
|
"migration_observed": "bookstack | [migrations] started",
|
|
"abort": "starts-and-serves",
|
|
"abort_detail": null,
|
|
"duration_s": 15.7,
|
|
"measured_at": "2026-09-06T09:40:57Z",
|
|
"evidence": "evidence/E3a",
|
|
"total_s": 71.8
|
|
},
|
|
{
|
|
"harness_version": 1,
|
|
"edge": "E3b",
|
|
"app": "bookstack",
|
|
"note": "AUTHORED step: engine half alone",
|
|
"from": {
|
|
"bookstack": "lscr.io/linuxserver/bookstack:26.05.2",
|
|
"bookstack-db": "mariadb:11.6"
|
|
},
|
|
"to": {
|
|
"bookstack": "lscr.io/linuxserver/bookstack:26.05.2",
|
|
"bookstack-db": "mariadb:12.3"
|
|
},
|
|
"verdict": "proven",
|
|
"seed_read_before": true,
|
|
"seed_read_after": true,
|
|
"healthy_after": true,
|
|
"migration_observed": "bookstack-db | 2026-09-06 11:41:37+02:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade or creating healthcheck users) required, but skipped due to $MARIADB_AUTO_UPGRADE setting",
|
|
"abort": "starts-and-serves",
|
|
"abort_detail": null,
|
|
"duration_s": 0.2,
|
|
"measured_at": "2026-09-06T09:41:50Z",
|
|
"evidence": "evidence/E3b",
|
|
"total_s": 48.8
|
|
}
|
|
] |