REPORT + CONTEXT: v0.349.0 the global floor; busy file, household line, R-1350 proven live
gates / gates (push) Successful in 31s

This commit is contained in:
admin committed 2026-10-29 20:24:36 +01:00
1 parent 94049a7200
commit a90b62323f
2 files changed
+34 -28

No files matched your search

+7
View File
@@ -1,5 +1,12 @@
# CONTEXT.md — Project Memory
> **2026-10-29 (evening, attended) — v0.349.0 RELEASED, the global floor since 19:24 CET (MinAgent 0.158.1).** Image
> `sha256:c5341883…` from `94049a7`. D65 = A: `internal/busymark` keeps `<data>/ctl/busy` fresh while the controller's
> own work runs (the agent refuses „Reboot guest" meanwhile); the dashboard shows „A Felhom ügyfélszolgálata HH:MM-kor
> újraindította a dobozt." for a day after an operator reboot (`GET /guest/operator-reboot`, asked once at start).
> R-1350: the operator's hold clear records the stop as wanted (desired state „stopped") before the hold is lifted —
> proven on Tester 1, no `app_start_failed` in 6.5 minutes. 30-minute watch clean; per-box floors cleared.
> **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
+27 -28
View File
@@ -1,40 +1,39 @@
# REPORT — v0.348.0 released as the global floor: „Clear hold" from the hub (2026-10-29, attended)
# REPORT — v0.349.0 released as the global floor: the busy file and the household line for „Reboot guest" (D65 = A); no alarm after a hold clear (R-1350) (2026-10-29 evening, attended)
**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).
**Plain words first.** The controller 0.349.0 is the floor for every box since 19:24 CET. While it runs a backup, a
restore, an off-site run, the night catch-up, an app update or an app export/import, it keeps a small „busy" file fresh,
and the agent refuses the operator's „Reboot guest" until it ends. After an operator reboot the dashboard says „A Felhom
ügyfélszolgálata HH:MM-kor újraindította a dobozt." for a day. When the operator clears a hold and the app stays
stopped, no „Telepített alkalmazás nem fut" follows any more (R-1350).
## Commits
| Commit | CI (job id) | What |
|---|---|---|
| `652a690` | 2500 green | R-1342 (from the morning, first released now). |
| `5b3b541` | 2508 green | `clear_hold` in the closed operator-action list; the socket `<data>/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. |
| `b69e90b` | 2521 green | `internal/busymark` (the busy file, 15 s, removed when idle and at start) wired with five probes; `agentapi.OperatorReboot` + `web.WatchOperatorReboot` + the dashboard line (HU/EN, `dashboard.operator_reboot`; the idle dashboard byte-identical); R-1350: `stacks.Manager.RecordStopWantedIfDown` run through `AppStopGuard.ClearHoldByOperatorThen` once the hold is found and before it is lifted. Tests red first (R-1350: build failure, then the mutants); 17 mutants killed (two first-run mutants did not compile and were re-made). |
| `94049a7` | 2526 green | v0.349.0 CHANGELOG heading — the release build's commit. MinAgent 0.158.1. |
## Release
- 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).
- rc.1 (`b69e90b`, `sha256:3bd08409…`) on 9202 (demo-hp): walk green (6 containers, 0 errors, login and file manager 200);
on Tester 1 for the live proofs.
- 0.349.0 from the clean pushed tree at `94049a7`: `sha256:c5341883cd58410ea631fc0c76262d0902a731a24c1096df551e7d35df1ea877`.
- Per-box floors 19:21 CET (Tester 1, demo-hp, demo-felhom; MinAgent 0.158.1): all three on 0.349.0 within 45 s; the
walk green on all three (0 unhealthy, 0 refusals, 0 ERROR lines, login and file manager 200, the socket 0600) and
`https_only_check.py` green.
- Global floor 19:24:23 CET on the operator's yes (303 `floor_set`; the hub log and the configuration page read
0.349.0 / 0.158.1).
## Live proofs (Tester 1)
## Live proofs (Tester 1, rc.1)
- **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).
- **The busy file:** an off-site run pressed from the hub → `busy` 11 s later („a backup, a restore or an off-site run is
running"); the run ended 18:04:38 UTC, the file was gone at 18:04:47; the agent refused the reboot meanwhile.
- **The household line:** after the operator reboot the dashboard (logged in, `box_walk`) read „A Felhom
ügyfélszolgálata 19:05-kor újraindította a dobozt." (ASCII control `jraind` present, and the page title).
- **R-1350:** a throwaway Gokapi in a crash loop → held 18:09:57 UTC → cleared from the hub → „desired state for gokapi
recorded as "stopped" (was "running")" → still gone after the next settings save → **no `app_start_failed` in 6.5
minutes** (before the fix: 30 s after the clear). Positive control: the dead-app scan at 18:17:27 UTC read „20 scans
since boot, 4 deployed app(s) evaluated, 0 currently down". Gokapi then removed through the product (no container, no
app.yaml, no volume).
Evidence: felhom.eu `documentation/audits/release-2026-10-29b/` (`p3-clear-hold/`, `release-controller-0.348.0/`, `final/`).
Evidence: felhom.eu `documentation/audits/release-2026-10-29c/` (`p1-reboot/`, `p3-r1350/`, `release-controller-0.349.0/`).