Skip to content

Docs housekeeping: demo doc house rules, backlog cleanup, 3rd-party gap analysis - #423

Merged
mixmansoundude merged 4 commits into
mainfrom
claude/bootstrapper-execution-branches-ox2izi
Aug 9, 2026
Merged

Docs housekeeping: demo doc house rules, backlog cleanup, 3rd-party gap analysis#423
mixmansoundude merged 4 commits into
mainfrom
claude/bootstrapper-execution-branches-ox2izi

Conversation

@mixmansoundude

Copy link
Copy Markdown
Owner

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:

  • Demo doc house rules: added explicit rules at the top of docs/demo-bootstrapper-output.md
    (>=5 user-visible quotes per scenario; never show [TEST]/internal-only text in a
    user-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 itself
    in each case, with an explanatory footnote after it instead of the line being removed.
  • New Scenario 44 (Part X): the first real CI capture (PR Item 29 fix: second dll_bundle_recover pass after hidden_import_recover #421's own confirmation evidence)
    showing all four repair mechanisms -- provider cascade, warnfix, --hidden-import recovery,
    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.
  • CLAUDE.md: added a "state EMPTY in large bold text" rule for the Active Backlog section;
    filed Item 30 (compress docs/agent-interconnect.md/docs/agent-lessons-learned.md again) and
    Item 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-satisfied
    blocking condition ("revisit once self.layered_e2e.chain's real-CI confirmation lands," which
    landed 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 on README.md and the demo doc.
  • docs/agent-cold-storage.md: filed 3 code-fix candidates surfaced by a 3rd-party
    Windows-Python-setup gap analysis against this bootstrapper's actual coverage (PYTHONUTF8
    console encoding, a hidden .py.txt extension 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.
  • Verified README.md's REQ-005.9 SKIP-set wording was already correctly shortened per prior
    guidance -- no action needed there.
  • Confirmed the base HP_PYSPEC_WRITEBACK drop-to-unconstrained fix via the same PR Item 29 fix: second dll_bundle_recover pass after hidden_import_recover #421
    evidence (pinDropped:true, condaSelected:true).

Also traced a real, nominal, zero-flag CI bootstrap (the real-lane selfapps_envsmoke.ps1
capture) 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).
  • Manual verification that no [TEST] markers remain anywhere in the demo doc.
  • No run_setup.bat edit, so no delimiter/payload-sync concerns.

Generated by Claude Code

…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
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@mixmansoundude
mixmansoundude enabled auto-merge (squash) August 8, 2026 19:44
@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: d5fce59c-1972-425e-9f29-a08ffe26ca15

📥 Commits

Reviewing files that changed from the base of the PR and between fe92a00 and 6bf73ad.

📒 Files selected for processing (1)
  • CLAUDE.md
📜 Recent review details
🧰 Additional context used
📓 Path-based instructions (4)
**/*

📄 CodeRabbit inference engine (AGENTS.md)

**/*: Use GitHub Actions CI results, especially Windows runner results, as the source of truth; local or sandbox runs are advisory.
Follow the explicit Plan -> Check the plan -> Execute -> Self-check/tests loop, make minimal surgical patches, and stop after one change set per loop.
Any code not traceable to a requirement must receive a derived requirement: <why needed> comment and a proposed requirement.
Push every commit before it can be lost; after each push, poll CI, self-heal failures before proceeding, and do not open a PR until the final commit is green and diagnostic outputs are verified.

Files:

  • CLAUDE.md
CLAUDE.md

📄 CodeRabbit inference engine (AGENTS.md)

Run the deliberately scoped markdownlint check for CLAUDE.md; new Active Backlog entries must be bullets with the identifier in prose rather than literal ordered-list markers.

Files:

  • CLAUDE.md
**/*.{md,bat,cmd}

📄 CodeRabbit inference engine (AGENTS.md)

Document run_setup.bat locations by stable label or subroutine name rather than exact line numbers.

Files:

  • CLAUDE.md
**/*.{bat,ps1,py,yml,json,md}

📄 CodeRabbit inference engine (CLAUDE.md)

Use ASCII-only content; avoid emojis, curly quotes, em-dashes, and other non-ASCII characters because batch/CMD parsing can break.

Files:

  • CLAUDE.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows

Timestamp: 2026-08-09T00:25:34.347Z
Learning: Before every commit, run the full documented sanity sweep, including Python compilation/linting, delimiter and YAML/workflow checks, ASCII scanning, PowerShell parsing, and pytest.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows

Timestamp: 2026-08-09T00:25:34.347Z
Learning: Freeze scope for the current iteration; defer new requirements to the backlog, fix CI/configuration issues before tests and product code, and implement exactly one feature slice and one missing test per loop.
Learnt from: CR
Repo: mixmansoundude/Python_vs_Windows

Timestamp: 2026-08-09T00:25:34.347Z
Learning: Keep knowledge documentation current in the same commit when changes add or invalidate lessons, cross-component dependencies, or NDJSON rows; move fully resolved backlog items to `docs/agent-closed-backlog.md`.
🔇 Additional comments (4)
CLAUDE.md (4)

531-545: 📐 Maintainability & Code Quality

Verify the required scoped markdownlint check in GitHub Actions.

The repository instructions require a deliberately scoped markdownlint check for CLAUDE.md. Confirm that GitHub Actions ran this check and that it passed. Treat a local run as advisory.

As per coding guidelines, run the deliberately scoped markdownlint check for CLAUDE.md.

Source: Coding guidelines


547-572: LGTM!


574-587: LGTM!


589-608: 📐 Maintainability & Code Quality

Verify Item 33 against the current source files.

This entry makes specific claims about run_setup.bat, docs/agent-ndjson.md, and tests/harness.ps1, but those files are not included here. Confirm that :run_entry_after_smoke contains the two listed PyInstaller failure paths, that :smokerun_ndjson emits the stated exitCode-only row for self.exe.smokerun, and that the referenced reason= registry and harness guards match the current files. Update the backlog item if any claim is stale.

Based on the supplied cross-file context, verify these producer and documentation contracts before merge.


📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Clarified review-scope guidance and editing practices for agent-loaded documentation.
    • Expanded backlog and cold-storage planning with maintenance ideas, activation criteria, and diagnostic messaging proposals.
    • Updated demo documentation with realistic output examples and an end-to-end recovery scenario.
    • Clarified optimized-build behavior, post-flight messaging, failure silence, and user-visible recovery details.
    • Refined DLL repair guidance, evidence requirements, and possible detection and repair outcomes.

Walkthrough

The 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.

Changes

Documentation updates

Layer / File(s) Summary
Agent guidance and backlog updates
AGENTS.md, CLAUDE.md, docs/agent-cold-storage.md, docs/agent-interconnect.md
Review scope, backlog items, future proposals, and editing guidance were updated.
Demo output and recovery evidence
docs/demo-bootstrapper-output.md
Scenario rules and user-visible output examples were revised. Scenario 44 documents layered dependency recovery through verification.
DLL repair decision record
docs/open-questions.md
The open question now records real-CI confirmation, repair states, evidence, and the remaining wording decision.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: claude

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the documentation housekeeping, demo documentation updates, backlog cleanup, and third-party gap analysis.
Description check ✅ Passed The description is detailed and directly related to the documentation changes, backlog updates, verification work, and release-preparation objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/bootstrapper-execution-branches-ox2izi

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 8940454 and f3ace07.

📒 Files selected for processing (6)
  • AGENTS.md
  • CLAUDE.md
  • docs/agent-cold-storage.md
  • docs/agent-interconnect.md
  • docs/demo-bootstrapper-output.md
  • docs/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.md
  • AGENTS.md
  • docs/agent-cold-storage.md
  • CLAUDE.md
  • docs/open-questions.md
  • docs/demo-bootstrapper-output.md
**/*.{md,bat}

📄 CodeRabbit inference engine (AGENTS.md)

Reference run_setup.bat locations in documentation by subroutine label or nearby purpose/log text rather than drifting exact line numbers.

Files:

  • docs/agent-interconnect.md
  • AGENTS.md
  • docs/agent-cold-storage.md
  • CLAUDE.md
  • docs/open-questions.md
  • docs/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 Quality

Run 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!

Comment thread CLAUDE.md Outdated
Comment thread docs/agent-cold-storage.md Outdated
Comment thread docs/demo-bootstrapper-output.md Outdated
- 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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 lift

Record exit codes and reasons for external failures.

The current PyInstaller, Nuitka, dependency-repair, and uv pip install failure records contain generic messages only. The smokerun NDJSON row contains exitCode but no reason. 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

📥 Commits

Reviewing files that changed from the base of the PR and between f3ace07 and f7af2df.

📒 Files selected for processing (3)
  • CLAUDE.md
  • docs/agent-cold-storage.md
  • docs/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 a reason= 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.md
  • docs/demo-bootstrapper-output.md
CLAUDE.md

📄 CodeRabbit inference engine (AGENTS.md)

CLAUDE.md: Run the scoped markdownlint check for CLAUDE.md; new Active Backlog entries should be bullets with the number in prose, not literal ordered-list markers.
Cite run_setup.bat locations 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.md
  • docs/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.md
  • docs/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 7 to 6.


531-587: 📐 Maintainability & Code Quality

Run 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

Copy link
Copy Markdown
Owner Author

Re: the outside-diff-range finding on docs/demo-bootstrapper-output.md lines 2977-2980 ("Record exit codes and reasons for external failures").

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 reason=-style classification to the PyInstaller/Nuitka Tier A build-failure paths and to self.exe.smokerun's NDJSON row -- is a real, legitimate gap: those call sites currently emit a plain [ERROR] message with no failure-signature classification, unlike several other paths in run_setup.bat that already do this (UV_FALLBACK reason=dep_install_failed, Miniconda install reason=timeout/reason=installer_failed, pipreqs.install's NDJSON reason field). I'm not implementing it in this PR, though: it's a genuine feature slice (deciding which failure signatures are distinguishable and worth their own reason= value, then updating docs/agent-ndjson.md's row registry and tests/harness.ps1's static guards to match) rather than a docs fix, and this PR is scoped to documentation housekeeping. Filed as CLAUDE.md Active Backlog Item 33 (commit fe92a00) for a dedicated future loop.

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 reason= treatment is warranted for run_setup.bat's own real-user-facing build-failure messages is part of what that item still needs to resolve, not something I'm assuming going in.


Generated by Claude Code

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between f7af2df and fe92a00.

📒 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 for MD029; new Active Backlog entries must use bullets with the identifier written in prose rather than literal ordered-list markers.
Cite run_setup.bat locations 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

Comment thread CLAUDE.md Outdated
…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

Copy link
Copy Markdown
Owner Author

@coderabbitai review


Generated by Claude Code

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

@mixmansoundude: I will review the changes in PR #423.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@mixmansoundude
mixmansoundude merged commit 92c3a69 into main Aug 9, 2026
16 checks passed
@mixmansoundude
mixmansoundude deleted the claude/bootstrapper-execution-branches-ox2izi branch August 9, 2026 00:29
mixmansoundude pushed a commit that referenced this pull request Aug 9, 2026
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
mixmansoundude added a commit that referenced this pull request Aug 9, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants