Skip to content

Z2-RAM-SLOTS: honour PROJECTA_BUILD_SLOTS_ROOT in build-slot - #725

Merged
mergify[bot] merged 6 commits into
mainfrom
cursor/z2-ram-slots-root
Oct 9, 2026
Merged

mergify[bot] merged 6 commits into
mainfrom
cursor/z2-ram-slots-root

Conversation

@Cuarroc

@Cuarroc Cuarroc commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Build-Slot löst den konfigurierten Warm-Slot-Root absolut auf und behält Dateisystem-Wurzeln.
Relative Roots, C:\// und Forward-Slash-UNC (//host/share) führen nicht mehr zu falscher Belegt-Erkennung; POSIX-Fixtures bleiben unter win32-Resolve stabil.
Review-Findings O1/O2/O3/O4/A1/A2/A3/A4 sind behoben; A5 und Kimi F2 bleiben Follow-ups. Round 4 approved by Elias (E4) 2026-10-09; delta review pending Root.

Report

What changed (fix3 / R725-O4)

  • Forward-slash UNC roots (//host/share…) use path.win32.resolve and never path.posix.resolve, so the leading double slash is not collapsed into a local absolute path.
  • Slot path joining for UNC roots uses path.win32.join so posix join cannot collapse // either.
  • New test: win32 cwd C:/fixture/cwd, root //fixture-server/share/warm — listed root stays UNC and path.win32.resolve yields \\fixture-server\share\warm.

Findings disposition

ID Severity Disposition
R725-O1 medium accepted — 0ed4e635 (RED) + 2542989e (fix): resolve relative roots; attribution test
R725-O2 medium accepted — same commits: preserve / and C:/ during normalization
R725-O3 medium accepted — 203639ad: POSIX fixtures + posix resolve for absolute / roots under win32 simulation
R725-O4 medium accepted — 15daf2ed: forward-slash UNC kept via win32 resolve/join; Test-First UNC share path
R725-A1 low accepted — absolute resolve + refuse empty normalized root
R725-A2 low accepted — 203639ad: tighten refusal regex to group (fehlt|unlesbar) after Abgelehnt:
R725-A3 low accepted — 203639ad: HELP clarifies exit 3 = wait or root rejected (unmet precondition)
R725-A4 low accepted — empty-root + CLI refuse tests
R725-A5 low follow-up — docs outside ownership (docs/setup/claude-code.md)
Kimi F2 medium follow-up — relative PA_BUILD_SLOTS entries already relative at merge base; not introduced by root fix

Size note: Root accepted the PLAN ≤180 overrun; total stays ≤300 (270 ALL at this head).
Round 4 approved by Elias (E4) 2026-10-09; delta review pending Root.

Base / head

  • Base: origin/main@927f80a81c4cf1dc514bd3248373e25c6e68fa98
  • Head: 15daf2ed8c780cb4734cb696c165902a684267dc
  • Diff size: 262 insertions / 8 deletions (270 ALL ≤ 300)
  • Files: only scripts/dev/build-slot.mjs, scripts/lib/dev-build-slot.test.mjs
  • Author model observed: Cursor auto

Evidence

Step Command Exit
RED on 203639a (listed root for //fixture-server/share/warm) node assertion probe 1
Suite after fix node --test scripts/lib/dev-build-slot.test.mjs (29 pass) 0
win32 sim (join/resolve/dirname + cwd C:/fixture/cwd, full suite) node simulation driver 0
Commit fix3 15daf2ed8c780cb4734cb696c165902a684267dc (Test-First: …::configured forward-slash UNC root stays a share path under win32 resolve) 0
red-first bash scripts/ci/red-first.sh 0
prepush bash scripts/ci/gates.sh lane prepush (CARGO_TARGET_DIR slot1, CARGO_BUILD_JOBS=1) 0
numstat git diff --numstat origin/main...HEAD → 270 ALL 0
push git push -u origin cursor/z2-ram-slots-root 0
push verify git ls-remote origin cursor/z2-ram-slots-root → 15daf2ed8c780cb4734cb696c165902a684267dc 0

Architecture drift

No new API_STORE_BLOCK_ON / seam findings; Node-only package.

Licenses

No new dependencies.

NICHT ABGEDECKT

  • Linux server run does not cover #[cfg(windows)] tests (run_in_pty, npm_shim, ConPTY, DPAPI) or Windows clippy arms; Windows lane verdict comes from the merge queue.
  • Native Windows filesystem/UNC execution was not run; O3/O4 evidence is path-library simulation (path.win32 + synthetic drive cwd), not a real Windows host.
  • R725-A5 and Kimi F2 unchanged (follow-up / out of ownership).

Review

Review: ausstehend (Stufe B) — fix3 delta needs re-review on head 15daf2ed.

Root-Abnahme Runde 4 (head 15daf2e, 2026-10-09)

Round 4 approved by Elias (E4, 2026-10-09 ~10:55Z: „allen Empfehlungen folgen“), ONLY for R725-O4. Fix commit 15daf2e (server job srv-pr725-fix3, Cursor auto), Test-First scripts/lib/dev-build-slot.test.mjs::configured forward-slash UNC root stays a share path under win32 resolve.
Final delta review OpenAI (Codex gpt-6-astra) review-pr725-openai-final-15daf2ed8c78.md: approve — R725-O4 resolved (build-slot.mjs:60, :118; test :206 assertion-red on the previous implementation); O1/O2/O3/A1 unchanged and passing.
Size: +262/-8 = 270 ≤ 300 (package cap). The historical 180 estimate is superseded by the 300 rule; accepted by Root.
NICHT ABGEDECKT (Root): no real UNC share on a Windows machine; Windows lane only in the merge queue.

Cuarroc and others added 2 commits October 8, 2026 23:09
Test-First: scripts/lib/dev-build-slot.test.mjs::configured slot root takes precedence over home defaults
Co-authored-by: Cursor <cursoragent@cursor.com>
Test-First: scripts/lib/dev-build-slot.test.mjs::configured slot root takes precedence over home defaults
Co-authored-by: Cursor <cursoragent@cursor.com>
Cuarroc and others added 2 commits October 8, 2026 23:48
Test-First: scripts/lib/dev-build-slot.test.mjs::configured relative slot root resolves for process attribution
Test-First: scripts/lib/dev-build-slot.test.mjs::configured slot root preserves POSIX filesystem root
Test-First: scripts/lib/dev-build-slot.test.mjs::configured slot root preserves Windows drive root
Test-First: scripts/lib/dev-build-slot.test.mjs::empty PROJECTA_BUILD_SLOTS_ROOT keeps the old default slots
Test-First: scripts/lib/dev-build-slot.test.mjs::configured slot root refusal exits 3 with stderr message
Co-authored-by: Cursor <cursoragent@cursor.com>
Test-First: scripts/lib/dev-build-slot.test.mjs::configured relative slot root resolves for process attribution
Test-First: scripts/lib/dev-build-slot.test.mjs::configured slot root preserves POSIX filesystem root
Test-First: scripts/lib/dev-build-slot.test.mjs::configured slot root preserves Windows drive root
Test-First: scripts/lib/dev-build-slot.test.mjs::empty PROJECTA_BUILD_SLOTS_ROOT keeps the old default slots
Test-First: scripts/lib/dev-build-slot.test.mjs::configured slot root refusal exits 3 with stderr message
Co-authored-by: Cursor <cursoragent@cursor.com>
@Cuarroc

Cuarroc commented Oct 8, 2026

Copy link
Copy Markdown
Owner Author

Root 22:14Z: Ollama delta check after fix round 1 at 2542989:

  • GLM 5.2: approve.
  • Kimi K3: approve with conditions.
    • F1 (medium): exit-code semantics for config errors, slotsFromConfiguredRoot ~:94-111 and the RefusedError mapping.
    • F2 (medium): relative PA_BUILD_SLOTS paths, ~:115-119.

The OpenAI delta review (srv-rv725-openai-d1) is pending; Root will bundle a single fix round if needed.

Keep configured POSIX absolute roots and relative POSIX fixtures stable
when path bindings are win32 (R725-O3), tighten refusal stderr regex
(R725-A2), and clarify exit-3 HELP for rejected roots (R725-A3).

Regression-For: 2542989
Co-authored-by: Cursor <cursoragent@cursor.com>
@mergify

mergify Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Merge Protections

🟢 All 2 merge protections satisfied — ready to merge.

Show 2 satisfied protections

🟢 Paket-PR bringt seinen Bericht mit

Package branches (w<N>-, df<N>, ki-<N>, hq2-, dr-, z<N>-) must carry their report in the PR body, in a section that starts with "## Report".

  • body ~= (?m)^## Report

🟢 🚦 Auto-queue

When all merge protections are satisfied and these conditions match, this pull request will be queued automatically.

  • -conflict
  • -draft
  • base = main
  • check-success = gates (linux)
  • check-success = gates (windows)
  • check-success = red-first
  • label != do-not-merge
  • label = review-ok

Test-First: scripts/lib/dev-build-slot.test.mjs::configured forward-slash UNC root stays a share path under win32 resolve
Co-authored-by: Cursor <cursoragent@cursor.com>
@Cuarroc
Cuarroc marked this pull request as ready for review October 9, 2026 12:11
@Cuarroc Cuarroc added the review-ok Pipeline: review disposition complete, no open high finding label Oct 9, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T12:14:02.975628Z 15daf2e Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@mergify mergify Bot added the queued label Oct 9, 2026
@mergify
mergify Bot merged commit 5bc5a55 into main Oct 9, 2026
17 checks passed
@mergify
mergify Bot deleted the cursor/z2-ram-slots-root branch October 9, 2026 12:34
@mergify

mergify Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

This pull request spent 16 minutes 3 seconds in the queue, including 15 minutes 46 seconds running CI.

Required conditions to merge
  • check-success = gates (linux)
  • check-success = gates (windows)
  • check-success = red-first
  • github-review-approved [🛡 GitHub repository ruleset rule main-pr-required-checks]
  • label != do-not-merge
  • all of [🛡 Merge Protections rule Paket-PR bringt seinen Bericht mit]:
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/gates (linux)
    • check-neutral = @github-actions/gates (linux)
    • check-skipped = @github-actions/gates (linux)
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/gates (windows)
    • check-neutral = @github-actions/gates (windows)
    • check-skipped = @github-actions/gates (windows)
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/red-first
    • check-neutral = @github-actions/red-first
    • check-skipped = @github-actions/red-first
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-neutral = @mergify/Mergify Merge Protections
    • check-skipped = @mergify/Mergify Merge Protections
    • check-success = @mergify/Mergify Merge Protections

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review-ok Pipeline: review disposition complete, no open high finding

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant