{ "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": { "bootstrapPass": true, "reason": "uv-not-acquired", "skip": true, "state": "not-acquired" }, "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": "uv-not-acquired", "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": "justme-test", "pass": true } { "desc": "Miniconda availability gate (enforced judgment; conda-full only)", "details": { "reason": "not-conda-full", "skip": true }, "id": "diag.conda.available.gate", "lane": "justme-test", "pass": true } { "desc": "Miniconda JustMe install path executed (non-elevated simulation)", "details": { "failedWordingAbsent": true, "justmeInstalled": true, "notElevatedSkip": true, "setupLog": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke\\~setup.log", "skippedWordingCorrect": true }, "id": "conda.install.justme", "lane": "justme-test", "pass": true, "req": "REQ-003" } { "desc": "Miniconda fallback URL tried and succeeded when primary fails", "details": { "fallbackSucceeded": true, "fallbackTried": true, "setupLog": "D:\\a\\Python_vs_Windows\\Python_vs_Windows\\tests\\~envsmoke\\~setup.log" }, "id": "self.dl.conda.fallback", "lane": "justme-test", "pass": true, "req": "REQ-003" } { "desc": "uv fallback URL tried and uv binary acquired after fallback", "details": { "reason": "HP_TEST_FORCE_UV_FAIL", "skip": true, "uvForcedFail": true }, "id": "self.dl.uv.fallback", "lane": "justme-test", "pass": true, "req": "REQ-003" } { "desc": "six>=1.16 translates to conda >= syntax", "details": { "expected": "six >=1.16", "found": true, "specifier": "six>=1.16" }, "id": "reqspec.translate.gte", "lane": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "pass": true, "req": "REQ-005" } { "desc": "parse_warn TRANSLATIONS table: all import->conda mappings resolve correctly", "details": { "failures": [], "tested": 20 }, "id": "self.parse_warn.table", "lane": "justme-test", "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": "justme-test", "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": "justme-test", "pass": true } { "desc": "heuristics unittest: test_heuristics.py all tests pass", "details": { "exit": 0, "summary": "OK" }, "id": "self.heuristics.pytest", "lane": "justme-test", "pass": true } { "desc": "Python unit tests: pytest cross-platform suite", "details": { "exit": 0, "summary": "================== 579 passed, 2 skipped in 61.01s (0:01:01) ==================" }, "id": "self.pytest.unit", "lane": "justme-test", "pass": true } { "desc": "Standard ignores signature appended to .gitignore", "details": { "run1Exit": 0, "sigFound": true }, "id": "self.ux.gitignore.merge", "lane": "justme-test", "pass": true, "req": "REQ-015" } { "desc": "Pre-existing .gitignore content preserved after merge", "details": { "nodeModulesFound": true }, "id": "self.ux.gitignore.preserve", "lane": "justme-test", "pass": true, "req": "REQ-015" } { "desc": "Standard ignores signature appears exactly once after two runs", "details": { "sigCount": 1 }, "id": "self.ux.gitignore.idem", "lane": "justme-test", "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": "justme-test", "pass": true, "req": "REQ-015" } { "desc": "Attributes signature appears exactly once after two runs", "details": { "sigCount": 1 }, "id": "self.ux.gitattributes.idem", "lane": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: exact prompt string appears in output", "details": { "promptFound": true }, "id": "self.ux.connectivity.prompt.shown", "lane": "justme-test", "pass": true, "req": "REQ-013" } { "desc": "Connectivity guard: offline mode skips uv download (or uv legitimately bypassed)", "details": { "condaOnlySkip": false, "forcedFailSkip": true, "offlineLogFound": false }, "id": "self.ux.connectivity.offline.uv.skip", "lane": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": 1232, "exitCode": 0, "forcedLog": true, "honestMsg": true, "noBuildAttempt": true, "noFakeSyntaxErr": true, "orderedLog": true, "processExit": 0, "state": "error", "venvIdx": 1415 }, "id": "self.embed.fallback.decline", "lane": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "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": "justme-test", "pass": true, "req": "REQ-007" }