You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
[2026-11-02] — v2.8.34: seedgo is sentry, Beo is Seed, the settings gate asks on a write
Changed
sentry (was seedgo): the standards citizen is renamed, whole, because the old name could not be said to a speech recognizer. Package aipass.sentry, address @sentry, directory src/aipass/sentry, every branch's .sentry/ bypass dir and .sentryignore, sentry_json/, the CI audit script .github/scripts/sentry_audit.py and its job sentry-audit, the # sentry: no-test-needed(...) markers and the three checkers that parse them, the SENTRY: label on hook auto-fixes, the passport and registry row (registry_id unchanged). History keeps the old name: past CHANGELOG sections, closed plans, memory entries and @memory's archives are not rewritten. drone @seedgo is unknown. Branch protection must name the required check sentry-audit.
devpulse: tools/rename_term.py renames a term across a tree, paths then content, four case pairs, whole-word only, with the memory, archive, plan, lock and registry files excluded; dry run by default, --apply writes.
seed (was beo): the resident project and its manager seat are renamed for the same reason, speakability. projects/seed, package seed.seed (manager @seed) and seed.dean (builder @dean, same name, new path), SEED_REGISTRY.json with both ids kept; the AIPass side follows (.backupignore, the test-write policy's allow list, sentry's audit caches, memory's residency pins). History keeps the old name.
Fixed
ai_mail: dispatch stop ends a monitor on macOS. check_pid_alive reads the process state through ps where there is no /proc (a zombie answers kill(pid, 0) there), and the stop waits up to 2 s for a signalled monitor to leave the process table before calling it alive, since the group reads empty while the monitor is still exiting. The refusal is logged.
hooks: the provider-settings gate no longer asks when a Bash command merely names ~/.claude or ~/.codex in an interpreter's own text (a heredoc's prose). Only a move, delete, overlay or link takes a settings folder whole; a write lands on a file, so the folder itself is never a settings write. A heredoc that opens ~/.codex/config.toml for writing still asks or denies.
drone: the commit gate runs each suite with drone's AIPASS_CALLER_* stamps dropped from the environment (they posed as the session cwd inside hooks', prax's and ai_mail's tests) and passes --force-exclude to ruff, so a staged file that pyproject excludes is never rewritten.