feat(aterm): render --dry-run for a person, and split the exit codes (#1254) #1270
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/devrel
role/eval
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/sysadmin
role/tpm
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!1270
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/mu55-dryrun-exits"
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?
Closes #1254, all three parts including the opportunistic one.
Readable
--dry-runThe swatches are real background blocks and each personality renders in its own
color, which is the first consumer of a field #1251 declared. Below 256 colors the swatch is dropped and only the hex prints: lipgloss degrades#9c8b31to bright red there, which is worse than no swatch when the whole question is whether the brand looks right.--dry-run --jsonThe raw plan is unchanged, just behind the flag #1253 declared.
scripts/check-aos-release.shasks for it, so the existing plan assertions stay exactly as they were.Exit codes
--jsonon a launch, bad working directoryPATHThe code travels on the error, so
fmt.Errorf("open the window: %w", err)keeps it andexitCodeForreads it back through the wrapping._sessionalready exited 2 on a bad argument list and is unchanged.The release check now asserts the codes rather than "non-zero":
The picker on
/dev/ttyThe issue called this opportunistic and asked for it only if the output routing was already open. It was.
Reproduced against the pre-change binary inside a pty, stdout redirected:
interactiveTTYnow falls back to opening/dev/tty, andopenConsolepoints the huh forms at it, so redirecting output no longer disables the picker. On a host with no controlling terminal both fail and the refusal is unchanged.One thing worth flagging separately
docs/is at 40 of 40 files anddocs/aterm.mdis now at 7,964 of 8,000 chars. Fitting this page cost trimming prose I added earlier in this batch, and #1255 through #1258 each want a walkthrough there is no slot for. That is a decision rather than a defect, so it is not fixed here.Verification
just aterm-fmt,just aterm-lint,just aterm-testcleanpre-commit runclean on every touched fileexit_test.go: every code above including the wrapping round trip, plus the human and machine--dry-runforms and the empty-field skip