Trigger
ADR-0025 deferred a terminal interface until the guided setup planner shipped and the maintainer recorded that the interface had become the adoption bottleneck. The planner shipped in src#221. Its manual plan and phased apply commands are safe and reviewable, but using them directly requires knowledge of installer paths, plan artifacts, hashes, migration rules, and partial-failure handling. That is now the main obstacle to the intended guided onboarding flow.
This issue records the ADR-0025 trigger and owns the next bounded milestone.
Scope
- Add versioned, machine-readable directory artifacts to
public/sh/setup.sh:
- bounded read-only
describe --output DIR discovery;
- documented operations and warnings in
zi-setup-plan-v1;
apply --result DIR result artifacts with stable error codes and exit statuses.
- Keep the planner as the only authority for path resolution, generated Zsh, file changes, preconditions, application, and receipts.
- Build a local Go and Bubble Tea v2 pilot for
Discover -> Choose -> Review -> Apply -> Result after the engine contract is tested.
- Offer
loader and annex as the only selectable profiles. Keep zunit solely for compatibility when migrating existing installer output.
- Validate the flow in disposable homes, including reopen with no content changes, drift refusal, symlink refusal, partial failure, plain mode, and an 80x24 terminal.
Boundaries
- No arbitrary plugin marketplace, prompt replacement, other-manager removal, package or font installation,
chsh, daemon, or current-shell mutation.
- Unknown Zsh integrations remain untouched and receive patch or remediation guidance.
- Normal shell startup does not execute or depend on the TUI.
- Repository creation, release publication, and distribution bootstrap remain separately authorized work.
Acceptance
- Engine artifacts have explicit version identifiers, atomic publication, compatibility tests, and no decision-making dependency on human-readable output.
- TUI and plain modes pass the same arguments and approve the same plan hash for identical inputs.
- Apply always binds to the reviewed plan hash and reports checkout and files phases separately.
- Existing
sh tests/installers.sh checks remain green on supported CI platforms.
References
Trigger
ADR-0025 deferred a terminal interface until the guided setup planner shipped and the maintainer recorded that the interface had become the adoption bottleneck. The planner shipped in src#221. Its manual
planand phasedapplycommands are safe and reviewable, but using them directly requires knowledge of installer paths, plan artifacts, hashes, migration rules, and partial-failure handling. That is now the main obstacle to the intended guided onboarding flow.This issue records the ADR-0025 trigger and owns the next bounded milestone.
Scope
public/sh/setup.sh:describe --output DIRdiscovery;zi-setup-plan-v1;apply --result DIRresult artifacts with stable error codes and exit statuses.Discover -> Choose -> Review -> Apply -> Resultafter the engine contract is tested.loaderandannexas the only selectable profiles. Keepzunitsolely for compatibility when migrating existing installer output.Boundaries
chsh, daemon, or current-shell mutation.Acceptance
sh tests/installers.shchecks remain green on supported CI platforms.References