Repository navigation
fix(quality): R6 — close cross-plan gaps (argsAlloc row, Managed ArrayList) - #4
Conversation
…yList) WHY: Cross-validation against the sibling-repo revision plans (synthfq, gitstore-cli) surfaced two 0.16-drift items in this repo that CodeRabbit's PR #1 threads never flagged, so R5 left them untouched. Both are the exact drift classes this template exists to police. WHAT: - doc/TIGER_STYLE_ZIG.md §1.4: argsAlloc row no longer claims the API is "unchanged"; right column now shows the Juicy Main pattern init.minimal.args.toSlice(init.arena.allocator()). - scripts/zig-fitness.zig (stack walk + escapeJsonString) and scripts/emit-sbom.zig (escapeJsonString): std.array_list.Managed replaced with unmanaged std.ArrayList (.empty, append(gpa, ...), deinit(gpa), toOwnedSlice(gpa)). IMPACT: docs + aux scripts only; no public API change (baseline OK); scripts/ now has zero std.array_list.Managed occurrences. VALIDATION: zig-fitness + emit-sbom compile for native and x86_64-windows-msvc; verify-commit OK (fmt, ast-check, zig build test, API baseline); bun test 15/15.
|
Warning Review limit reached
More reviews will be available in 4 hours, 58 minutes, and 31 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
Closes two Zig 0.16 drift gaps by updating repo guidance and aligning scripts/ with the unmanaged std.ArrayList idiom (removing std.array_list.Managed usage) while keeping behavior intact.
Changes:
- Update the Zig style migration table to reflect the Juicy Main /
Init-based args pattern instead ofstd.process.argsAlloc. - Replace
std.array_list.Managedwith unmanagedstd.ArrayListpatterns inscripts/zig-fitness.zig(directory-walk stack + JSON escaping). - Apply the same unmanaged
std.ArrayListconversion toscripts/emit-sbom.zig’sescapeJsonString.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| scripts/zig-fitness.zig | Migrates directory-walk stack and escapeJsonString to unmanaged std.ArrayList allocator-explicit APIs. |
| scripts/emit-sbom.zig | Migrates escapeJsonString to unmanaged std.ArrayList allocator-explicit APIs. |
| doc/TIGER_STYLE_ZIG.md | Updates the 0.16 migration table entry for process args to the Init/arena toSlice idiom. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Code Review Roast 🔥Verdict: No Issues Found | Recommendation: Merge The previous review's Oh wait, this PR is actually clean. I need to sit down. I had my flamethrower warmed up and everything. 📊 Overall: Like finding a unicorn in production — I didn't think clean PRs existed anymore, but here we are. Files Reviewed (1 files)
Reviewed by nex-n2-pro:free · 232,427 tokens |
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary
Carries the R6 commit that missed the PR #1 merge window (squash
40eb46alanded at 08:29Z; R6 was pushed to the old branch at 09:17Z). Cherry-picked cleanly ontomainas418c357.Two Zig 0.16 drift items in this repo, cross-confirmed by the sibling-repo revision plans (synthfq, gitstore-cli) and validated against the 0.16.0 stdlib source:
doc/TIGER_STYLE_ZIG.md§1.4 — theargsAllocrow claimed the API is "unchanged"; it now shows the Juicy Main patterninit.minimal.args.toSlice(init.arena.allocator()), consistent with what the repo's own aux scripts do since PR skeleton: claude-zig-quality v0 — Zig 0.16 agentic quality harness #1's R4 round.scripts/zig-fitness.zig+scripts/emit-sbom.zig— replacedstd.array_list.Managed(...).init(gpa)(directory-walk stack + bothescapeJsonStringbodies) with the unmanagedstd.ArrayListidiom (.empty,append(gpa, …),deinit(gpa),toOwnedSlice(gpa)).scripts/now has zeroManagedoccurrences — the exact drift classzig-fitnessexists to police.Test plan
zig-fitness+emit-sbomcompile for native andx86_64-windows-msvcbun scripts/verify-commit.tsOK on the cherry-picked base (fmt, ast-check,zig build test, public-API baseline match)bun test15/15rg -c "array_list.Managed" scripts/→ no matches