Repository navigation
fix(desktop-proof): preserve trusted script bytes on Windows - #725
Conversation
Fresh Windows checkouts with core.autocrlf=true rewrote the trusted broker, driver, and probe after checkout, so literal-byte validation failed before protected proof dispatch. Bind only those three trust-boundary paths to LF and prove the real validator in a fresh checkout. CHANGELOG: Fresh Windows checkouts now preserve the trusted desktop boundary's tracked bytes so protected proof validation can proceed. Ref: ADR-0031
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (3)
🧰 Additional context used🪛 ast-grep (0.45.2).github/scripts/test_codex_desktop_boundary.py[error] 393-398: Command coming from incoming request (subprocess-from-request) [error] 415-415: Command coming from incoming request (subprocess-from-request) [error] 417-424: Command coming from incoming request (subprocess-from-request) [error] 428-434: Command coming from incoming request (subprocess-from-request) [error] 435-441: Command coming from incoming request (subprocess-from-request) [error] 446-458: Command coming from incoming request (subprocess-from-request) [error] 415-415: Use of unsanitized data to create processes (os-system-unsanitized-data) 🪛 Ruff (0.16.2).github/scripts/test_codex_desktop_boundary.py[error] 395-395: Starting a process with a partial executable path (S607) [error] 416-416: (S603) [error] 418-418: (S603) [error] 419-422: Starting a process with a partial executable path (S607) [error] 429-429: (S603) [error] 430-430: Starting a process with a partial executable path (S607) [error] 436-436: (S603) [error] 437-437: Starting a process with a partial executable path (S607) [error] 447-447: (S603) 🔇 Additional comments (2)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe change enforces LF endings for three trusted PowerShell scripts and adds a test that verifies their bytes remain unchanged after an ChangesTrusted desktop boundary
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The change preserves trusted script bytes during Windows checkouts and adds regression coverage without altering shipped behavior; no actionable merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 1 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Warning Central YAML configuration was ignored because it failed validation, so its settings were not applied. Fix the errors below and re-run the review: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
core.autocrlf=true.Why
The protected runner checked out the three trusted PowerShell scripts with CRLF line endings. Their tracked blobs and installed copies were still correct, but the working-tree byte hashes no longer matched the manifest, so validation stopped before protected proof dispatch.
This is a prerequisite for #711.
Verification
core.autocrlf=truecheckout..codearbiter/tech-stack.mdpassed.check_codex_skill_resources.py --desktop-boundary-contract-only --jsonreturnedPASSwith the original broker, driver, probe, and contract hashes.Coverage note
This repository has no coverage tooling for
.github/scripts/*.py, as documented in.codearbiter/tech-stack.md. The Stage 2 numeric coverage floor therefore uses the documented no-tooling exemption. The regression exercises the real Git checkout and validator behavior without mocks.Release impact
No shipped plugin payload changed, so no package has an affected version to advance. The commit includes the required repository
CHANGELOG:record.Tradeoff and boundaries
Conflict hierarchy Level 2 applies: byte correctness at the trusted boundary takes priority over the convenience of a broad
*.ps1rule. The LF contract names exactly three files so unrelated PowerShell checkout behavior remains unchanged.This PR does not authorize merge, tag, release, publication, or deployment.
Ref: ADR-0031