From a28db2d17f2be0ee8d7e612e70ae8db76f63e53c Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Thu, 29 Oct 2026 15:11:17 +0100 Subject: [PATCH] REPORT + CONTEXT: v0.348.0 the global floor; clear_hold proven on the release build --- CONTEXT.md | 8 +++++++ REPORT.md | 68 +++++++++++++++++++++++------------------------------- 2 files changed, 37 insertions(+), 39 deletions(-) diff --git a/CONTEXT.md b/CONTEXT.md index 029db0a1..f37d2f35 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -1,5 +1,13 @@ # CONTEXT.md — Project Memory +> **2026-10-29 (afternoon, attended) — v0.348.0 RELEASED, the global floor since 14:48 CET (MinAgent 0.158.1).** Image +> `sha256:672fc1c1…` from `2a0a17a` (CI 2515). D64 = B (`09` §3 decision 283): `clear_hold` is the fifth verb of the closed +> operator-action list; any hold reason; the running controller clears memory and `settings.json` together through +> `/ctl/hold.sock` (0600, peer uid checked), and `--clear-restore-hold` goes through it when a controller runs +> (R-1343). R-1340 (both producers name the real cause), R-1341 (OOM line once per kill), R-1342 (no delete during the +> stable-start watch). Proven live on Tester 1 on the release build: a crash-loop hold cleared from the hub stayed +> cleared after the next settings save. Open: R-1350 (an `app_start_failed` 30 s after a clear), R-1347, R-1348. + > **2026-10-29 (attended release run) — v0.347.0 RELEASED, the global floor (MinAgent 0.158.1).** Image `sha256:c79b06e6…` > from `fd75c7c` (CI 2491); rc.1 = `e3fce09` on scratch 9202. Carries the night's R-1256 (all four edges, H4 + H5's > failed stop proven live on Tester 1 with a `-tags faultinject` test build — D63), R-1254 controller half, R-528, the diff --git a/REPORT.md b/REPORT.md index 43cfe2df..e79c721c 100644 --- a/REPORT.md +++ b/REPORT.md @@ -1,50 +1,40 @@ -# REPORT — v0.347.0 released as the global floor; D62 built and proven; R-1256's last two branches proven live (2026-10-29, attended) +# REPORT — v0.348.0 released as the global floor: „Clear hold" from the hub (2026-10-29, attended) -**Plain words first.** The controller 0.347.0 is the floor for every box since 10:31 CET. It carries the night's restore -edges, the escrow wait, the host's OOM count and the 404 fix, plus D62: a restore copy nobody needs stays 30 days, and the -household sees it in the kept-copies list and can delete it with „Törlés most". D63 held: the two restore branches that -had only tests were proven live on Tester 1, so nothing was reverted. +**Plain words first.** The controller 0.348.0 is the floor for every box since 14:48 CET. The operator can now clear any +held app from the hub (D64 = B); the running controller clears it and saves at once, so a later save cannot bring it +back (R-1343). The box command (`--clear-restore-hold`) goes through the running controller too. The held-app mail names +the real cause (R-1340), the OOM line is logged once per kill (R-1341), and a restore copy cannot be deleted during the +30-minute stable-start watch (R-1342). ## Commits -| Commit | CI (run id / #) | What | +| Commit | CI (job id) | What | |---|---|---| -| `e3fce09` | 2486 / #537 green | **D62** — `restoreCopyUnusedAge` 30 days; `backup.RestoreCopies` / `DeleteRestoreCopy` (check + removal under `m.mu`, path guard); the list rows and the typed-name form (`POST /backup/restore-copy/delete`, JSON 200/400/404/409/500); `restore_copy_deleted` event. **D63** — `faultPoint` (test builds only, `-tags faultinject`). Tests `TestD62_*`, `TestD63_*`, each seen failing by a mutation. | -| `fd75c7c` | 2491 / #538 green | the v0.347.0 CHANGELOG heading — the release build's commit. | +| `652a690` | 2500 green | R-1342 (from the morning, first released now). | +| `5b3b541` | 2508 green | `clear_hold` in the closed operator-action list; the socket `/ctl/hold.sock` (0600 in a 0700 folder, peer uid checked); `ClearHoldByOperator` also drops a waiting put-back from the app-stop marker; R-1340 hold mail from the hold record; R-1341 OOM line once per kill. Tests red first. | +| `6077ac0` | 2509 green | R-1343 fallback: with no controller running, the box command's own edit goes through the same clear door. Test red first. | +| `99fac06` | 2514 green | R-1340 second producer: `RestoreHold.Why()` builds the restore_mixed text from the record (found live on rc.1). Test red first. | +| `2a0a17a` | 2515 green | v0.348.0 CHANGELOG heading — the release build's commit. MinAgent 0.158.1. | ## Release -- rc.1 (`e3fce09`, digest `b6640c0a…`) on scratch 9202: walk green. -- 0.347.0 (`sha256:c79b06e6…`, from `fd75c7c`): per-box floors for Tester 1, demo-hp, demo-felhom at 09:57 CET — all three - moved within a minute; walk green on all three (controller healthy, every container up, 0 refusals, 0 errors, login and - file manager 200, https-only OK); one local restore on Tester 1 (2/2 volumes, the app ran, no hold); the OOM line (one - `app_oom`, one mail); global floor 10:31 CET, MinAgent 0.158.1, read back from the hub page and its log. -- The release image carries no fault switch (`grep -c "FAULT INJECTED"` = 0; 2 on the test image). +- rc.1 (`5b3b541`+) and rc.2 (`2a0a17a`, `sha256:1d96f60c…`) on 9202; the walk green on rc.2 (6 containers, 0 errors, + login and file manager 200; the hold socket present). +- 0.348.0 from a clean clone of `2a0a17a`: `sha256:672fc1c1deaaf1cbeecfc2c5b04da731b076a9194f4ce7ed9678339fcd4548bf`. +- Per-box floors 14:41 CET (Tester 1, demo-hp, demo-felhom; MinAgent 0.158.1): all three on 0.348.0 within 25 s; the + walk green on all three (no unhealthy container, 0 refusals, 0 ERROR lines, login and file manager 200, the socket + 0600) and `https_only_check.py` green. +- Global floor 14:48 CET on the operator's yes (303 `floor_set`; the hub page and the hub log read 0.348.0 / 0.158.1). -## Live proofs (Tester 1; felhom.eu `documentation/audits/d63-2026-10-29/`) +## Live proofs (Tester 1) -- **H4** (test build): the snapshot held 3.8.1, the app ran the true 3.8.0; the fault failed the definition write after - the compose was written; „the live definition is written back before the start", then the start; the app ran 3.8.0, no - hold, both seeded events read back. -- **H5's failed stop** (test build): a busy volume was not written into; the put-back's stop failed; nothing was put back, - the copy stayed, the app was held with the D20 sentence; the held copy's „Törlés most" was off with its reason. -- **D62** (test build, then the release build with hub 0.175.0): the copy listed with its date and „automatikusan - törlődik"; a wrong name 400; the right name 200; gone; the hub stored `restore_copy_deleted`. +- **Clear from the hub, crash-loop hold (rc.1):** pressed 13:44 CET; gone on the box and on the hub; still gone after the + next settings save (14:00:45). No false `app_start_failed` after the clear in 18 minutes (F2: NOT-A-FINDING). +- **Clear from the hub, restore_mixed hold (fault test build):** the page showed the data warning; cleared; the copy kept. +- **R-1340:** the mixed-hold mail names a local restore, the failed put-back stop and the kept copy; no „database". +- **R-1341:** one WARN line over 4 scans; one `app_oom` event. +- **R-1342 (rc.1):** the list says „checking", the button is off, a delete gets 409; removing the app ended the watch + with no alarm. +- **On the release builds:** see the felhom.eu report `REPORT-release-2026-10-29b.md` (one restart, one clear). -## Teardown - -Tester 1: throwaway Radicale and Gokapi removed through the product; the 21 empty anonymous volumes this session's backup -presses left (R-1267's PrivateBin class) removed by name — 268 volumes, as before; controller 0.347.0 (the release). -**Radicale's restore hold record stays — clearing it is the operator's.** Scratch 9202: controller 0.347.0 (from rc.1), -359 volumes as before. Hub: nothing provisioned. - -## Rows - -Filed: felhom.eu R-1340 (the mixed-hold operator mail tells the option-C story for any cause), R-1341 (the OOM WARN every -30 s). Closed by this release: R-1256, R-528 (with the agent). - -## After the release — R-1342 (fixed on main `652a690`, NOT released) - -At 10:39 CET Tester 1 mailed the operator a false „Gokapi did not start … the copy is kept": the D62 live test had deleted -the copy during the 30-minute stable-start watch and then removed the app. Now the watched copy reads „checking" and is not -deletable, and a removal ends the watch quietly. Tests red first; rides the next controller release. +Evidence: felhom.eu `documentation/audits/release-2026-10-29b/` (`p3-clear-hold/`, `release-controller-0.348.0/`, `final/`).