b56df01194a6 | Merge relt21/upgrade-poll-2026-10-29 into main (lane REL-T2-1): a front's Upgrade is started, then polled; the ONE box edge's idle cut is never the update's failure | 2026-10-29 |
3c3bb377e69c | REL-T2-1 GREEN: a front's Upgrade is started, then polled; a cut is never the update's failure | 2026-10-29 |
a72815a17dc3 | REL-T2-1 RED: a front's Upgrade cut by the ONE box edge's idle bound mid keep boot is recorded failed | 2026-10-29 |
1525cd212aa6 | Merge ovw/overview-clean-2026-10-29 into main (lane OVW-CLEAN): the Overview lists only estates that exist, one New-estate slot | 2026-10-29 |
e9132dc9f090 | OVW-CLEAN: the CLI's unknown-command example is no longer `estates` (now a verb): `shop` | 2026-10-29 |
4ce610488666 | OVW-CLEAN GREEN: the Overview lists only estates that exist; one New-estate slot | 2026-10-29 |
0b80f68d941e | OVW-CLEAN RED: the Overview lists only estates that exist; one New-estate slot | 2026-10-29 |
37568343aa37 | Merge rel-one-d/dotted-secret-names-2026-10-29 into main (lane REL-ONE-D): the intake takes every secret name the secrets writer takes, so the per-product sold relay secret.sold_smtp_url.<product> / sold_smtp_from.<product> (OX-RELAY2, PMO 227bce1) no longer makes the ONE box refuse its whole feed. RED 9a84da14, GREEN ff0eebb5. monetize-front 37/0, clippy -D warnings clean; monetize-admin 128/0; the prod feed of PMO cf221ae2 (dummy secret values) is judged OK by the box's own judge and server --check | 2026-10-29 |
ff0eebb50893 | GREEN monetize-front: the intake takes every secret name the secrets writer takes (secrets::valid_name), so the per-product sold relay secret.sold_smtp_url.<product> / sold_smtp_from.<product> (OX-RELAY2) that monetize-server reads is no longer refused as "not a plain word" (lane REL-ONE-D) | 2026-10-29 |
9a84da149fec | RED monetize-front: a per-product secret (secret.sold_smtp_url.<product>, OX-RELAY2) is taken under its dotted name; the intake refuses it as "not a plain word", so the ONE box refuses its whole feed (lane REL-ONE-D) | 2026-10-29 |
fe7517977596 | Merge ox-postpub/follow-2026-10-29 into main (lane OX-POSTPUB): monetize-proto 0.3.3 (merge of ox-ci/monetize-proto-0.3.3-2026-10-28, now on crates.io), monetize-admin on estate-front 0.3.0, xtask on nornir-xtask-support 0.1.6. Gate on the merged tree (ci4, dwarf): lockcheck green, xtask tests green (the_published_line incl.), monetize-admin 128/0, cargo xtask ci --only test GREEN (guests + workspace 2792/0) | 2026-10-29 |
232dcb825f42 | xtask lock: nornir-xtask-support 0.1.6 from crates.io (lane OX-POSTPUB) | 2026-10-29 |
1a39c5caf125 | monetize-admin: estate-front "0.3.0" (edda main 83f18e5 and crates.io say 0.3.0); its lock follows (cargo xtask ci lockfollow) (lane OX-POSTPUB) | 2026-10-29 |
bd85c0779eeb | Merge ox-ci/monetize-proto-0.3.3-2026-10-28 into main (lane OX-POSTPUB): monetize-proto 0.3.3 is on crates.io (owner publish 2026-10-29 084001Z); main's monetize-proto says 0.3.3 and the locks follow | 2026-10-29 |
c9d50d725f90 | Merge oxg4/update-config-check-2026-10-29 into main (lane OXG-4): box update asks the next release's app, out of its own verified archive, whether it reads the box's fed config (its server --check), and refuses by name before anything is staged ([self-next-config], Plan::Config: what to feed first, feed --apply or feed --next); box running says it too. RED c8aedf61, GREEN 854140e6. monetize-admin lib 90/0, every test target green, clippy -D warnings clean, musl check builds OpenZL. The way back after a trial that never confirmed was already sane (the failed slot is not offered, the confirmed slot runs; the next release goes into the failed slot): no change | 2026-10-29 |
854140e6f28b | GREEN monetize-admin: box update asks the next release's app before anything is staged (OXG-4) — the archive fetched and proven, verified as the stage verifies it, its korp.entry read out of the .znippy into a memfd and run as `server --check --config <the box's fed config>`; a refusal is Plan::Config ([self-next-config], the app's own reason, what to feed first: feed --apply or feed --next), in `box running`, the plan and the apply alike; a next feed staged for that app is the config it starts on; what cannot be asked is logged and the plan stands (the trial's rollback stays the last guard). The word is kept per app pin and config blake3. znippy-common (OpenZL) is linked for the read. monetize-admin lib 90/0, all test targets green, clippy --all-targets -D warnings clean, musl check builds openzl | 2026-10-29 |
c8aedf61d32e | RED monetize-admin: box update must refuse, before staging, a release whose app cannot read the box's fed config (an old-shape config with [products.x.plans]), and say what to feed first; the next app's `server --check` word is ok or its reason (lane OXG-4) | 2026-10-29 |
1f11dabf1754 | Merge wgds5/declared-ports-2026-10-29 into main (lane OX-WGDS5): a role declares the ports it opens to anyone (RoleFacts.open, ShapeRole.open, PlanShape::open_of); the plan's shape carries them, LaidEstate and RestoreFromBackup carry the shape, and every firewall the shop writes again (the update's, a plan change's, a restore's) carries the product's shape as it says now. RED 2316571a/c4ffce1b, GREEN fbf01486/e1584952. monetize-server lib 927/0 + the 16 guest-wasm targets green after build-guests, monetize-cloud 82/0, clippy clean. KVM gate w5a GREEN on the merged tree: base 19/19, downstream 21/21 (dwarf, 2211 s) | 2026-10-29 |
a9099c39f4a0 | Merge wgds5/ci-only-guests-2026-10-29 into main (lane OX-WGDS5): cargo xtask ci --only <prefix> keeps the guests step before the root test step, whose guest-wasm targets load the real built guests and never skip. RED 1d9071c2. xtask tests green, xtask clippy clean. KVM gate w5a GREEN on the merged tree: base 19/19, downstream 21/21 (dwarf, 2211 s) | 2026-10-29 |
e1584952d84a | GREEN monetize-server: every firewall the shop writes again carries the product's shape as its facts say NOW (lifecycle::shaped_now): the update's rewrite before its first step, a plan change's, and a front's restore (its plan's shape), so a front laid before its product declared a port opens it on the normal update path, and a product that declares none opens none (lane OX-WGDS5) | 2026-10-29 |