Add Python preflight prompt to install.ps1; remove premature git-alias self-test - #220
Open
J-MaFf wants to merge 2 commits into
Open
Add Python preflight prompt to install.ps1; remove premature git-alias self-test#220J-MaFf wants to merge 2 commits into
J-MaFf wants to merge 2 commits into
Conversation
…t-alias self-test
install.ps1 now checks for a working Python interpreter (via the existing
Resolve-Python) right after admin elevation and before any file is touched.
Python only powers the 'git alias' browser (rich/textual); the core
gitconfig install works without it, so a missing interpreter now surfaces
as one clear warning + a 'Continue anyway? (y/n)' prompt instead of three
scattered warnings deep into the run. -Force auto-continues past the
prompt, consistent with what -Force already means everywhere else in the
script; declining exits 0 before any STEP runs or files are touched.
Also removes Initialize-Symlinks.ps1's STEP 2 'git alias' self-test, which
ran before install.ps1 STEP 6 installs the rich dependency gitconfig_helper.py
hard-requires at import time - it structurally could not pass on a fresh
Python install and always false-warned, even on runs that went on to
succeed (STEP 7 re-runs the identical, correctly-ordered check later in
the same run and is now the sole git-alias verification).
- Modified: scripts/windows version/install.ps1, scripts/windows version/Initialize-Symlinks.ps1
- Dependencies: reuses existing Resolve-Python (Functions.ps1), no new interpreter-probing logic
- Tested: forge generator/evaluator loop (spec: specs/install-python-preflight.md) - all 8
acceptance criteria (C1-C7, C-final) passed round 1, including a manual trace of all four
{-Force present/absent} x {Python found/not found} combinations and a full tests/run-tests.ps1
Pester run showing zero new failures vs a main baseline
Fixes #219
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…t spec - Modified: CHANGELOG.md (add PR link to both bullets), STATUS.md (new Current State entry, 2026-08-26) - Added: specs/archive/install-python-preflight.md (moved from specs/, relative links retargeted one directory deeper, dated completion note naming PR #220 added)
Owner
Author
Self-reviewRe-read the full diff (
No issues found; nothing to fix in a follow-up commit. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #219
Changes
install.ps1now checks for a working Python interpreter (via the existingResolve-Python) right after admin elevation and before any file is touched. Python only powers thegit aliasbrowser (rich/textual) — the core install works fine without it. A missing interpreter now surfaces as one clear[WARN]plus aContinue anyway? (y/n)prompt instead of three scattered warnings deep into the run.-Forceauto-continues past the prompt (consistent with everywhere else-Forceis used); declining exits 0 before any STEP runs or files are touched.Initialize-Symlinks.ps1's STEP 2git aliasself-test. It ran beforeinstall.ps1STEP 6 installs therichdependencygitconfig_helper.pyhard-requires at import time, so it structurally could never pass on a fresh Python install — it always printed[WARN] git alias command failed, even on runs that went on to succeed (STEP 7 re-runs the identical, correctly-ordered check later in the same run and is now the solegit aliasverification).CHANGELOG.md[Unreleased]with both changes.Spec:
specs/install-python-preflight.md(produced via the blueprint skill from a real install-run diagnosis in conversation, then implemented via the forge generator/evaluator loop).Testing
{-Force present/absent} x {Python found/not found}combinations against the spec's R3 and confirmed exact-match behavior (including exit code 0 and zero files touched on decline).tests/run-tests.ps1Pester run: 221 passed / 3 failed / 18 not-run — the 3 failures are pre-existing (tests/gitconfig_helper.Tests.ps1), confirmed identical against amainbaseline. Zero new failures.install.ps1end-to-end on this machine (it requires admin elevation and would touch this machine's real~/.gitconfig); verified via syntax parse + manual trace instead.🤖 Generated with Claude Code