From 1cfb1244d63582025e302fb6be9d41076afb95ad Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Tue, 29 Sep 2026 17:19:37 +0200 Subject: [PATCH] REPORT: v0.282.0 Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS --- REPORT.md | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/REPORT.md b/REPORT.md index e588574..1766802 100644 --- a/REPORT.md +++ b/REPORT.md @@ -1,17 +1,15 @@ -# REPORT — v0.281.0: "Done" asks the app first; sign-up closed after the first admin (decision 47); R-713 (2026-09-29 afternoon) +# REPORT — v0.282.0: the app's own sign-up switch (after_setup); "close sign-up now" (decision 49); probes read lists and a done status (R-715) (2026-09-29 evening) -Architecture: `felhom.eu/documentation/architecture/09-update-architecture.md` §3 decisions 46–47, `01-topology-and-trust.md` -§5. Evidence: `felhom.eu/documentation/audits/gate-rollout-2026-09-29/`. Session report: -`felhom.eu/REPORT-gate-rollout-2026-09-29.md`. +Architecture: `felhom.eu/documentation/architecture/09-update-architecture.md` §3 decisions 47–49; `01-topology-and-trust.md` +§5. Evidence: `felhom.eu/documentation/audits/signup-lock-2026-09-29/`. Session report: +`felhom.eu/REPORT-signup-lock-2026-09-29.md`. -- **The press asks the probe first** (409 while "not done" or unreadable); an app without a probe confirms in the page. - Live: zipline pressed before its setup → 409. -- **Sign-up block** (`signup_block:`), written when the gate opens and BEFORE the gate comes down (a failed write keeps - the gate closed); answered by `/__felhom_gate/signup-closed`; the household's 15-minute window. Live on 9202: 11 apps - refused a stranger with the block; the window let a family member in and closed again. Never on an app this box did - not gate (Part 0; read on both demo boxes after the catalog push). -- **R-713:** code-bound `after_install` values refused; `${NAME|base64}`. Live: claper with `"` and `#{`. -- Tests: `TestSetupGateButton_*`, `TestSignupBlock_*`, `TestSignupClosed_*`, `TestSetupGatePage_ConfirmAndSignupCard`, - `TestR713_*`; full suite, vet and controller gates green; parity fixtures regenerated for the changed button only. - Red-proofs RP17–RP24, each seen failing on an assertion (RP22 re-run after its first mutation did not compile). -- Delivered: floor 0.281.0; both demo boxes run it. MinAgent 0.131.0 (unchanged). +- `after_setup:` — env merged into app.yaml + one `compose up -d` (or a command, argv-safe) when the gate opens or on the + press; an installed compose that does not read the variable is reported, never recorded as locked; one run per app; + retries at most every 30 min; the household's window lifts it, the loop restores it. Live on 9 apps (9202). +- `POST /apps//close-signup` — offered once on an installed app with a template lock and no lock record; writes the + record (`opened_by: close-signup`), the block, then the switch; never a gate. Live on the demo boxes and on wanderer. +- Probes: list indexes in `field`; `done_status:`. Live: ghost, home-assistant, gramps-web opened by themselves. +- Tests `TestAfterSetup_*`, `TestCloseSignup_*`, `TestCloseSignupPage_*`, `TestProbe_ListIndexesAndADoneStatus`; full + suite, vet and gates green. Red-proofs RP25–RP30, each seen failing on an assertion. +- Floor 0.282.0; both demo boxes run it. MinAgent 0.131.0 (unchanged).