{ "desc": "ci_cache_selfheal.ps1: a healthy conda.bat exits 0 and is left untouched", "details": { "dirStillExists": true, "exitCode": 0 }, "id": "self.ci.cache_selfheal.healthy", "lane": "real", "pass": true } { "desc": "ci_cache_selfheal.ps1: a corrupted conda.bat on a restore-keys prefix match self-heals (stale dir deleted)", "details": { "dirRemoved": true, "exitCode": 2 }, "id": "self.ci.cache_selfheal.prefix_healed", "lane": "real", "pass": true } { "desc": "ci_cache_selfheal.ps1: a corrupted conda.bat on an EXACT key hit cannot self-heal; directory is left in place (documented, accepted gap)", "details": { "dirStillExists": true, "exitCode": 1 }, "id": "self.ci.cache_selfheal.exact_hit_corrupted", "lane": "real", "pass": true } { "desc": "ci_cache_selfheal.ps1: a locked file prevents full directory removal; self-heal correctly reports failure (exit 3) instead of silently proceeding", "details": { "dirStillExists": true, "exitCode": 3 }, "id": "self.ci.cache_selfheal.prefix_heal_failed", "lane": "real", "pass": true } { "desc": "ci_cache_selfheal.ps1: no conda.bat restored at all is treated as a genuine cache miss (exit 0, no-op)", "details": { "dirStillExists": true, "exitCode": 0 }, "id": "self.ci.cache_selfheal.no_binary", "lane": "real", "pass": true } { "desc": "aggregate_selftest_verdicts.ps1: all 8 expected lanes present exactly once (one via artifact-directory-name fallback, no lane field in its own JSON), none failing -> has_failures false", "details": { "exitCode": 0 }, "id": "self.ci.aggregate_selftest_verdicts.healthy", "lane": "real", "pass": true } { "desc": "aggregate_selftest_verdicts.ps1: a genuine per-lane has_failures:true is still detected (regression guard for the pre-existing behavior)", "details": { "exitCode": 1 }, "id": "self.ci.aggregate_selftest_verdicts.lane_failed", "lane": "real", "pass": true } { "desc": "aggregate_selftest_verdicts.ps1: a single missing lane (7 of 8 present) is detected and named in the report -- the ORIGINAL inline logic could not see this at all", "details": { "exitCode": 1 }, "id": "self.ci.aggregate_selftest_verdicts.missing_lane", "lane": "real", "pass": true } { "desc": "aggregate_selftest_verdicts.ps1: an unexpected lane not in the matrix mode list is detected and named in the report", "details": { "exitCode": 1 }, "id": "self.ci.aggregate_selftest_verdicts.unexpected_lane", "lane": "real", "pass": true } { "desc": "aggregate_selftest_verdicts.ps1: a lane whose verdict was uploaded twice is detected and named in the report", "details": { "exitCode": 1 }, "id": "self.ci.aggregate_selftest_verdicts.duplicate_lane", "lane": "real", "pass": true } { "desc": "aggregate_selftest_verdicts.ps1: zero verdict files with FallbackResult=success still reports has_failures true (all expected lanes missing), independent of the fallback result", "details": { "exitCode": 1 }, "id": "self.ci.aggregate_selftest_verdicts.empty_fallback", "lane": "real", "pass": true } { "desc": "aggregate_selftest_verdicts.ps1: a lane whose verdict file is not valid JSON is treated as a failure, not silently skipped", "details": { "exitCode": 1 }, "id": "self.ci.aggregate_selftest_verdicts.malformed_json", "lane": "real", "pass": true } { "desc": "aggregate_selftest_verdicts.ps1: a lane whose record has no has_failures field is treated as a failure, not silently skipped", "details": { "exitCode": 1 }, "id": "self.ci.aggregate_selftest_verdicts.missing_field", "lane": "real", "pass": true } { "desc": "harness init", "id": "self.harness.started", "pass": true } { "desc": "state=no_python_files", "details": { "exitCode": 0, "path": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~selftest_empty\\~bootstrap.status.json", "pyFiles": 0, "state": "no_python_files" }, "id": "self.bootstrap.state", "pass": true } { "desc": "Empty repo emits the no-python console lines", "details": { "logExists": true, "missing": [] }, "id": "self.empty_repo.msg", "pass": true } { "desc": "Empty-repo bootstrap does not emit spurious requirement-install warnings", "details": { "checked": [ "Some requirements may have failed to install", "Could not generate requirements.txt" ] }, "id": "self.empty_repo.no_spurious_warn", "pass": true } { "desc": "Single entry file detected", "details": { "chosen": "entry1.py", "exitCode": 0, "expected": "entry1.py", "helperCommand": "\"python\" \"D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~entry_sel1\\~find_entry.py\"" }, "id": "self.entry.entry1", "pass": true, "req": "REQ-002" } { "desc": "main.py beats app.py", "details": { "chosen": "main.py", "exitCode": 0, "expected": "main.py", "helperCommand": "\"python\" \"D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~entryA\\~find_entry.py\"" }, "id": "self.entry.entryA", "pass": true, "req": "REQ-002" } { "desc": "app.py preferred over generic modules", "details": { "chosen": "app.py", "exitCode": 0, "expected": "app.py", "helperCommand": "\"python\" \"D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~entryB\\~find_entry.py\"" }, "id": "self.entry.entryB", "pass": true, "req": "REQ-002" } { "desc": "cli.py preferred over generic modules (REQ-002)", "details": { "chosen": "cli.py", "exitCode": 0, "expected": "cli.py", "helperCommand": "\"python\" \"D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~entry_cli\\~find_entry.py\"" }, "id": "self.entry.entryC", "pass": true, "req": "REQ-002" } { "desc": "run.py preferred over cli.py (REQ-002)", "details": { "chosen": "run.py", "exitCode": 0, "expected": "run.py", "helperCommand": "\"python\" \"D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~entry_run\\~find_entry.py\"" }, "id": "self.entry.entryD", "pass": true, "req": "REQ-002" } { "desc": "Helper invocation rows are absent in NDJSON output", "details": { "count": 0 }, "id": "self.entry.helper.invoke.absent", "pass": true, "req": "REQ-002" } { "desc": "Entry scenarios emitted breadcrumbs and passed", "details": { "issues": [] }, "id": "self.entry.results", "pass": true, "req": "REQ-002" } { "desc": "REQ-011: cross-dir file argument must abort bootstrap (early pre-flight rejection)", "details": { "exitCode": 1, "req011InLog": true }, "id": "self.entry.req011.crossdir", "lane": "real", "pass": true, "req": "REQ-011" } { "desc": "REQ-011: same-dir file argument must succeed (early check passes, bootstrap continues)", "details": { "entryInLog": true, "exitCode": 0, "req011InLog": false }, "id": "self.entry.req011.sameDir", "lane": "real", "pass": true, "req": "REQ-011" } { "desc": "REQ-010: PYTHONPATH is cleared before Python subprocesses run", "details": { "exitCode": 0, "pythonpathCleared": true }, "id": "self.isolation.req010.pythonpath", "lane": "real", "pass": true, "req": "REQ-010" } { "desc": "die-emit-fallthrough ci_skip_entry: redundant call :die cascade avoided via goto", "details": { "bootstrapExit": 0, "cascadeMsgFound": false, "dieMsgFound": true, "hookFired": true, "log": "~die_emit_ci_skip_entry_bootstrap.log", "scenario": "ci_skip_entry", "statusState": "ok" }, "id": "self.die_emit_fallthrough", "lane": "real", "pass": true, "req": "CLAUDE.md-Item-46-BucketA" } { "desc": "Leading-hyphen folder name sanitized to a conda-safe env name (no leading hyphen)", "details": { "exitCode": 0, "expectedName": "_hyphen-start", "log": "~envname_bootstrap.log", "sawBadPattern": false, "sawExpected": true }, "id": "self.envname.hyphen", "lane": "real", "pass": true, "req": "REQ-004" } { "desc": "'&' special-cased to 'and' before the blanket sanitizer runs (readability, CLAUDE.md Item 26)", "details": { "exitCode": 0, "expectedName": "Sales_and_Marketing", "log": "~envname_bootstrap.log", "sawBadPattern": false, "sawExpected": true }, "id": "self.envname.ampersand", "lane": "real", "pass": true, "req": "REQ-004" } { "desc": "Over-64-char, ampersand-heavy folder name exercises the post-substitution truncation bound (CLAUDE.md Item 26)", "details": { "exitCode": 0, "expectedName": "A_and_A_and_A_and_A_and_A_and_A_and_A_and_A_and_A_and_A_and_A_an", "log": "~envname_bootstrap.log", "loggedNameLen": 64, "sawBadPattern": false, "sawExpected": true, "sawTruncationBound": true }, "id": "self.envname.longname", "lane": "real", "pass": true, "req": "REQ-004" } { "desc": "run_setup.bat (self-contained deliverable) stays under the 20 MB email-distribution limit", "details": { "limitBytes": 20971520, "sizeBytes": 519561, "sizeKiB": 507.4 }, "id": "self.size.tripwire", "lane": "real", "pass": true, "req": "REQ-017" } { "desc": "Miniconda bootstrap + environment creation", "details": { "command": "cmd /c .\\run_setup.bat (envsmoke bootstrap)", "errorSignalPass": true, "exitCode": 0, "expectedEnvUsed": true, "explicitErrorLine": "", "explicitErrorPresent": false, "hasEntryExit": true, "hasEntryRun": true, "hasPyInstaller": true, "interpreterDetected": true, "interpreterPath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke\\.uv_env\\Scripts\\python.exe", "unexpectedSystemErrorIgnored": "drive-specified-nonfatal", "unexpectedSystemErrorLine": "The system cannot find the drive specified.", "unexpectedSystemErrorPresent": false }, "id": "self.env.smoke.conda", "pass": true, "req": "REQ-003" } { "desc": "uv env creation and dependency install", "details": { "bootstrapPass": true, "interpreterPath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke\\.uv_env\\Scripts\\python.exe", "isUvMode": true, "state": "acquired-used", "uvAcquired": true }, "id": "self.env.smoke.uv", "pass": true, "req": "REQ-003" } { "desc": "uv venv uses a uv-managed CPython, not an ambient/system Python", "details": { "basePath": "C:\\Users\\runneradmin\\AppData\\Roaming\\uv\\python\\cpython-3.14-windows-x86_64-none", "interpreterPath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke\\.uv_env\\Scripts\\python.exe", "looksManaged": true, "managedRoot": "C:\\Users\\runneradmin\\AppData\\Roaming\\uv\\python", "underManagedRoot": true }, "id": "self.uv.managed.interpreter", "pass": true, "req": "REQ-004" } { "desc": "Prime directive: batch file bootstraps Python environment from scratch", "details": { "command": "cmd /c .\\run_setup.bat (envsmoke bootstrap)", "errorSignalPass": true, "exitCode": 0, "expectedEnvUsed": true, "explicitErrorLine": "", "explicitErrorPresent": false, "hasEntryExit": true, "hasEntryRun": true, "hasPyInstaller": true, "interpreterDetected": true, "interpreterPath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke\\.uv_env\\Scripts\\python.exe", "unexpectedSystemErrorIgnored": "drive-specified-nonfatal", "unexpectedSystemErrorLine": "The system cannot find the drive specified.", "unexpectedSystemErrorPresent": false }, "id": "self.prime.bootstrap", "pass": true, "req": "REQ-001" } { "desc": "App runs in created environment", "details": { "command": "cmd /c .\\run_setup.bat (envsmoke bootstrap)", "exitCode": 0, "haveRunOut": true, "tokenFound": true }, "id": "self.env.smoke.run", "pass": true, "req": "REQ-003" } { "desc": "Prime directive: app runs successfully after bootstrap", "details": { "exitCode": 0, "tokenFound": true }, "id": "self.prime.run", "pass": true, "req": "REQ-001" } { "desc": "PyInstaller produced standalone EXE", "details": { "exePath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke\\dist\\\\_envsmoke.exe", "exists": true }, "id": "self.exe.build", "pass": true, "req": "REQ-003" } { "desc": "Prime directive: bootstrapper produces standalone EXE", "details": { "exePath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke\\dist\\\\_envsmoke.exe", "exists": true }, "id": "self.prime.exe.build", "pass": true, "req": "REQ-001" } { "desc": "Standalone EXE runs successfully", "details": { "exitCode": 0, "tokenFound": true }, "id": "self.exe.run", "pass": true, "req": "REQ-003" } { "desc": "Prime directive: standalone EXE runs end-to-end", "details": { "exitCode": 0, "tokenFound": true }, "id": "self.prime.exe.run", "pass": true, "req": "REQ-001" } { "desc": "Second run reuses existing EXE via fast path", "details": { "exitCode": 0, "fastPathDetected": true }, "id": "self.fastpath", "pass": true, "req": "REQ-003" } { "desc": "Prime directive bootstrap succeeds from deep directory path containing spaces", "details": { "exeExists": true, "exitCode": 0, "expectedEnvUsed": true, "hasEntryExit": true, "hasEntryRun": true, "hasPyInstaller": true, "interpreterDetected": true, "interpreterPath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke path space\\level one\\level two\\test space path\\.uv_env\\Scripts\\python.exe", "noPathErrors": true, "tokenFound": true, "workspace": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke path space\\level one\\level two\\test space path" }, "id": "self.prime.spaced-path", "pass": true, "req": "REQ-001" } { "desc": "Entry script discovery/execution succeeds from deep directory path containing spaces", "details": { "expectedEnvUsed": true, "hasEntryExit": true, "hasEntryRun": true, "hasPyInstaller": true, "interpreterDetected": true, "interpreterPath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke path space\\level one\\level two\\test space path\\.uv_env\\Scripts\\python.exe", "tokenFound": true, "workspace": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke path space\\level one\\level two\\test space path" }, "id": "self.entry.spaced-path", "pass": true, "req": "REQ-002" } { "desc": "Miniconda availability diagnostic (raw fact only; see diag.conda.available.gate for the enforced judgment)", "details": { "available": false }, "id": "diag.conda.available", "lane": "real", "pass": true } { "desc": "Miniconda availability gate (enforced judgment; conda-full only)", "details": { "reason": "not-conda-full", "skip": true }, "id": "diag.conda.available.gate", "lane": "real", "pass": true } { "desc": "six>=1.16 translates to conda >= syntax", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "expected": "six >=1.16", "found": false, "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true, "specifier": "six>=1.16" }, "id": "reqspec.translate.gte", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "colorama==0.4.6 translates to conda == syntax", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "expected": "colorama ==0.4.6", "found": false, "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true, "specifier": "colorama==0.4.6" }, "id": "reqspec.translate.eq", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "packaging~=24.0 translates to conda compatible range", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "expected": "packaging >=24.0,<25", "found": false, "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true, "specifier": "packaging~=24.0" }, "id": "reqspec.translate.compat", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "attrs>22.0 translates to conda > syntax", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "expected": "attrs >22.0", "found": false, "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true, "specifier": "attrs>22.0" }, "id": "reqspec.translate.gt", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "six!=1.15 translates to conda != syntax", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "expected": "six !=1.15", "found": false, "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true, "specifier": "six!=1.15" }, "id": "reqspec.translate.neq", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "attrs<=23.0 translates to conda <= syntax", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "expected": "attrs <=23.0", "found": false, "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true, "specifier": "attrs<=23.0" }, "id": "reqspec.translate.lte", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "conda dry-run accepts translated requirement specifiers", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "exitCode": -1, "packages": [ "six>=1.16", "colorama==0.4.6", "packaging~=24.0", "attrs>22.0", "six!=1.15", "attrs<=23.0" ], "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true }, "id": "reqspec.conda.dryrun", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "conda dry-run uses --override-channels -c conda-forge", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "exitCode": -1, "packages": [ "six>=1.16", "colorama==0.4.6", "packaging~=24.0", "attrs>22.0", "six!=1.15", "attrs<=23.0" ], "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true }, "id": "reqspec.conda.dryrun.req006", "lane": "real", "pass": true, "req": "REQ-006" } { "desc": "conda dry-run output includes conda-forge channel pin", "details": { "channel": "conda-forge", "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "defaultsFound": false, "exitCode": -1, "outputMatched": false, "pkgsMainFound": false, "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true, "solverOutputSnippet": "" }, "id": "reqspec.conda.channelpin", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "conda installs use conda-forge exclusively (no defaults channel)", "details": { "channel": "conda-forge", "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "defaultsFound": false, "exitCode": -1, "outputMatched": false, "pkgsMainFound": false, "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true, "solverOutputSnippet": "" }, "id": "reqspec.conda.channelpin.req006", "lane": "real", "pass": true, "req": "REQ-006" } { "desc": "conda dry-run rejects invalid requirement constraints", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "constraint": "six<1.0", "exitCode": -1, "expectedFailure": true, "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true }, "id": "reqspec.conda.dryrun.failcase", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "translated requirement installs into _envsmoke and imports successfully", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "importable": false, "package": "six", "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true }, "id": "reqspec.install.import", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": ">= specifier is preserved in translated conda requirements and remains installable/importable", "details": { "expected": "six >=1.16", "importExitCode": -1, "importable": false, "installExitCode": -1, "preserved": false, "reason": "conda-not-installed-uv-first", "skip": true, "specifier": "six>=1.16" }, "id": "reqspec.gte.explicit", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "existing requirements.txt translates via prep_requirements.py", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true, "source": "requirements.txt", "translated": false }, "id": "reqspec.ingest.translate", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "conda dry-run accepts translated existing requirements.txt", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "exitCode": -1, "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true, "source": "requirements.txt" }, "id": "reqspec.ingest.conda.dryrun", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "existing requirements path installs and imports in _envsmoke", "details": { "condaBatCandidates": [ "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat", "C:\\Miniconda3\\condabin\\conda.bat", "C:\\Miniconda3\\Scripts\\conda.bat", "C:\\ProgramData\\Miniconda3\\condabin\\conda.bat", "C:\\ProgramData\\Miniconda3\\Scripts\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "C:\\Users\\Public\\Documents\\Miniconda3\\Scripts\\conda.bat" ], "exitCode": -1, "importable": false, "package": "six", "publicRoot": "C:\\Users\\Public", "reason": "conda-not-installed-uv-first", "skip": true }, "id": "reqspec.ingest.install.import", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "Dep check: first run installs colorama into depcheck env", "details": { "condaInstalled": true, "depSkipOnRun1": false, "exitCode": 0, "lockWritten": true, "log": "~depcheck_bootstrap.log" }, "id": "self.depcheck.install", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "Dep check: second run skips conda install (deps unchanged)", "details": { "depSkipDetected": true, "exitCode": 0, "log": "~depcheck_rebuild.log", "phrase": "Dep-check: all pipreqs packages satisfied in lock; skipping conda install." }, "id": "self.depcheck.skip", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "PyInstaller warn file had missing modules; conda install ran", "details": { "exitCode": 0, "log": "~warnfix_bootstrap.log", "repairFailuresDetected": false, "scenario": "pass", "warnInstallFired": true, "warnRebuildFired": true }, "id": "self.exe.warnfix.install", "lane": "real", "pass": true, "req": "REQ-007" } { "desc": "EXE succeeded after warn-driven rebuild; no infra errors", "details": { "exeExists": true, "exeExit": 0, "exePath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~selftest_warnfix\\dist\\_selftest_warnfix.exe", "exitCode": 0, "infraError": false, "moduleError": false, "scenario": "pass", "tokenFound": true }, "id": "self.exe.warnfix.pass", "lane": "real", "pass": true, "req": "REQ-007" } { "desc": "EXE failed with module error after warnfix could not fix missing module", "details": { "exeExists": true, "exeExit": 1, "exePath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~selftest_warnfix_xfail\\dist\\_selftest_warnfix_xfail.exe", "exitCode": 0, "infraError": false, "moduleError": true, "repairFailuresDetected": true, "scenario": "xfail", "tokenFound": false, "warnInstallFired": true, "warnRebuildFired": true }, "id": "self.exe.warnfix.xfail", "lane": "real", "pass": true, "req": "REQ-007" } { "desc": "warnfix unresolved-after-rebuild marks a cascade candidate (detect-only slice)", "details": { "cascadeDetected": true, "repairFailuresDetected": true, "scenario": "xfail", "warnInstallFired": true }, "id": "self.cascade.detect", "lane": "real", "pass": true, "req": "REQ-009" } { "desc": "cascade consent gate decline path keeps build; no cascade executes under HP_TEST_CASCADE_ANSWER=N", "details": { "cascadeDetected": true, "cascadeExecuted": false, "cascadeKept": true, "consentDeclined": true, "scenario": "xfail" }, "id": "self.cascade.consent", "lane": "real", "pass": true, "req": "REQ-009" } { "desc": "Heuristic pre-installed openpyxl via pandas heuristic; EXE succeeded", "details": { "exeExists": true, "exeExit": 0, "exePath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~selftest_warnfix_real\\dist\\_selftest_warnfix_real.exe", "exitCode": 0, "heuristicFired": true, "infraError": false, "scenario": "real", "tokenFound": true, "warnInstallFired": true }, "id": "self.exe.warnfix.real", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "Warnfix installed xlrd (not heuristic-covered); EXE succeeded", "details": { "exeExists": true, "exeExit": 0, "exePath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~selftest_warnfix_real_warnfix\\dist\\_selftest_warnfix_real_warnfix.exe", "exitCode": 0, "infraError": false, "scenario": "real_warnfix", "tokenFound": true, "warnInstallFired": true, "warnRebuildFired": true }, "id": "self.exe.warnfix.real_warnfix", "lane": "real", "pass": true, "req": "REQ-007" } { "desc": "Warnfix processed delayed xlrd import; installed xlrd; EXE succeeded", "details": { "exeExists": true, "exeExit": 0, "exePath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~selftest_warnfix_real_warnfix_delayed\\dist\\_selftest_warnfix_real_warnfix_delayed.exe", "exitCode": 0, "infraError": false, "scenario": "real_warnfix_delayed", "tokenFound": true, "warnInstallFired": true, "warnRebuildFired": true }, "id": "self.exe.warnfix.real_warnfix_delayed", "lane": "real", "pass": true, "req": "REQ-007" } { "desc": "Pre-build --collect-submodules double-gate emitted plotly flag (used+installed); EXE built and ran", "details": { "collectLineFired": true, "collectPlotly": true, "exeExists": true, "exeExit": 0, "exePath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~selftest_collect\\dist\\_selftest_collect.exe", "exitCode": 0, "infraError": false, "tokenFound": true }, "id": "self.collect.submodules", "lane": "real", "pass": true, "req": "REQ-005" } { "desc": "EXE failed on a dynamically-imported installed module; strict --hidden-import recovery rebuilt and verified it (paired with --collect-submodules, CLAUDE.md Item 28)", "details": { "addingFired": true, "collectLogged": true, "collectPaired": true, "exeExists": true, "exeExit": 0, "exePath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~selftest_hidden_import\\dist\\_selftest_hidden_import.exe", "exitCode": 0, "infraError": false, "recoveredFired": true, "tokenFound": true }, "id": "self.exe.hidden_import", "lane": "real", "pass": true, "req": "REQ-016" } { "desc": "Strict --hidden-import recovery exhausts after 3 attempts when the app never actually succeeds", "details": { "addingCount": 3, "bootstrapExit": 0, "exhaustedFired": true, "infraError": false, "log": "~hidden_exhaust_bootstrap.log", "recoveredFired": false, "statusState": "ok" }, "id": "self.exe.hidden_import.exhaust", "lane": "real", "pass": true, "req": "REQ-016" } { "desc": "EXE smokerun XFAIL: bad import causes non-zero exit (expected failure)", "details": { "bootstrapExit": 0, "log": "~exefail_bootstrap.log", "smokerunFired": true, "smokerunPassed": false, "xfailPass": true }, "id": "self.exe.smokerun.xfail", "lane": "real", "pass": true, "req": "REQ-003" } { "desc": "PyInstaller build XFAIL (execfail): build failure correctly reported, not masked as success", "details": { "bootstrapExit": 0, "expectedMsgFound": true, "expectedReasonFound": true, "log": "~pyi_fail_execfail_bootstrap.log", "noExeBriefingFound": true, "scenario": "execfail", "statusState": "error", "testHookFired": true, "xfailPass": true }, "id": "self.exe.build.xfail", "lane": "real", "pass": true, "req": "REQ-003" } { "desc": "PyInstaller build XFAIL (output_vanish): build failure correctly reported, not masked as success", "details": { "bootstrapExit": 0, "expectedMsgFound": true, "expectedReasonFound": true, "log": "~pyi_fail_output_vanish_bootstrap.log", "noExeBriefingFound": true, "scenario": "output_vanish", "statusState": "error", "testHookFired": true, "xfailPass": true }, "id": "self.exe.build.xfail", "lane": "real", "pass": true, "req": "REQ-003" } { "desc": "PyInstaller build XFAIL (execfail_runtimefail): build failure correctly reported, not masked as success", "details": { "bootstrapExit": 0, "expectedMsgFound": true, "expectedReasonFound": true, "log": "~pyi_fail_execfail_runtimefail_bootstrap.log", "noExeBriefingFound": true, "scenario": "execfail_runtimefail", "statusState": "error", "testHookFired": true, "xfailPass": true }, "id": "self.exe.build.xfail", "lane": "real", "pass": true, "req": "REQ-003" } { "desc": "REQ-021 pre-flight: SyntaxError reported clearly and run stops gracefully before the build", "details": { "bootstrapExit": 0, "log": "~preflight_bootstrap.log", "noExe": true, "noPyiCrash": true, "req021Fired": true, "statusState": "error", "syntaxDetail": true }, "id": "self.preflight.syntax", "lane": "real", "pass": true, "req": "REQ-021" } { "desc": "Preflight self-check branch: HP_TEST_FORCE_NO_POWERSHELL", "details": { "allSubstringsFound": true, "bootstrapExit": 1, "exitMatches": true, "expectedExit": 1, "log": "~lineending_bootstrap.log", "statusExitCode": 1, "statusMatches": true, "statusState": "error" }, "id": "self.preflight.no_powershell", "lane": "real", "pass": true, "req": "CLAUDE.md-Item-44" } { "desc": "Preflight self-check branch: HP_TEST_FORCE_PS_CHECK_FAIL", "details": { "allSubstringsFound": true, "bootstrapExit": 2, "exitMatches": true, "expectedExit": 2, "log": "~lineending_bootstrap.log", "statusExitCode": 2, "statusMatches": true, "statusState": "error" }, "id": "self.preflight.ps_check_fail", "lane": "real", "pass": true, "req": "CLAUDE.md-Item-44" } { "desc": "Preflight self-check branch: HP_TEST_FORCE_LF_ONLY", "details": { "allSubstringsFound": true, "bootstrapExit": 1, "exitMatches": true, "expectedExit": 1, "log": "~lineending_bootstrap.log", "statusExitCode": 1, "statusMatches": true, "statusState": "error" }, "id": "self.preflight.lf_only", "lane": "real", "pass": true, "req": "CLAUDE.md-Item-44" } { "desc": "Preflight self-check branch: HP_TEST_FORCE_CWD_NOT_WRITABLE", "details": { "allSubstringsFound": true, "bootstrapExit": 1, "exitMatches": true, "expectedExit": 1, "log": "~lineending_bootstrap.log", "statusExitCode": 1, "statusMatches": true, "statusState": "error" }, "id": "self.preflight.cwd_not_writable", "lane": "real", "pass": true, "req": "CLAUDE.md-Item-48" } { "desc": "Preflight self-check branch: HP_TEST_FORCE_PS_CAPABILITY_FAIL", "details": { "allSubstringsFound": true, "bootstrapExit": 1, "exitMatches": true, "expectedExit": 1, "log": "~lineending_bootstrap.log", "statusExitCode": 1, "statusMatches": true, "statusState": "error" }, "id": "self.preflight.ps_capability_fail", "lane": "real", "pass": true, "req": "CLAUDE.md-Item-47" } { "desc": "EXE CWD consistency: a CWD-relative-path app succeeds identically on a fresh build (:run_exe_smokerun) and on the cached-EXE fast path (:try_fast_exe)", "details": { "consistencyPass": true, "run1DataSeen": true, "run1Exit": 0, "run1Log": "~exe_cwd_consistency_run1.log", "run1SmokerunFired": true, "run1SmokerunPassed": true, "run2DataSeen": true, "run2Exit": 0, "run2FastpathFired": true, "run2Log": "~exe_cwd_consistency_run2.log", "run2StatusSuccess": true }, "id": "self.exe.smokerun.cwd_consistency", "lane": "real", "pass": true, "req": "REQ-018" } { "desc": "EXE smokerun XFAIL: missing data file (name coincidentally contains _MEI+digits) causes non-zero exit (expected failure); hint text stays honest, not misled by the substring", "details": { "bootstrapExit": 0, "hintCorrect": true, "honestHintFired": true, "log": "~exedata_bootstrap_mei_substring.log", "misleadingHintAbsent": true, "scenario": "mei_substring", "smokerunFired": true, "smokerunPassed": false, "xfailPass": true }, "id": "self.exe.smokerun.exedata.xfail", "lane": "real", "pass": true, "req": "REQ-003" } { "desc": "EXE smokerun XFAIL: missing data file under a genuine _MEIxxxxxx extraction path causes non-zero exit (expected failure); --add-data advice correctly still fires for this case", "details": { "addDataHintFired": true, "bootstrapExit": 0, "genuineMeiPathSeen": true, "hintCorrect": true, "honestHintAbsent": true, "log": "~exedata_bootstrap_mei_genuine.log", "scenario": "mei_genuine", "smokerunFired": true, "smokerunPassed": false, "xfailPass": true }, "id": "self.exe.smokerun.exedata.xfail", "lane": "real", "pass": true, "req": "REQ-003" } { "desc": "EXE smokerun XFAIL: dynamic import not bundled causes non-zero exit (expected failure)", "details": { "bootstrapExit": 0, "log": "~exedyn_bootstrap.log", "recoveryDeclined": true, "smokerunFired": true, "smokerunPassed": false, "xfailPass": true }, "id": "self.exe.smokerun.exedyn.xfail", "lane": "real", "pass": true, "req": "REQ-003" } { "desc": "Reused fast-path EXE that fails is discarded and rebuilt; bootstrap stays graceful", "details": { "fastPathFellBack": true, "hardExited": false, "run1Exit": 0, "run2Exit": 0, "run2Log": "~exefastpath_run2.log" }, "id": "self.exe.fastpath.graceful", "lane": "real", "pass": true, "req": "REQ-007" } { "desc": "Fail-fast probe: a cached EXE that fails within the probe window is still discarded and rebuilt", "details": { "discardedAndRebuilt": true, "launchedInteractive": true, "noAliveMsg": true, "run1Exit": 0, "run2Exit": 0, "run2Log": "~ff_run2.log" }, "id": "self.failfast.probe.fastfail", "lane": "real", "pass": true, "req": "REQ-018" } { "desc": "Fail-fast probe: a cached EXE still running past the probe window is never discarded, even if it later exits non-zero; the bootstrap reports the true outcome and stays state=ok", "details": { "aliveMsgLogged": true, "ambiguousNoteFound": true, "bootstrapState": "ok", "exeStillPresent": true, "launchedInteractive": true, "notDiscarded": true, "run1Exit": 0, "run2Exit": 0, "run2Log": "~al_run2.log", "statusFailedLogged": true }, "id": "self.failfast.probe.alive", "lane": "real", "pass": true, "req": "REQ-018" } { "desc": "Post-execution checkpoint: HP_TEST_CHECKPOINT_ANSWER=Y accepts and runs the entry a second time via the interpreter", "details": { "accepted": true, "exitCode": 0, "log": "~checkpoint_accept.log", "promptShown": true, "runCount": 2 }, "id": "self.checkpoint.accept", "lane": "real", "pass": true, "req": "REQ-018" } { "desc": "Post-execution checkpoint: default/HP_CI_LANE auto-decline keeps the run footprint at exactly one execution", "details": { "declined": true, "exitCode": 0, "log": "~checkpoint_decline.log", "notAccepted": true, "promptShown": true, "runCount": 1 }, "id": "self.checkpoint.decline", "lane": "real", "pass": true, "req": "REQ-018" } { "desc": "parse_warn TRANSLATIONS table: all import->conda mappings resolve correctly", "details": { "failures": [], "tested": 20 }, "id": "self.parse_warn.table", "lane": "real", "pass": true, "req": "REQ-007" } { "desc": "parse_warn TRANSLATIONS table: all import->conda mappings resolve correctly (PyInstaller 6.x format)", "details": { "failures": [], "tested": 20 }, "id": "self.parse_warn.table.v6", "lane": "real", "pass": true, "req": "REQ-007" } { "desc": "parse_warn pytest: test_parse_warn.py all tests pass", "details": { "exit": 0, "summary": "OK" }, "id": "self.parse_warn.pytest", "lane": "real", "pass": true } { "desc": "heuristics unittest: test_heuristics.py all tests pass", "details": { "exit": 0, "summary": "OK" }, "id": "self.heuristics.pytest", "lane": "real", "pass": true } { "desc": "Python unit tests: pytest cross-platform suite", "details": { "exit": 0, "summary": "================== 579 passed, 2 skipped in 67.48s (0:01:07) ==================" }, "id": "self.pytest.unit", "lane": "real", "pass": true } { "desc": "runtime.txt written with resolved python version and log line emitted", "details": { "bootstrapExit": 0, "logContainsWriteback": true, "noTrailingSpace": true, "runtimeContent": "python-3.14.7", "runtimeExists": true, "runtimeValid": true, "secondRunContent": "python-3.14.7", "secondRunExitCode": 0, "secondRunMatches": true, "secondRunNoWriteback": true }, "id": "self.runtime.writeback", "lane": "real", "pass": true, "req": "REQ-004" } { "desc": "pyvisa import detected and logged by bootstrapper", "details": { "detectFound": true, "exitCode": 0 }, "id": "pyvisa.detect", "lane": "real", "pass": true, "req": "REQ-008" } { "desc": "NI-VISA branch taken when pyvisa import detected (requires [VISA] terminal signal)", "details": { "exitCode": 0, "nisaFound": true }, "id": "pyvisa.nivisa.branch", "lane": "real", "pass": true, "req": "REQ-008" } { "desc": "NI-VISA terminal signal present ([VISA] present / install_success / skipped / install_failed)", "details": { "exitCode": 0, "outcomeFound": true }, "id": "pyvisa.nivisa.outcome", "lane": "real", "pass": true, "req": "REQ-008" } { "desc": "NI-VISA install path emits a classifiable diagnostic (installer exit code or download/skip reason)", "details": { "downloadVia": "curl", "exitCode": 0, "installerRc": "-125202", "installerSize": "6769400", "peCheck": "PE_OK", "reasonFound": true }, "id": "pyvisa.nivisa.reason", "lane": "real", "pass": true, "req": "REQ-008" } { "desc": "HP_SKIP_NIVISA=1 skips NI-VISA install even when pyvisa import detected", "details": { "detected": true, "exitCode": 0, "noInstallAttempt": true, "skippedDisabled": true }, "id": "pyvisa.nivisa.disabled", "lane": "real", "pass": true, "req": "REQ-008" } { "desc": "HP_DETECT_PY reads pyproject.toml requires-python when runtime.txt absent", "details": { "reason": "conda-not-installed-uv-first", "skip": true }, "id": "pyproject.precedence.detect", "lane": "real", "pass": true, "req": "REQ-004" } { "desc": "runtime.txt written after bootstrap when pyproject.toml present and runtime.txt absent", "details": { "exitCode": 0, "logContains": true, "runtimeExists": true, "runtimeVersion": "python-3.14.7", "versionSatisfied": true }, "id": "pyproject.precedence.writeback", "lane": "real", "pass": true, "req": "REQ-004" } { "desc": "HP_PYPROJ_DEPS helper parses pyproject.toml [project].dependencies and writes deps", "details": { "reason": "conda-not-installed-uv-first", "skip": true }, "id": "pyproject.dep.detect", "lane": "real", "pass": true, "req": "REQ-004" } { "desc": "HP_PYPROJ_DEPS exits 1 (no deps) when pyproject.toml has no [project] section", "details": { "reason": "conda-not-installed-uv-first", "skip": true }, "id": "pyproject.dep.noproj", "lane": "real", "pass": true, "req": "REQ-005.1" } { "desc": "Standard ignores signature appended to .gitignore", "details": { "run1Exit": 0, "sigFound": true }, "id": "self.ux.gitignore.merge", "lane": "real", "pass": true, "req": "REQ-015" } { "desc": "Pre-existing .gitignore content preserved after merge", "details": { "nodeModulesFound": true }, "id": "self.ux.gitignore.preserve", "lane": "real", "pass": true, "req": "REQ-015" } { "desc": "Standard ignores signature appears exactly once after two runs", "details": { "sigCount": 1 }, "id": "self.ux.gitignore.idem", "lane": "real", "pass": true, "req": "REQ-015" } { "desc": "Standard attributes signature appended to .gitattributes", "details": { "batTextFound": true, "cmdTextFound": true, "sigFound": true }, "id": "self.ux.gitattributes.merge", "lane": "real", "pass": true, "req": "REQ-015" } { "desc": "Attributes signature appears exactly once after two runs", "details": { "sigCount": 1 }, "id": "self.ux.gitattributes.idem", "lane": "real", "pass": true, "req": "REQ-015" } { "desc": "Pre-existing eol=crlf rule migrated to -text; other content untouched", "details": { "batStaleFound": false, "batTextFound": true, "cmdStaleFound": false, "cmdTextFound": true, "otherPreserved": true }, "id": "self.ux.gitattributes.migrate", "lane": "real", "pass": true, "req": "REQ-015" } { "desc": "Post-flight briefing: log line plus panel (EXE + keep + delete + RUNNING YOUR APP + Command Prompt + stdout buffering)", "details": { "cmdPromptFound": true, "deleteSectionFound": true, "exeSectionFound": true, "keepSectionFound": true, "logLineFound": true, "runAppSectionFound": true, "stdBufferingFound": true }, "id": "self.ux.postflight", "lane": "real", "pass": true, "req": "REQ-016" } { "desc": "Connectivity guard: N response triggers offline mode", "details": { "offlineLogFound": true, "promptFound": true }, "id": "self.ux.connectivity.offline.n", "lane": "real", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: exact prompt string appears in output", "details": { "promptFound": true }, "id": "self.ux.connectivity.prompt.shown", "lane": "real", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: offline mode skips uv download (or uv legitimately bypassed)", "details": { "condaOnlySkip": false, "forcedFailSkip": false, "offlineLogFound": true }, "id": "self.ux.connectivity.offline.uv.skip", "lane": "real", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: offline mode skips Miniconda download (or pre-installed)", "details": { "downloadAttempted": false, "offlineLogFound": true }, "id": "self.ux.connectivity.offline.conda.skip", "lane": "real", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: reachable network cascades to fallback (internet reachable branch)", "details": { "reachableLogFound": true }, "id": "self.ux.connectivity.online", "lane": "real", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: Y answer re-prompts while still offline, then N exits offline", "details": { "declineAfterRetry": true, "retryBranchFired": true }, "id": "self.ux.connectivity.retry", "lane": "real", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: HP_TEST_CNDF_ANSWER=N resolves via the explicit-decline path, not the empty-input fallback", "details": { "declineLogFound": true, "emptyLogFound": false, "promptFound": true }, "id": "self.ux.connectivity.override", "lane": "real", "pass": true, "req": "REQ-013" } { "desc": "System Python consent gate: N response declines", "details": { "declineLogFound": true, "promptFound": true }, "id": "self.ux.system.gate.n", "lane": "real", "pass": true, "req": "REQ-014" } { "desc": "System Python consent gate: exact prompt string appears in output", "details": { "promptFound": true }, "id": "self.ux.system.gate.prompt", "lane": "real", "pass": true, "req": "REQ-014" } { "desc": "System Python consent gate: default (no-flag) fallback chain reaches consent gate; decline keeps build", "details": { "abortLogFound": true, "declineLogFound": true, "promptFound": true }, "id": "self.ux.system.gate.real", "lane": "real", "pass": true, "req": "REQ-014" } { "desc": "System Python consent ACCEPT routes into Tier 4 system provider in a default no-flag run (REQ-009 provider independence)", "details": { "consentAcceptLog": true, "exitCode": 0, "state": "degraded_env", "systemSelected": true }, "id": "self.ux.system.gate.accept", "lane": "real", "pass": true, "req": "REQ-014" } { "desc": "REQ-009 Tier 3: venv fallback fires when conda fails and app bootstraps via .venv", "details": { "appRan": true, "exit": 0, "providerLogFound": true, "venvReadyLog": true }, "id": "self.venv.fallback", "lane": "real", "pass": true, "req": "REQ-009" } { "desc": "REQ-023: venv canary probe correctly declines a created-but-broken venv instead of selecting it", "details": { "canaryWarnFound": true, "exit": 0, "venvNotSelected": true }, "id": "self.venv.canary_fail", "lane": "real", "pass": true, "req": "REQ-023" } { "desc": "REQ-023b: venv fallback retries with --without-pip and bootstraps pip via get-pip.py when plain venv creation fails", "details": { "appRan": true, "exit": 0, "pipBootstrapOk": true, "providerLogFound": true, "retryWarnFound": true }, "id": "self.venv.nopip_retry", "lane": "real", "pass": true, "req": "REQ-023b" } { "desc": "REQ-009 Tier 5 (reordered): embed fallback is attempted right after conda fails (before venv/system), and a forced embed failure reaches :die once venv/system also fail (bootstrap.status.json reports state=error); also covers item 14: total exhaustion reports the real no-interpreter cause, not a fabricated syntax error, and skips the doomed build", "details": { "attemptedLog": true, "embedIdx": 1055, "exitCode": 0, "forcedLog": true, "honestMsg": true, "noBuildAttempt": true, "noFakeSyntaxErr": true, "orderedLog": true, "processExit": 0, "state": "error", "venvIdx": 1238 }, "id": "self.embed.fallback.decline", "lane": "real", "pass": true, "req": "REQ-009" } { "desc": "REQ-009 Tier 5 (reordered): real embed download/extract/patch/get-pip/canary/build/run succeeds end-to-end right after conda fails, short-circuiting before venv is ever attempted", "details": { "appRan": true, "exit": 0, "extractedLog": true, "providerLogFound": true, "readyLog": true, "venvAbsent": true }, "id": "self.embed.fallback.real", "lane": "real", "pass": true, "req": "REQ-009" } { "desc": "REQ-009 Tier 5: first download attempt deterministically fails (no network touched), second (real) attempt succeeds end-to-end", "details": { "appRan": true, "exit": 0, "extracted": true, "hookFired": true, "ready": true, "warnFired": true }, "id": "self.embed.dl.retry", "lane": "real", "pass": true, "req": "REQ-009" } { "desc": "REQ-002 priority 0: co-located %1 override is chosen and run over main.py", "details": { "dragMsgFound": true, "entrySelected": true, "exit": 0, "notMain": true, "ranOverride": true }, "id": "self.entry.override", "lane": "real", "pass": true, "req": "REQ-002" } { "desc": "REQ-007: system-Python EXE build is consent-gated; decline skips the build with a logged reason and no EXE", "details": { "declineLog": true, "noExe": true, "promptShown": true, "skipLog": true }, "id": "self.sysbuild.decline", "lane": "real", "pass": true, "req": "REQ-007" }