feat(aterm)!: make the launch sound opt-in #1425
No reviewers
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1425
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/zc49-sound-optin"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kai wants the sound off.
--silentandATERM_SILENTbecome--soundand
ATERM_SOUND, and a window is quiet unless one of them asks.Why a default rather than an env var
ATERM_SILENT=1in a shell profile would have covered a typedatermand nothing else. The generated
.appwrapper harvests exactlyPATHfrom a login shell (
bundle_contents.go), and a Finder launch carriesnone of the caller's environment, so every Dock and Spotlight launch would
have kept chiming. Two ways in, and only a default reaches both.
Not a removal
The samples still ship,
just aterm-soundsstill renders them, and thetimbre still travels on the session card, so
--soundis a full restorerather than a rebuild. The contract test still asserts every timbre has a
sample. What changed is which way the switch points.
One test refactor this forced
soundWantedtook stdout and the opt-in together, and the suite runs offa terminal, so the positive case was unassertable through it: the old test
read as proving
--silentwon when a pipe would have returned falseanyway. The opt-in splits into
soundAsked, which is testable anywhere,and
soundWantedstays the terminal gate over it. Both are now covered inboth directions rather than one of them passing for the wrong reason.
Verification
go test ./...green,just aterm-contractgreen.pre-commit run --all-filesgreen.--dry-run --json: the default plan carries no--sound, and--soundputs it in the session argv.Co-authored-by: Kai Siren coilysiren@gmail.com
Co-authored-by: Claude noreply@anthropic.com
Agent-Role: frontend