v0.282.0: after_setup (the app's own sign-up switch), close sign-up now (decision 49), probes read lists + done_status (R-715)
gates / gates (push) Successful in 27s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-29 16:19:12 +02:00
parent 6fc3059167
commit 4110da50e9
25 changed files with 1864 additions and 36 deletions
+5
View File
@@ -1940,6 +1940,11 @@ that folder is never a dead end, and an install never runs into it silently (R-6
controller's refusal page / 403 JSON), then the gate comes down. The app page's sign-up card shows
`app_info.add_people` and „Regisztráció megnyitása 15 percre" (`POST /apps/<slug>/signup-window`, 15 min; the loop
restores the block). Never on an app this box did not gate. Code: `internal/stacks/signup_block.go`.
- **`after_setup:` + "close sign-up now" (v0.282.0, decisions 47/49)** — the app's own sign-up switch (`env:` merged
into app.yaml + one `compose up -d`, or a command) set when the gate opens, after the block. The window lifts and the
loop re-applies it. `POST /apps/<slug>/close-signup` for an app installed before the rule: lock record
(`opened_by: close-signup`), block, switch; never a gate. Code: `internal/stacks/after_setup.go`.
- **Probes (v0.282.0, R-715)** — `field` may index lists; `done_status:` treats one non-200 status as done.
- **R-713 (v0.281.0).** `after_install` refuses a code-bound value holding a quote, backslash, `$`, `{`, `}`, backtick
or line break; `${NAME|base64}` passes any value safely.
- **R-709 (v0.280.0).** An installed app's `type: password` value is not in its settings page; the eye fetches it.