Repository navigation
Guided setup planner: implementation contract deferred from ADR-0025 review #208
Copy link
Copy link
Closed
Description
Summary
ADR-0025 (z-shell/.github#633, source issue z-shell/.github#632) decides that guided Zi setup ships first as a headless plan and apply pair in this repository. Its review surfaced implementation-contract questions that belong to the planner's design, not to the decision record. This issue owns them; the ADR stays at decision level.
Contract items from the ADR review
- Startup block paths. Every
sourcein the generated.zshrcblock is prefixed with the resolved configuration-home variable (source "$ZI_LOADER_CONFIG_HOME/setup/pre.zsh" && source "$ZI_LOADER_CONFIG_HOME/init.zsh" && zzinit, thensetup/shell.zshthe same way). Test startup from a working directory that is not the configuration home. - Legacy value extraction. Migrating
ZI_HOMEandZI_BIN_DIR_NAMEout of a legacy.zshrcblock uses non-evaluating extraction and data-safe single-quoted Zsh serialization, like the-bref; refuse migration when either value cannot be decoded unambiguously. - Checkout phase transaction. Record the expected checkout
HEADand ref in the plan, validate all checkout and file preconditions before any mutation, and lock both the configuration home and the checkout root; or make the checkout update a separately authorized phase with its own validation and lock. - Instruction routing. When the planner paths exist, add an implementation-facing route for them to
.github/instruction-surfaces.jsonin z-shell/.github so implementation work receives ADR-0025 without broadening the**decision route to all shell work. Part of the implementation pull request's impact review. - Symlinked
.zshrc. A temp-file rename over a symlink replaces the link. Define handling explicitly: resolve and validate the link target throughapply, or refuse and emit the patch without replacing the link. - Migration matrix. Cover every current installer profile: absorb the exact
-a annexand-a zunitrecipe blocks (the install.sh: the .zshrc probe matches comments, and the annex block is re-appended on every rerun #205 duplication case) intosetup/shell.zsh; for the loader block, which does not encodeZI_HOMEorZI_BIN_DIR_NAME, discover the checkout path with conflict checks or refuse ambiguous installs with a supported remediation.
Related
- Defects this planner fixes on its path: install.sh: update path resets and cleans the zi checkout without confirmation, stricter than zi self-update #203, install.sh: annex profiles run an interactive zsh mid-install, executing the user's .zshenv and .zshrc #204, install.sh: the .zshrc probe matches comments, and the annex block is re-appended on every rerun #205
- Missing review skill on
main: main has no code-review skill; the only copy is on the unmerged fix/codex-compatibility branch #207
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
- StatusShow more project fieldsDone
Activity
feat(skills): add the zi-install skill for AI coding agents
feat(skills): add the zi-install skill for AI coding agents
feat(skills): add the zi-install skill for AI coding agents
feat(skills): add the zi-install skill for AI coding agents
feat(skills): add the zi-install skill for AI coding agents
feat(skills): add the zi-install skill for AI coding agents
ss-o commentedon Sep 20, 2026
Implemented by #221. Follow-up TUI and versioned engine-interface work is tracked in #222.