Docs housekeeping: demo doc house rules, backlog cleanup, 3rd-party gap analysis - #423
Conversation
…ap analysis - Add demo doc house rules (>=5 user-visible quotes per scenario, no [TEST]/internal-only text) and fix all 6 remaining [TEST]-line violations in Part VIII (Scenarios 37/38a/38b/40b), which a prior scrub pass had only partially addressed. - Add Scenario 44 (new Part X): the first real CI capture showing all four repair mechanisms (cascade, warnfix, hidden-import recovery, native-DLL bundling) handing off to each other in one continuous run (PR #421's confirmation evidence). Update Scenario 33's stale framing to point at it instead of describing DLL bundling as unaddressed. - CLAUDE.md: add "state EMPTY in bold" rule for Active Backlog (applied when it was briefly empty after Item 29's closure); file Item 30 (compress agent-interconnect.md/lessons-learned.md again) and Item 31 (remaining demo doc quote-count shortfalls, 7 scenarios itemized). - docs/open-questions.md: rewrite the one open entry to state the actual decision needed clearly, stripping resolved "still blocked on X" archaeology now that X has landed. - AGENTS.md: ask CodeRabbit to apply lighter review scrutiny to internal agent-only docs (CLAUDE.md, docs/agent-*.md) while keeping full strictness on README.md and the demo doc. - docs/agent-cold-storage.md: file 3 code-fix candidates surfaced by a 3rd-party Windows-Python-setup gap analysis (PYTHONUTF8 console encoding, hidden .py.txt extension hint, corporate-proxy diagnostic messaging) -- the rest of that 55-item analysis is already covered, correctly out of scope, or not worth pursuing. - docs/agent-interconnect.md: confirm the base HP_PYSPEC_WRITEBACK drop-to-unconstrained fix via the same PR #421 evidence (pinDropped true, condaSelected true). Verified README.md's REQ-005.9 SKIP-set wording was already correctly shortened per prior guidance -- no action needed there. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A4iE1BRSkUETwz237XeuTW
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📜 Recent review details🧰 Additional context used📓 Path-based instructions (4)**/*📄 CodeRabbit inference engine (AGENTS.md)
Files:
CLAUDE.md📄 CodeRabbit inference engine (AGENTS.md)
Files:
**/*.{md,bat,cmd}📄 CodeRabbit inference engine (AGENTS.md)
Files:
**/*.{bat,ps1,py,yml,json,md}📄 CodeRabbit inference engine (CLAUDE.md)
Files:
🧠 Learnings (1)📓 Common learnings🔇 Additional comments (4)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe pull request updates agent review guidance, backlog items, cold-storage proposals, agent-interconnect guidance, demo output records, and the DLL repair-loop open question. It adds a layered recovery scenario and replaces CI-only output with user-facing evidence. ChangesDocumentation updates
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CLAUDE.md`:
- Around line 547-565: Correct Item 31’s count from seven to six in the
remaining-shortfalls description, preserving the listed scenarios and excluding
Scenario 40d as already fixed.
In `@docs/agent-cold-storage.md`:
- Around line 162-175: Update the Cold Storage entry for the zero-.py
hidden-extension hint by either defining a specific, measurable thaw trigger
with clear acceptance criteria or moving the entire proposal to the Active
Backlog. Remove the statement that no trigger blocks implementation so the
document’s categorization remains consistent.
In `@docs/demo-bootstrapper-output.md`:
- Around line 3532-3559: Correct the Scenario 44 transcript to reflect the
actual recovery order: show the initial EXE smokerun, then the pygrib
hidden-import repair reported by tools/hidden_import_scan.py, followed by
eccodes.dll bundling, numpy, pyproj, proj_9.dll, and colorama repairs.
Alternatively, explicitly label the transcript as historical evidence if
preserving the current order.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 3dea3ea7-36b0-4af8-bc0f-b53744ee03eb
📒 Files selected for processing (6)
AGENTS.mdCLAUDE.mddocs/agent-cold-storage.mddocs/agent-interconnect.mddocs/demo-bootstrapper-output.mddocs/open-questions.md
📜 Review details
⏰ Context from checks skipped due to timeout. (9)
- GitHub Check: auto_merge
- GitHub Check: Batch syntax/run check (uv)
- GitHub Check: Batch syntax/run check (conda-full)
- GitHub Check: Batch syntax/run check (cache)
- GitHub Check: Batch syntax/run check (real)
- GitHub Check: Batch syntax/run check (contract-uv-fail)
- GitHub Check: Batch syntax/run check (contract-uv)
- GitHub Check: Batch syntax/run check (uv-dl-fallback)
- GitHub Check: Batch syntax/run check (justme-test)
🧰 Additional context used
📓 Path-based instructions (3)
**/*.{py,ps1,md}
📄 CodeRabbit inference engine (AGENTS.md)
Prefer helper utilities under
tools/over long scripts embedded in YAML, PowerShell, or batch files, and leave professional comments explaining non-obvious bug-fix constraints.
Files:
docs/agent-interconnect.mdAGENTS.mddocs/agent-cold-storage.mdCLAUDE.mddocs/open-questions.mddocs/demo-bootstrapper-output.md
**/*.{md,bat}
📄 CodeRabbit inference engine (AGENTS.md)
Reference
run_setup.batlocations in documentation by subroutine label or nearby purpose/log text rather than drifting exact line numbers.
Files:
docs/agent-interconnect.mdAGENTS.mddocs/agent-cold-storage.mdCLAUDE.mddocs/open-questions.mddocs/demo-bootstrapper-output.md
CLAUDE.md
📄 CodeRabbit inference engine (AGENTS.md)
Run the deliberately scoped Markdown lint check for
CLAUDE.md; new Active Backlog entries must be bullets with their stable identifier in prose, not literal ordered-list markers.
Files:
CLAUDE.md
🧠 Learnings (2)
📓 Common learnings
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T19:44:54.145Z
Learning: Do not optimize CI design for GitHub Actions billing or wall-clock cost; isolate slow, flaky, or environment-dependent work in its own non-gating lane when appropriate.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T19:44:54.145Z
Learning: Do not weaken or skip tests, checks, logging, artifacts, workflow triggers, permissions, or retention settings to obtain a green build.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T19:44:54.145Z
Learning: The iterate job must upload one artifact named `iterate-logs-${run_id}-${run_attempt}` containing the `iterate/_temp/` payload and job summary. Do not alter the intentionally failing pre-flight gate for missing NDJSON inputs.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T19:44:54.145Z
Learning: Keep text ASCII-only, prefer quoting and logic fixes over silencing errors, avoid unscoped `EnableDelayedExpansion`, and preserve repository line-ending rules.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T19:44:54.145Z
Learning: Follow the iteration order: plan and verify the plan, execute one change set, run required checks, fix CI or test errors at the appropriate layer, check for false passes, and stop to open or append a PR.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T19:45:03.854Z
Learning: Freeze the current work scope during an iteration; defer newly discovered requirements to the backlog.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T19:45:03.854Z
Learning: Implement exactly one missing feature slice and add exactly one missing test per iteration loop.
📚 Learning: 2026-08-01T02:27:53.952Z
Learnt from: mixmansoundude
Repo: mixmansoundude/Python_vs_Windows PR: 408
File: docs/agent-closed-backlog.md:0-0
Timestamp: 2026-08-01T02:27:53.952Z
Learning: In the documentation files describing the removed UNC warning check in `run_setup.bat`, state only verified behavior: the check emitted `[WARN] UNC paths not supported` for an ordinary local path and was removed because the separate UNC-prefix guard already handles UNC detection. Do not assert the exact `findstr` or cmd.exe backslash-parsing mechanism, since it was not independently verified.
Applied to files:
docs/demo-bootstrapper-output.md
🪛 LanguageTool
docs/open-questions.md
[style] ~17-~17: The placement of the adverb ‘further’ may sound unnatural here. Try moving it after ‘is’.
Context: ...hainPass:true, PR #421` merge). Nothing further is blocking a decision; this is purely a p...
(PROG_ADV_PLACEMENT)
🔇 Additional comments (6)
AGENTS.md (1)
319-319: LGTM!CLAUDE.md (1)
531-571: 📐 Maintainability & Code QualityRun the required scoped Markdown check.
The supplied context does not include the deliberately scoped Markdown lint result for
CLAUDE.md. Run the repository's MD029-only check before merge and fix any findings.As per coding guidelines, run the deliberately scoped Markdown lint check for
CLAUDE.md.Source: Coding guidelines
docs/agent-cold-storage.md (1)
144-160: LGTM!Also applies to: 177-189
docs/agent-interconnect.md (1)
20-28: LGTM!docs/demo-bootstrapper-output.md (1)
31-48: LGTM!Also applies to: 136-137, 2977-2980, 3052-3055, 3080-3090, 3200-3217, 3243-3243
docs/open-questions.md (1)
12-47: LGTM!
- Scenario 44: correct the transcript's causal ordering. The pygrib ModuleNotFoundError/HINT trace actually occurred under uv, before the cascade switched providers -- not attached to the later conda-side eccodes.dll bundling event as previously shown. The native-DLL bundling loop genuinely detects from PyInstaller's build-time warning, before any conda-side EXE smokerun ever runs; that first conda-side run then fails on numpy, not pygrib. Re-verified line-by-line against the real captured log (run 31264219121, job 93119869344). - CLAUDE.md Item 31: fix scenario count (7 -> 6; Scenario 40d was already fixed same-day, not a remaining shortfall). - Move the hidden .py.txt-extension hint idea from Cold Storage to Active Backlog (Item 32) -- its own "Trigger to thaw" text admitted no real trigger was blocking it, which is Active Backlog's scope, not Cold Storage's. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A4iE1BRSkUETwz237XeuTW
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/demo-bootstrapper-output.md (1)
2977-2980: 🩺 Stability & Availability | 🟠 Major | 🏗️ Heavy liftRecord exit codes and reasons for external failures.
The current PyInstaller, Nuitka, dependency-repair, and
uv pip installfailure records contain generic messages only. The smokerun NDJSON row containsexitCodebut noreason. Add the required metadata to the logs or NDJSON, or label these historical excerpts as incomplete evidence.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/demo-bootstrapper-output.md` around lines 2977 - 2980, Update the documented failure records in the surrounding capture to include each external command’s exit code and failure reason, including PyInstaller, Nuitka, dependency repair, and uv pip install, and add a reason field to the smokerun NDJSON row. If these historical excerpts cannot be amended, explicitly label them as incomplete evidence instead.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@docs/demo-bootstrapper-output.md`:
- Around line 2977-2980: Update the documented failure records in the
surrounding capture to include each external command’s exit code and failure
reason, including PyInstaller, Nuitka, dependency repair, and uv pip install,
and add a reason field to the smokerun NDJSON row. If these historical excerpts
cannot be amended, explicitly label them as incomplete evidence instead.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: eaefc609-e7ee-4506-bfee-2e05a5e11243
📒 Files selected for processing (3)
CLAUDE.mddocs/agent-cold-storage.mddocs/demo-bootstrapper-output.md
💤 Files with no reviewable changes (1)
- docs/agent-cold-storage.md
📜 Review details
🧰 Additional context used
📓 Path-based instructions (4)
**/*
📄 CodeRabbit inference engine (AGENTS.md)
**/*: Use GitHub Actions results, especially Windows runner behavior, as the source of truth; local or sandbox runs are advisory.
External or environmental failures must be made legible in logs or NDJSON, including installer exit codes and areason=token, without being mistaken for regressions.
Follow the documented iteration order: lint workflows, classify CI/test failures, fix the appropriate layer, perform self-checks, verify no false passes, implement one slice or one test, then stop and open or append a PR.
Do not remove tilde prefixes from runtime artifact paths such as~bootstrap.status.json,~setup.log,~environment.lock.txt, and~env.state.json.
Push every commit before it can be lost; do not leave commits unpushed at the end of an iteration.
Files:
CLAUDE.mddocs/demo-bootstrapper-output.md
CLAUDE.md
📄 CodeRabbit inference engine (AGENTS.md)
CLAUDE.md: Run the scoped markdownlint check forCLAUDE.md; new Active Backlog entries should be bullets with the number in prose, not literal ordered-list markers.
Citerun_setup.batlocations by stable label or subroutine name rather than exact line number.
Files:
CLAUDE.md
**/*.{bat,ps1,py,yml,json,md}
📄 CodeRabbit inference engine (CLAUDE.md)
Keep repository source ASCII-only; do not introduce emojis, curly quotes, em-dashes, or other non-ASCII characters.
Files:
CLAUDE.mddocs/demo-bootstrapper-output.md
**/*.{bat,ps1,py,yml,md}
📄 CodeRabbit inference engine (CLAUDE.md)
When a change teaches or invalidates a lesson, update the relevant knowledge document in the same commit, editing existing entries rather than only appending.
Files:
CLAUDE.mddocs/demo-bootstrapper-output.md
🧠 Learnings (2)
📓 Common learnings
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T19:58:03.371Z
Learning: Freeze scope for the current iteration loop; defer newly discovered requirements to the backlog.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T19:58:03.371Z
Learning: In each iteration, fix CI and test infrastructure issues before test assertions and product code; implement exactly one missing feature slice and add exactly one missing test.
📚 Learning: 2026-08-01T02:27:53.952Z
Learnt from: mixmansoundude
Repo: mixmansoundude/Python_vs_Windows PR: 408
File: docs/agent-closed-backlog.md:0-0
Timestamp: 2026-08-01T02:27:53.952Z
Learning: In the documentation files describing the removed UNC warning check in `run_setup.bat`, state only verified behavior: the check emitted `[WARN] UNC paths not supported` for an ordinary local path and was removed because the separate UNC-prefix guard already handles UNC detection. Do not assert the exact `findstr` or cmd.exe backslash-parsing mechanism, since it was not independently verified.
Applied to files:
docs/demo-bootstrapper-output.md
🔇 Additional comments (4)
CLAUDE.md (3)
547-550: Change the final Item 31 count to 6.The list contains six remaining shortfalls: Scenario 25, the reactive-only failure hint, Scenarios 23 and 36, Scenario 26, and Scenario 41. Scenario 40d is already fixed. The sentence later says "the 7 genuine shortfalls above". Change
7to6.
531-587: 📐 Maintainability & Code QualityRun the scoped Markdown lint check for
CLAUDE.md.The repository instructions require this check for changes to
CLAUDE.md. Use the repository-configured command before merge.Source: Coding guidelines
531-545: LGTM!Also applies to: 574-587
docs/demo-bootstrapper-output.md (1)
31-48: LGTM!Also applies to: 136-137, 2511-2527, 2961-2961, 3080-3090, 3200-3217, 3243-3243, 3504-3506, 3526-3538, 3540-3549, 3551-3557, 3559-3562
…ailure reason= gap
- CLAUDE.md Item 31 had a second, missed "7" occurrence ("closing the 7
genuine shortfalls above") -- CodeRabbit's fuller review caught what the
first pass missed. Fixed to 6.
- File Item 33: PyInstaller/Nuitka build-tool failures use a plain [ERROR]
message with no reason= classification (CodeRabbit finding on PR #423,
docs/demo-bootstrapper-output.md lines 2977-2980, citing AGENTS.md's
reason= guideline). Verified the guideline's own scope (CI-lane self-test
legibility) and that several OTHER failure classes already use reason=
tokens, but PyInstaller/Nuitka Tier A build failures and self.exe.smokerun
do not. This is a real feature slice (failure-signature design + NDJSON
registry + harness guards), out of scope for this docs-only PR -- deferred
to backlog rather than implemented here.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A4iE1BRSkUETwz237XeuTW
|
Re: the outside-diff-range finding on Verified against source. The specific prose flagged is accurate as written -- it's explaining that a genuine PyInstaller build failure at that point in the run is silent on the console (error output only reaches the log file), which is why the "Standard build did not complete" line is the first thing a real user actually sees. That's not an incomplete-evidence problem in the doc. The broader ask -- add Worth noting for that future loop: the AGENTS.md guideline this cites is itself scoped to CI-lane self-test legibility (keeping a flaky external download from being mistaken for a repo/test regression) -- whether the same Generated by Claude Code |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CLAUDE.md`:
- Around line 595-598: Replace the line-number references “~line 3437-3468” and
“~line 4524” in the CLAUDE.md discussion with stable identifiers from
run_setup.bat, using the verified PyInstaller failure label or subroutine and
retaining self.exe.smokerun only if it is the stable call-site name.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 7651bfcb-b02c-4d53-ae71-288c29c17ea9
📒 Files selected for processing (1)
CLAUDE.md
📜 Review details
🧰 Additional context used
📓 Path-based instructions (2)
**/CLAUDE.md
📄 CodeRabbit inference engine (AGENTS.md)
**/CLAUDE.md: Run the narrowly scoped advisory Markdown lint check forMD029; new Active Backlog entries must use bullets with the identifier written in prose rather than literal ordered-list markers.
Citerun_setup.batlocations by stable label or subroutine name rather than line number.
Files:
CLAUDE.md
**/*
📄 CodeRabbit inference engine (AGENTS.md)
**/*: Keep text ASCII-only, preserve repository line-ending rules, and prefer quoting, escaping, and logic fixes over silencing errors.
After each push, wait for CI and base decisions on authoritative Windows GitHub Actions results; after a green run, verify diagnostics logs, artifacts, and non-decreasing NDJSON row counts before opening a PR.
Files:
CLAUDE.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T20:07:33.311Z
Learning: Follow the iteration order: plan and check the plan, make one change set, run required checks, fix CI or tests at the appropriate layer, verify false passes, then stop and open or update the PR.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T20:07:33.311Z
Learning: Push every commit before ending a turn; do not leave commits only in the local repository.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T20:07:43.299Z
Learning: Run the full mandatory sanity sweep before every commit, preferably through `tools/run_sanity_sweep.sh`; extend the ASCII file list to cover all touched files.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T20:07:43.299Z
Learning: Freeze scope during an iteration loop, fix CI before tests and product code, implement exactly one missing feature slice, and add exactly one missing test per loop.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows
Timestamp: 2026-08-08T20:07:43.299Z
Learning: When a change teaches or invalidates a lesson, update the relevant knowledge document in the same commit; move resolved Active Backlog items to `docs/agent-closed-backlog.md`.
🔇 Additional comments (1)
CLAUDE.md (1)
531-545: LGTM!Also applies to: 547-572, 574-587
…t line number CodeRabbit finding on PR #423: the CLAUDE.md path-based house style requires citing run_setup.bat locations by stable label/subroutine name, not exact line number (line numbers drift as the file changes). Replaced the two ~line refs with :run_entry_after_smoke and :smokerun_ndjson respectively, both verified directly against the current file. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A4iE1BRSkUETwz237XeuTW
|
@coderabbitai review Generated by Claude Code |
|
✅ Action performedReview finished.
|
Closes out CLAUDE.md Active Backlog Item 31 entirely -- all 7 originally flagged scenarios (2026-08-08 audit) now meet the 5-quote house-rule minimum: - "Reactive-only failure hint" (Part VIII): its own section title promised coverage of "both Tier A and requirement 9's real-build- failure paths" but only ever quoted requirement 9's. Added the distinct Tier A (:try_nuitka_tier_a) failure messages from source (both call sites, [Extrapolated Branch] since no CI run has hit a real Nuitka compiler failure) -- the section now actually covers what its title claims. 5 quotes total (was 2). - Scenario 26 (Conda base periodic update): added the "last update < 30 days ago" skip branch -- a real, deterministic literal string from source, not previously documented at all, and in practice more common than the "first install" skip already shown (it's what fires on every ordinary repeat bootstrap within the 30-day window) -- plus the update-failure line, previously only described in prose. 5 quotes total (was 3). - Scenario 41 (Interactive verification): added the PID-display line and the live-teed program's own real stdout (hello-from-stub), cross-cited from an earlier real capture in the same doc (run 30328748330, job 90179708091) that already confirmed both as genuine console output belonging to this exact live-tee mechanism. 5 quotes total (was 3). Item 31 is now fully resolved -- moved from CLAUDE.md's Active Backlog to docs/agent-closed-backlog.md's Closed Active Backlog Items section (keeping its original number), consolidating the full three-PR resolution history (#423/#424/#425) in one place. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A4iE1BRSkUETwz237XeuTW
…g bug (#425) * Item 31: close Scenario 23/36's quote shortfall, fix real ordering bug While sourcing additional real quotes for Scenario 23/36 (both about HP_PVW_KNOWN_IDEMPOTENT execute-mode discovery), traced the actual call order in run_setup.bat and found the doc's own ordering claim was wrong: it said the discovery run fires "right after entry selection returns," but :determine_entry is genuinely called TWICE -- an early, silent pass right after provider selection (which :pvw_known_idempotent_run's own gate depends on), and a later one, after the entire dependency-install phase, that's the one which actually echoes "Chosen entry: ...". Confirmed directly against the real captured job log (run 30328748330, job 90179708109, uv lane): discovery fires right after "[BOOT] REQ-009: Selected Python provider: UV.", well before any entry announcement. Both scenarios now quote the provider-selection line before and the real "Chosen entry"/"Entry selected" pair after, both past the 5-quote minimum and both now factually correct about the ordering. Updates CLAUDE.md Item 31's tracking (3 shortfalls remain, was 5). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A4iE1BRSkUETwz237XeuTW * CLAUDE.md: fix Scenario 36 quote count (5 -> 6) CodeRabbit finding on PR #425: Scenario 36's console block has 6 lines (4 in the discovery block + 2 in the Chosen entry block), same as Scenario 23, not 5 as the tracking note said. Confirmed by direct recount against the current file. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A4iE1BRSkUETwz237XeuTW * Item 31: close remaining quote-count shortfalls, move to Closed Backlog Closes out CLAUDE.md Active Backlog Item 31 entirely -- all 7 originally flagged scenarios (2026-08-08 audit) now meet the 5-quote house-rule minimum: - "Reactive-only failure hint" (Part VIII): its own section title promised coverage of "both Tier A and requirement 9's real-build- failure paths" but only ever quoted requirement 9's. Added the distinct Tier A (:try_nuitka_tier_a) failure messages from source (both call sites, [Extrapolated Branch] since no CI run has hit a real Nuitka compiler failure) -- the section now actually covers what its title claims. 5 quotes total (was 2). - Scenario 26 (Conda base periodic update): added the "last update < 30 days ago" skip branch -- a real, deterministic literal string from source, not previously documented at all, and in practice more common than the "first install" skip already shown (it's what fires on every ordinary repeat bootstrap within the 30-day window) -- plus the update-failure line, previously only described in prose. 5 quotes total (was 3). - Scenario 41 (Interactive verification): added the PID-display line and the live-teed program's own real stdout (hello-from-stub), cross-cited from an earlier real capture in the same doc (run 30328748330, job 90179708091) that already confirmed both as genuine console output belonging to this exact live-tee mechanism. 5 quotes total (was 3). Item 31 is now fully resolved -- moved from CLAUDE.md's Active Backlog to docs/agent-closed-backlog.md's Closed Active Backlog Items section (keeping its original number), consolidating the full three-PR resolution history (#423/#424/#425) in one place. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A4iE1BRSkUETwz237XeuTW * docs: cover both reactive-hint failure conditions in opening sentence CodeRabbit review: the "Reactive-only failure hint" section documented two genuine triggers (a real Nuitka compiler failure, and Nuitka reporting success without producing dist\<env>.exe) but its opening sentence described only the first. Widened the sentence to cover both while still excluding the forcefail/HP_TEST_FORCE_NUITKA_FAIL test hooks. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A4iE1BRSkUETwz237XeuTW --------- Co-authored-by: Claude <noreply@anthropic.com>
Summary
Docs-only follow-up loop covering a batch of release-prep/housekeeping tasks (per an explicit
maintainer ask) after PR #422 closed the last Active Backlog item:
docs/demo-bootstrapper-output.md(>=5 user-visible quotes per scenario; never show
[TEST]/internal-only text in auser-visible quote), then fixed all 6 remaining violations in Part VIII (Scenarios
37/38a/38b/40b) that a prior scrub pass had only partially addressed -- a real
[TEST] HP_TEST_FORCE_*/ "simulating" line was still sitting inside the quoted console block itselfin each case, with an explanatory footnote after it instead of the line being removed.
showing all four repair mechanisms -- provider cascade, warnfix,
--hidden-importrecovery,and native-DLL bundling -- handing off to each other in one continuous, unstaged run. Updated
Scenario 33's stale framing (which described DLL bundling as an unaddressed limitation and
flagged the real evidence as "not yet done") to point at it instead.
filed Item 30 (compress
docs/agent-interconnect.md/docs/agent-lessons-learned.mdagain) andItem 31 (the demo doc's remaining quote-count shortfalls, itemized per-scenario).
docs/open-questions.md: rewrote the one open entry -- it was sitting on an already-satisfiedblocking condition ("revisit once
self.layered_e2e.chain's real-CI confirmation lands," whichlanded in PR Item 29 fix: second dll_bundle_recover pass after hidden_import_recover #421) with the actual decision needed buried under resolved archaeology. Now states
the open question plainly.
AGENTS.md: asked CodeRabbit to apply lighter review scrutiny to internal, agent-only docs(
CLAUDE.md,docs/agent-*.md) while keeping full strictness onREADME.mdand the demo doc.docs/agent-cold-storage.md: filed 3 code-fix candidates surfaced by a 3rd-partyWindows-Python-setup gap analysis against this bootstrapper's actual coverage (
PYTHONUTF8console encoding, a hidden
.py.txtextension hint, corporate-proxy diagnostic messaging) --the other ~50 items in that analysis are already covered, correctly out of scope (user-code
bugs, OS-level permissions), or not worth pursuing.
guidance -- no action needed there.
HP_PYSPEC_WRITEBACKdrop-to-unconstrained fix via the same PR Item 29 fix: second dll_bundle_recover pass after hidden_import_recover #421evidence (
pinDropped:true,condaSelected:true).Also traced a real, nominal, zero-flag CI bootstrap (the
real-laneselfapps_envsmoke.ps1capture) end-to-end as a final-confidence sweep: pre-flight -> lock -> entry detection -> provider
selection -> dependency discovery -> install -> build -> single verification -> final panel, all
in the correct order with no anomalies, no skipped steps, no loops.
Test plan
tools/run_sanity_sweep.sh-- all clean, 515 passed / 3 skipped (docs-only change).[TEST]markers remain anywhere in the demo doc.run_setup.batedit, so no delimiter/payload-sync concerns.Generated by Claude Code