From 26d7799fe90e621994503231ac917336f99b6145 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 21 Oct 2026 10:12:29 +0200 Subject: sbb-remote 0.10.0: config-get/config-set; GUI watches its config Keystone's settings pages edit both configs. config-get returns the VM config text, the defaults and the path; config-set validates new text with the same check() as load_config, keeps .bak and replaces the file atomically. Both run before load_config, so a broken config can still be read and fixed. The GUI reloads its config when the file changes, re-adding the watch after an atomic write replaces the inode. Co-Authored-By: Claude Opus 5.5 --- AGENTS.md | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'AGENTS.md') diff --git a/AGENTS.md b/AGENTS.md index 155b496..f1d9048 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -33,6 +33,12 @@ plans are working files, kept out of git (`.superpowers/`). `gpg-preset-passphrase`. Every other subprocess in the helper runs with `stdin=DEVNULL`, so nothing can read the passphrase off the ssh channel. Never put the passphrase in argv, env, logs or files. +- Second exception: `config-get` / `config-set` (Keystone's settings page) + run before `load_config`, so a broken helper config stays fixable; + `config-set` reads the new text from stdin, validates it with `check()` + (the same rules as `load_config`), keeps `.bak` and replaces atomically. + The config names paths and scripts the helper runs: the ssh login is root + already, so this grants nothing new. - Hints are parsed (`shlex`), never sourced. `sb_builder/hints.py` mirrors slackrepo's own rules (`libexec/functions.d/parsefunctions.sh` in [slackrepo](https://github.com/aclemons/slackrepo)); check that file when changing it. -- cgit v1.2.3