{ "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "C:\\Users\\Public\\Documents\\Miniconda3\\envs\\_envsmoke\\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": { "reason": "HP_FORCE_CONDA_ONLY", "skip": true, "state": "force-skip" }, "id": "self.env.smoke.uv", "pass": true, "req": "REQ-003" } { "desc": "uv venv uses a uv-managed CPython, not an ambient/system Python", "details": { "reason": "HP_FORCE_CONDA_ONLY", "skip": 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": "C:\\Users\\Public\\Documents\\Miniconda3\\envs\\_envsmoke\\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": "C:\\Users\\Public\\Documents\\Miniconda3\\envs\\test_space_path\\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": "C:\\Users\\Public\\Documents\\Miniconda3\\envs\\test_space_path\\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": true }, "id": "diag.conda.available", "lane": "conda-full", "pass": true } { "desc": "Miniconda availability gate (enforced judgment; conda-full only)", "details": { "available": "true" }, "id": "diag.conda.available.gate", "lane": "conda-full", "pass": true } { "desc": "six>=1.16 translates to conda >= syntax", "details": { "expected": "six >=1.16", "found": true, "specifier": "six>=1.16" }, "id": "reqspec.translate.gte", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "colorama==0.4.6 translates to conda == syntax", "details": { "expected": "colorama ==0.4.6", "found": true, "specifier": "colorama==0.4.6" }, "id": "reqspec.translate.eq", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "packaging~=24.0 translates to conda compatible range", "details": { "expected": "packaging >=24.0,<25", "found": true, "specifier": "packaging~=24.0" }, "id": "reqspec.translate.compat", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "attrs>22.0 translates to conda > syntax", "details": { "expected": "attrs >22.0", "found": true, "specifier": "attrs>22.0" }, "id": "reqspec.translate.gt", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "six!=1.15 translates to conda != syntax", "details": { "expected": "six !=1.15", "found": true, "specifier": "six!=1.15" }, "id": "reqspec.translate.neq", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "attrs<=23.0 translates to conda <= syntax", "details": { "expected": "attrs <=23.0", "found": true, "specifier": "attrs<=23.0" }, "id": "reqspec.translate.lte", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "conda dry-run accepts translated requirement specifiers", "details": { "condaBat": "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "exitCode": 0, "packages": [ "six>=1.16", "colorama==0.4.6", "packaging~=24.0", "attrs>22.0", "six!=1.15", "attrs<=23.0" ], "solverOutputSnippet": "CI detected...\r\nChannels:\r\n - conda-forge\r\nPlatform: win-64\r\nCollecting package metadata (repodata.json): ...working... done\r\nSolving environment: ...working... done\r\n\r\nDryRunExit: Dry run. Exiting.\r\n" }, "id": "reqspec.conda.dryrun", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "conda dry-run uses --override-channels -c conda-forge", "details": { "condaBat": "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "exitCode": 0, "packages": [ "six>=1.16", "colorama==0.4.6", "packaging~=24.0", "attrs>22.0", "six!=1.15", "attrs<=23.0" ], "solverOutputSnippet": "CI detected...\r\nChannels:\r\n - conda-forge\r\nPlatform: win-64\r\nCollecting package metadata (repodata.json): ...working... done\r\nSolving environment: ...working... done\r\n\r\nDryRunExit: Dry run. Exiting.\r\n" }, "id": "reqspec.conda.dryrun.req006", "lane": "conda-full", "pass": true, "req": "REQ-006" } { "desc": "conda dry-run output includes conda-forge channel pin", "details": { "channel": "conda-forge", "condaBat": "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "defaultsFound": false, "exitCode": 0, "outputMatched": true, "pkgsMainFound": true, "solverOutputSnippet": "CI detected...\r\nChannels:\r\n - conda-forge\r\nPlatform: win-64\r\nCollecting package metadata (repodata.json): ...working... done\r\nSolving environment: ...working... done\r\n\r\nDryRunExit: Dry run. Exiting.\r\n" }, "id": "reqspec.conda.channelpin", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "conda installs use conda-forge exclusively (no defaults channel)", "details": { "channel": "conda-forge", "condaBat": "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "defaultsFound": false, "exitCode": 0, "outputMatched": true, "pkgsMainFound": true, "solverOutputSnippet": "CI detected...\r\nChannels:\r\n - conda-forge\r\nPlatform: win-64\r\nCollecting package metadata (repodata.json): ...working... done\r\nSolving environment: ...working... done\r\n\r\nDryRunExit: Dry run. Exiting.\r\n" }, "id": "reqspec.conda.channelpin.req006", "lane": "conda-full", "pass": true, "req": "REQ-006" } { "desc": "conda dry-run rejects invalid requirement constraints", "details": { "condaBat": "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "constraint": "six<1.0", "exitCode": 1, "expectedFailure": true }, "id": "reqspec.conda.dryrun.failcase", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "translated requirement installs into _envsmoke and imports successfully", "details": { "condaBat": "C:\\Users\\Public\\Documents\\Miniconda3\\condabin\\conda.bat", "environment": "_envsmoke", "importExitCode": 0, "importable": true, "installExitCode": 0, "package": "six" }, "id": "reqspec.install.import", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": ">= specifier is preserved in translated conda requirements and remains installable/importable", "details": { "expected": "six >=1.16", "importExitCode": 0, "importable": true, "installExitCode": 0, "preserved": true, "specifier": "six>=1.16" }, "id": "reqspec.gte.explicit", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "existing requirements.txt translates via prep_requirements.py", "details": { "source": "requirements.txt", "translated": true }, "id": "reqspec.ingest.translate", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "conda dry-run accepts translated existing requirements.txt", "details": { "exitCode": 0, "source": "requirements.txt" }, "id": "reqspec.ingest.conda.dryrun", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "existing requirements path installs and imports in _envsmoke", "details": { "exitCode": 0, "importable": true, "installExitCode": 0, "package": "six" }, "id": "reqspec.ingest.install.import", "lane": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "pass": true, "req": "REQ-018" } { "desc": "HP_SKIP_ENTRY_SMOKE + HP_SKIP_EXE_SMOKERUN: no user code runs, env/build still proceed", "details": { "builtExe": true, "entrySkipped": true, "exeSkipped": true, "exitCode": 0, "log": "~skiphooks_bootstrap.log", "markerWritten": false, "ranEntrySmoke": false, "ranExeSmoke": false }, "id": "self.skiphooks.combined", "lane": "conda-full", "pass": true, "req": "REQ-012" } { "desc": "Timed entry picker shows menu and resolves to the alphabetical default with no console", "details": { "chosenDefault": true, "exitCode": 0, "log": "~entry_picker_bootstrap.log", "menuShown": true, "pickerResolved": true }, "id": "self.entry.picker", "lane": "conda-full", "pass": true, "req": "REQ-002" } { "desc": "More than 9 candidate files skips the numbered menu entirely but still shows Tip guidance, keeping the alphabetical default", "details": { "chosenDefault": true, "exitCode": 0, "limitLogged": true, "log": "~entry_picker_overflow_bootstrap.log", "menuAbsent": true, "tipShown": true }, "id": "self.entry.picker.overflow", "lane": "conda-full", "pass": true, "req": "REQ-002" } { "desc": "Cascade consent gate uses a TIMED choice prompt (not an unbounded set /p); with no answer it defaults to decline within 2s, and the dependency-incomplete note reaches the user", "details": { "consentAccepted": false, "consentDeclined": true, "declineNoteFired": true, "launchNoteFired": true, "log": "~cascade_timed_bootstrap.log", "offersSkipWronglyFired": false, "promptShown": true, "runExit": 0, "statusState": "ok" }, "id": "self.cascade.timed", "lane": "conda-full", "pass": true, "req": "REQ-009" } { "desc": "a genuine first-attempt conda-create failure (all fallback tiers exhausted via HP_FORCE_CONDA_ONLY) never reaches the PyInstaller build/warnfix/repair block, never redundantly retries the exhausted fallback chain a second time (Item 46 Bucket A slice 1), and reports the honest no-interpreter cause", "details": { "honestNoInterpreterMsg": true, "initialAttemptFailed": true, "log": "~entrysmoke_no_interpreter_bootstrap.log", "noBuildAttempt": true, "noFakeSyntaxErr": true, "reachedNewSite": true, "retryAlsoFailed": true, "runExit": 0, "secondHandleCallAvoided": true, "statusExit": 0, "statusState": "error" }, "id": "self.entrysmoke.no_interpreter_guard", "lane": "conda-full", "pass": true, "req": "CLAUDE.md-Item-45" } { "desc": "die-emit-fallthrough missing_python: redundant call :die cascade avoided via goto", "details": { "bootstrapExit": 0, "dieFiredTwice": true, "dieMsgCount": 2, "honestNoInterpreterMsg": true, "log": "~die_emit_missing_python_bootstrap.log", "misleadingMsgFound": false, "noBuildAttempt": true, "scenario": "missing_python", "statusState": "error" }, "id": "self.die_emit_fallthrough", "lane": "conda-full", "pass": true, "req": "CLAUDE.md-Item-46-BucketA" } { "desc": "die-emit-fallthrough condarc: redundant call :die cascade avoided via goto", "details": { "bootstrapExit": 0, "cascadeMsgFound": false, "dieMsgFound": true, "hookFired": true, "log": "~die_emit_condarc_bootstrap.log", "misleadingMsgFound": false, "scenario": "condarc", "statusState": "error" }, "id": "self.die_emit_fallthrough", "lane": "conda-full", "pass": true, "req": "CLAUDE.md-Item-46-BucketA" } { "desc": "die-emit-fallthrough determine_entry: redundant call :die cascade avoided via goto", "details": { "bootstrapExit": 0, "bothSitesReached": true, "depPhaseSkipped": true, "dieMsgCount": 2, "log": "~die_emit_determine_entry_bootstrap.log", "scenario": "determine_entry", "statusState": "error" }, "id": "self.die_emit_fallthrough", "lane": "conda-full", "pass": true, "req": "CLAUDE.md-Item-46-BucketA" } { "desc": "prep_requirements translates pandas and openpyxl", "details": { "file": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~pandas_excel\\~reqs_conda.txt", "openpyxlFound": true, "pandasFound": true }, "id": "pandas_excel.translate", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "conda installs translated pandas/openpyxl requirements", "details": { "environment": "_envsmoke", "exitCode": 0, "file": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~pandas_excel\\~reqs_conda.txt" }, "id": "pandas_excel.conda.install", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "conda installs pandas/openpyxl via conda-forge channel exclusively", "details": { "environment": "_envsmoke", "exitCode": 0, "file": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~pandas_excel\\~reqs_conda.txt" }, "id": "pandas_excel.conda.install.req006", "lane": "conda-full", "pass": true, "req": "REQ-006" } { "desc": "runtime writes out.xlsx using pandas+openpyxl", "details": { "exitCode": 0, "outExists": true, "outPath": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~pandas_excel\\out.xlsx" }, "id": "pandas_excel.runtime", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "pandas and openpyxl both present in conda env after install", "details": { "openpyxlPresent": true, "pandasPresent": true }, "id": "self.pandas.openpyxl.install", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "import pandas; import openpyxl succeeds in conda env", "details": { "exitCode": 0 }, "id": "self.pandas.openpyxl.import", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "run_setup.bat conda bulk+per-pkg both miss opencv-python (PackagesNotFoundError)", "details": { "bulkAttempted": true, "condaNotFound": true, "error": null, "exitCode": 0, "perpkgFallback": true }, "id": "pipgap.conda.miss", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "run_setup.bat pip gap-fill installs opencv-python from PyPI after conda misses it", "details": { "exitCode": 0, "gapFillFailed": false, "gapFillRan": true, "installedOpencv": true }, "id": "pipgap.pip.fill", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "import cv2 succeeds in the bootstrapped env (entry smoke prints sentinel)", "details": { "exitCode": 0, "runOutLen": 23, "sentinelFound": true }, "id": "pipgap.import", "lane": "conda-full", "pass": true, "req": "REQ-005" } { "desc": "empirical probe: does --hidden-import=gribapi make hook-gribapi.py bundle eccodes.dll for a pygrib build (CLAUDE.md Active Backlog Item 24 / PRD Requirement 1)", "details": { "conclusive": true, "control": { "buildCompleted": true, "buildExit": 0, "buildLaunched": true, "buildObservationComplete": true, "buildOutputCaptured": true, "bundledDll": false, "dllLoadFailed": true, "dllWarningSeen": true, "exeCompleted": true, "exeExists": true, "exeExit": 1, "exeLaunched": true, "exeOutputCaptured": true, "observationComplete": true, "ranClean": false, "variant": "control" }, "experiment": { "buildCompleted": true, "buildExit": 0, "buildLaunched": true, "buildObservationComplete": true, "buildOutputCaptured": true, "bundledDll": false, "dllLoadFailed": true, "dllWarningSeen": true, "exeCompleted": true, "exeExists": true, "exeExit": 1, "exeLaunched": true, "exeOutputCaptured": true, "observationComplete": true, "ranClean": false, "variant": "experiment" }, "hiddenImportHelped": false }, "id": "self.gribapi_hook_probe.hidden_import", "lane": "conda-full", "pass": true, "req": "REQ-009" } { "desc": "parse_warn TRANSLATIONS table: all import->conda mappings resolve correctly", "details": { "failures": [], "tested": 20 }, "id": "self.parse_warn.table", "lane": "conda-full", "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": "conda-full", "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": "conda-full", "pass": true } { "desc": "heuristics unittest: test_heuristics.py all tests pass", "details": { "exit": 0, "summary": "OK" }, "id": "self.heuristics.pytest", "lane": "conda-full", "pass": true } { "desc": "Python unit tests: pytest cross-platform suite", "details": { "exit": 0, "summary": "================== 579 passed, 2 skipped in 62.25s (0:01:02) ==================" }, "id": "self.pytest.unit", "lane": "conda-full", "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": "conda-full", "pass": true, "req": "REQ-004" } { "desc": "pyvisa import detected and logged by bootstrapper", "details": { "detectFound": true, "exitCode": 0 }, "id": "pyvisa.detect", "lane": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "pass": true, "req": "REQ-008" } { "desc": "HP_DETECT_PY reads pyproject.toml requires-python when runtime.txt absent", "details": { "exitCode": 0, "output": "python>=3.10,<3.11" }, "id": "pyproject.precedence.detect", "lane": "conda-full", "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": "conda-full", "pass": true, "req": "REQ-004" } { "desc": "HP_PYPROJ_DEPS helper parses pyproject.toml [project].dependencies and writes deps", "details": { "exitCode": 0, "output": "requests>=2.28\r\ncolorama" }, "id": "pyproject.dep.detect", "lane": "conda-full", "pass": true, "req": "REQ-004" } { "desc": "HP_PYPROJ_DEPS exits 1 (no deps) when pyproject.toml has no [project] section", "details": { "exitCode": 1, "outExists": false }, "id": "pyproject.dep.noproj", "lane": "conda-full", "pass": true, "req": "REQ-005.1" } { "desc": "Standard ignores signature appended to .gitignore", "details": { "run1Exit": 0, "sigFound": true }, "id": "self.ux.gitignore.merge", "lane": "conda-full", "pass": true, "req": "REQ-015" } { "desc": "Pre-existing .gitignore content preserved after merge", "details": { "nodeModulesFound": true }, "id": "self.ux.gitignore.preserve", "lane": "conda-full", "pass": true, "req": "REQ-015" } { "desc": "Standard ignores signature appears exactly once after two runs", "details": { "sigCount": 1 }, "id": "self.ux.gitignore.idem", "lane": "conda-full", "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": "conda-full", "pass": true, "req": "REQ-015" } { "desc": "Attributes signature appears exactly once after two runs", "details": { "sigCount": 1 }, "id": "self.ux.gitattributes.idem", "lane": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: exact prompt string appears in output", "details": { "promptFound": true }, "id": "self.ux.connectivity.prompt.shown", "lane": "conda-full", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: offline mode skips uv download (or uv legitimately bypassed)", "details": { "condaOnlySkip": true, "forcedFailSkip": false, "offlineLogFound": false }, "id": "self.ux.connectivity.offline.uv.skip", "lane": "conda-full", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: offline mode skips Miniconda download (or pre-installed)", "details": { "downloadAttempted": false, "offlineLogFound": false }, "id": "self.ux.connectivity.offline.conda.skip", "lane": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "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": "conda-full", "pass": true, "req": "REQ-014" } { "desc": "Real system fallback consent path test", "details": { "reason": "HP_FORCE_CONDA_ONLY-blocks-system-fallback", "skip": true }, "id": "self.ux.system.gate.real", "lane": "conda-full", "pass": true, "req": "REQ-014" } { "desc": "System Python accept path test", "details": { "reason": "HP_FORCE_CONDA_ONLY-blocks-system-fallback", "skip": true }, "id": "self.ux.system.gate.accept", "lane": "conda-full", "pass": true, "req": "REQ-014" } { "desc": "REQ-009 Tier 3: venv fallback success path test", "details": { "reason": "HP_FORCE_CONDA_ONLY-prohibits-venv-fallback", "skip": true }, "id": "self.venv.fallback", "lane": "conda-full", "pass": true, "req": "REQ-009" } { "desc": "REQ-023: venv canary probe test", "details": { "reason": "HP_FORCE_CONDA_ONLY-prohibits-venv-fallback", "skip": true }, "id": "self.venv.canary_fail", "lane": "conda-full", "pass": true, "req": "REQ-023" } { "desc": "REQ-023b: venv --without-pip retry + get-pip.py bootstrap test", "details": { "reason": "HP_FORCE_CONDA_ONLY-prohibits-venv-fallback", "skip": true }, "id": "self.venv.nopip_retry", "lane": "conda-full", "pass": true, "req": "REQ-023b" } { "desc": "REQ-009 Tier 5: embed fallback graceful-decline test", "details": { "reason": "HP_FORCE_CONDA_ONLY-prohibits-non-conda-fallbacks", "skip": true }, "id": "self.embed.fallback.decline", "lane": "conda-full", "pass": true, "req": "REQ-009" } { "desc": "REQ-009 Tier 5: embed fallback real download-through-run test", "details": { "reason": "HP_FORCE_CONDA_ONLY-prohibits-non-conda-fallbacks", "skip": true }, "id": "self.embed.fallback.real", "lane": "conda-full", "pass": true, "req": "REQ-009" } { "desc": "REQ-009 Tier 5: embed download-failure-then-retry-once path", "details": { "reason": "HP_FORCE_CONDA_ONLY-prohibits-non-conda-fallbacks", "skip": true }, "id": "self.embed.dl.retry", "lane": "conda-full", "pass": true, "req": "REQ-009" } { "desc": "REQ-002 priority 0: manual %1 override beats auto-detection", "details": { "reason": "HP_FORCE_CONDA_ONLY-prohibits-venv-fallback", "skip": true }, "id": "self.entry.override", "lane": "conda-full", "pass": true, "req": "REQ-002" } { "desc": "system-Python build consent decline", "details": { "reason": "HP_FORCE_CONDA_ONLY-blocks-system-tier", "skip": true }, "id": "self.sysbuild.decline", "lane": "conda-full", "pass": true, "req": "REQ-007" }