diff options
Diffstat (limited to 'docs/superpowers/specs')
| -rw-r--r-- | docs/superpowers/specs/2026-10-19-sb-builder-phase2-design.md | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/docs/superpowers/specs/2026-10-19-sb-builder-phase2-design.md b/docs/superpowers/specs/2026-10-19-sb-builder-phase2-design.md index 66fb2c1..21a041f 100644 --- a/docs/superpowers/specs/2026-10-19-sb-builder-phase2-design.md +++ b/docs/superpowers/specs/2026-10-19-sb-builder-phase2-design.md @@ -149,8 +149,14 @@ fields, not an error. `gpg-preset-passphrase --forget` per keygrip and returns `{"error": "bad passphrase"}`. The passphrase is never put on a command line, in the environment, in a log or on disk. -- To verify in planning: whether a preset passphrase expires with the cache - TTLs or lasts until the agent restarts. The GUI checks state before every +- Found 2026-10-20: the preset passphrase is lost when gpg-agent exits, and + it exits when root's last login session ends. elogind then removes + `/run/user/0` (root does not linger), where the agent's sockets live; the + agent notices its socket is gone and terminates. The GUI's ssh + ControlMaster keeps a session open while sb-builder runs, so the key stays + unlocked as long as the GUI does, and locks about 10 minutes after it + quits (ControlPersist). Accepted as is; `loginctl enable-linger root` + would keep the agent across sessions. The GUI checks state before every real run either way. ### Version |
