This commit is contained in:
+17
-1
@@ -7,7 +7,23 @@
|
||||
>
|
||||
> Ask Claude Code: "Please update CONTEXT.md with what we did today"
|
||||
|
||||
Last updated: 2026-10-16 (v0.322.0 — burndown 2: the hub key opens no route, Go 1.27.2 on Debian 12.13, Data tab leftovers, dead install-form branches)
|
||||
Last updated: 2026-10-16 (v0.323.0 — Debian 13, restic 0.18.1 pinned outside the OS and re-proven, felhom-samba 1.2.0)
|
||||
|
||||
> **2026-10-16 (evening) — v0.323.0 RELEASED to the three test boxes ONLY (per-box floors); the GLOBAL floor stays
|
||||
> 0.322.0 until each test box has made one real night's off-site backup on 0.323.0** (the brief's rule; the check and
|
||||
> the floor command are in felhom.eu `STATUS.md`). R-1105: runtime `debian:13.7-slim` (digest-pinned), Docker repo
|
||||
> codename from `/etc/os-release`; restic is the official 0.18.1 release binary from a `restic` build stage (signed
|
||||
> `SHA256SUMS` + vendored key in `third_party/restic/`, published sum, pinned per-arch sum). Every restic assumption
|
||||
> re-proven with REAL outputs of 0.14.0 and 0.18.1 (`internal/backup/testdata/restic/`, `TestR1105_*`); the one that
|
||||
> moved is the forget plan — 0.17+ keeps each group's oldest snapshot while monthly slots are unused (only ever keeps
|
||||
> more). Removed packages the binary never runs (postgres/mysql clients, sqlite3, fdisk, e2fsprogs, parted, sshpass).
|
||||
> felhom-samba 1.2.0 (Alpine 3.24.2), and `build-samba-image.sh` refuses a reused tag. Live on demo-hp 9201: both
|
||||
> restore directions byte-identical on the real store; the drill's data came back; the full restore after a reinstall
|
||||
> leaves a DB app unusable (old volume, new password — R-1106, not restic). Open: R-1107 (restic 0.18.1's binary adds
|
||||
> 50 fixable scanner findings; 0.19.1 has 19 — the operator's choice), R-1108 (a share added before the first password
|
||||
> is not exported). **Decision (CC, inside the brief, reversible):** the packages above were removed though the brief
|
||||
> named only the two database clients — none is run by the binary (every exec call read), and the image carries fewer
|
||||
> known holes. Full report: felhom.eu `REPORT-debian13-restic-2026-10-16.md`.
|
||||
|
||||
> **2026-10-16 — v0.322.0 RELEASED by CC; the global floor 0.322.0 / MinAgent 0.158.1.** R-970: `/api/config`,
|
||||
> `/api/config/apply`, `/api/config/hash` are gone; the self-update and geo routes no longer take the box's hub key
|
||||
|
||||
@@ -1,39 +1,39 @@
|
||||
# REPORT — v0.322.0: the hub key opens no route, Go 1.27.2, the Data tab leftovers, the dead install-form branches (2026-10-16)
|
||||
# REPORT — v0.323.0: Debian 13, restic 0.18.1 pinned outside the OS and re-proven, felhom-samba 1.2.0 (2026-10-16)
|
||||
|
||||
Written in ASD-STE100 Simplified Technical English. Task: burndown 2. Full report (the https close-out, the hub, the agent,
|
||||
the scanners, the rows): felhom.eu `REPORT-burndown2-2026-10-16.md`. Design: felhom.eu
|
||||
`architecture/01-topology-and-trust.md` §4 (now records R-970), `09-update-architecture.md` §0. Evidence: felhom.eu
|
||||
`documentation/audits/burndown2-2026-10-16/`.
|
||||
Brief: „the controller on Debian 13 with a pinned restic, re-proven; the Samba image rebuilt". Full report, in plain
|
||||
words: felhom.eu `REPORT-debian13-restic-2026-10-16.md`. Evidence: felhom.eu `documentation/audits/debian13-restic-2026-10-16/`.
|
||||
|
||||
## 1. Plain words first
|
||||
## 1. What changed
|
||||
|
||||
- **The box's hub key opens no route any more.** The routes that read and replaced the box's settings file are gone.
|
||||
The self-update and geo routes take only a logged-in session. Nothing called them with the key.
|
||||
- **New Go (1.27.2) and an updated Debian 12 base.** Scanner counts fell: critical 16 → 4 (none fixable), fixable high
|
||||
64 → 4 (all in Docker's own compose plugin), govulncheck 62 → 1 (a package not linked).
|
||||
- **The runtime stays on Debian 12**, so restic stays 0.14.0. Debian 13 is its own row (R-1105).
|
||||
- **Data tab:** the export password field tells the browser „new password", so it does not fill a saved one. The 2nd
|
||||
copy's status rows are gone; the form is the one place.
|
||||
- **The install form** lost its branches for installed apps; no page served them.
|
||||
- `controller/Dockerfile`: a `restic` stage fetches the official restic 0.18.1 binary and checks the signed `SHA256SUMS`
|
||||
(vendored key, `third_party/restic/`), the published sum and the per-arch sum pinned in the file. Runtime
|
||||
`debian:13.7-slim` (digest); Docker repo codename from `/etc/os-release`. Removed packages the binary never runs:
|
||||
postgres and mysql clients, sqlite3, fdisk, e2fsprogs, parted, sshpass.
|
||||
- `infra-images/samba/Dockerfile`: Alpine 3.24.2 (digest). `SambaImage` → `felhom-samba:1.2.0` (pushed once).
|
||||
`scripts/build-samba-image.sh` refuses a reused tag, an unanswerable registry and a dirty/unpushed tree.
|
||||
- Comments in `internal/backup/offbox_{capture,progress,proof,window}.go` corrected to what was measured on both versions.
|
||||
|
||||
## 2. Commits and images
|
||||
## 2. Tests (each red-proved)
|
||||
|
||||
`8fe46a1` (v0.321.0) → `f037be7` (R-970, Data tab, R-1103) → `fc77fcb` (Go 1.27.2) → `52619e8` (Debian 12.13) →
|
||||
`e9d0d72` (CHANGELOG, `apt-get upgrade`) → this docs commit. Test images `0.322.0-rc.1` (Debian 13), `-rc.2`, `-rc.3`
|
||||
(demo-hp only); release **0.322.0**, MinAgent 0.158.1. Per-box floors for Tester 1, demo-hp, the N100, then the global
|
||||
floor 0.322.0, read back from the hub's page and its database.
|
||||
- `TestR1105_ResticIsPinnedOutsideTheOS` (`cmd/controller`): fails on the old Dockerfile and on four single mutations.
|
||||
- `TestR1105_EachResticFailureKeepsItsClass`, `_InitRaceIsStillSuccess`, `_TheJSONTheCodeReadsStillParses`,
|
||||
`_TheForgetPlanOnlyEverKeepsMore` (`internal/backup`): REAL outputs of 0.14.0 and 0.18.1 in `testdata/restic/`, through
|
||||
the code's own parsers and classifiers. Six mutations, each convicted.
|
||||
- `scripts/test_samba_build_push_once.sh`: 6 cases; 4 fail on the old script.
|
||||
- Full suite green; `controller_gates.py --fast` green.
|
||||
|
||||
## 3. Tests and gates
|
||||
## 3. Live
|
||||
|
||||
Red-proved: `TestR970_HubKeyOpensNoDoor`, `TestR970_ConfigRoutesAreGone`, `TestR970_HubKeyIsNoCSRFExemption`,
|
||||
`TestAppData_OneBackupSection`, `TestR694_TheSettingsTabDoesNotOfferAGeneratedLogin`. Retired with the route:
|
||||
`config_perms_test.go`, the `TestConfigApply_*` tests. Retired with the branches (their rules named in the full report):
|
||||
`TestDeployPage_DeployedApp_DoesNotCarryTheSecret`, `TestR709_AnInstalledAppsPasswordIsNotInThePage`,
|
||||
`TestR694_TheDeployPageDoesNotOfferAGeneratedLogin`, parity cases `deploy_installed`, `deploy_installed_restored`.
|
||||
Green gate rc 0 on Go 1.27.2; `controller_gates.py --fast` all OK. Fixtures: 8 re-captured, 2 removed.
|
||||
demo-hp 9201 on rc.1 (code identical to the release): both restore directions byte-identical on the real store; the
|
||||
off-site run (dumps + push, live progress) ok; the drill's row and file came back from the off-site copy; Samba 1.1.0 →
|
||||
1.2.0 with the same household password, every discovery daemon answering. Released by per-box floors to Tester 1,
|
||||
demo-hp, demo-felhom (19:25 UTC), box walk green. **The global floor waits for each box's first night on 0.323.0.**
|
||||
|
||||
## 4. Observations
|
||||
|
||||
1. Debian 13 would move the off-site engine to restic 0.18.0 with assumptions measured on 0.14.0. FILED: R-1105
|
||||
2. govulncheck names `x/crypto/openpgp` in the binary. NOT-A-FINDING: the program does not link it (`go mod why`); the report is module-level because the binary is stripped.
|
||||
3. The parity case `deploy_new_memory_blocked` set „the current drive is missing" on a not-installed app. NOT-A-FINDING: test data only; the handler never does it, and the re-captured fixture shows what production renders.
|
||||
1. The forget plan of restic 0.17+ keeps each group's oldest snapshot while monthly slots are unused. NOT-A-FINDING: it only ever keeps more; pinned by `TestR1105_TheForgetPlanOnlyEverKeepsMore`, written into felhom.eu `07` §6.8.
|
||||
2. A reinstalled database app restored from the off-site copy is unusable (old volume, new password). FILED: R-1106
|
||||
3. The official restic 0.18.1 binary adds 50 fixable scanner findings. FILED: R-1107
|
||||
4. A share added before the first household password is not exported. FILED: R-1108
|
||||
5. A plain `restic restore` writes a lock on both versions; a comment said it did not. NOT-A-FINDING: comment corrected; the nightly proof uses `--no-lock`.
|
||||
6. `build.sh --push` also pushes `:latest` for an rc tag. NOT-A-FINDING: nothing pulls `:latest`; boxes run a named tag and the update button reads X.Y.Z tags.
|
||||
|
||||
Reference in New Issue
Block a user