Skip to content

fix(quality): R6 — close cross-plan gaps (argsAlloc row, Managed ArrayList) - #4

Merged
Eugene3dotdev merged 2 commits into
mainfrom
fix/r6-cross-plan-gaps
Jun 12, 2026
Merged

Eugene3dotdev merged 2 commits into
mainfrom
fix/r6-cross-plan-gaps

Conversation

@Eugene3dotdev

Copy link
Copy Markdown
Owner

Summary

Carries the R6 commit that missed the PR #1 merge window (squash 40eb46a landed at 08:29Z; R6 was pushed to the old branch at 09:17Z). Cherry-picked cleanly onto main as 418c357.

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 — the argsAlloc row claimed the API is "unchanged"; it now shows the Juicy Main pattern init.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 — replaced std.array_list.Managed(...).init(gpa) (directory-walk stack + both escapeJsonString bodies) with the unmanaged std.ArrayList idiom (.empty, append(gpa, …), deinit(gpa), toOwnedSlice(gpa)). scripts/ now has zero Managed occurrences — the exact drift class zig-fitness exists to police.

Test plan

  • zig-fitness + emit-sbom compile for native and x86_64-windows-msvc
  • bun scripts/verify-commit.ts OK on the cherry-picked base (fmt, ast-check, zig build test, public-API baseline match)
  • bun test 15/15
  • rg -c "array_list.Managed" scripts/ → no matches
  • pre-commit + pre-push gitleaks/veles clean

…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.
Copilot AI review requested due to automatic review settings June 12, 2026 09:24
@coderabbitai

coderabbitai Bot commented Jun 12, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

@EugOT, we couldn't start this review because you've reached your PR review rate limit.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: a5941957-857b-4a0d-b6a1-cad4ddc2a525

📥 Commits

Reviewing files that changed from the base of the PR and between 40eb46a and f3158b0.

📒 Files selected for processing (3)
  • doc/TIGER_STYLE_ZIG.md
  • scripts/emit-sbom.zig
  • scripts/zig-fitness.zig
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/r6-cross-plan-gaps

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

Copilot AI 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.

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 of std.process.argsAlloc.
  • Replace std.array_list.Managed with unmanaged std.ArrayList patterns in scripts/zig-fitness.zig (directory-walk stack + JSON escaping).
  • Apply the same unmanaged std.ArrayList conversion to scripts/emit-sbom.zig’s escapeJsonString.

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.

Comment thread scripts/zig-fitness.zig
@kilo-code-bot

kilo-code-bot Bot commented Jun 12, 2026 •

Copy link
Copy Markdown

Code Review Roast 🔥

Verdict: No Issues Found | Recommendation: Merge

The previous review's scripts/zig-fitness.zig:54 leak warning is resolved on this head: the stack cleanup lives in a defer block that runs on error paths, and the new path helper frees the owned path if append fails. I had my flamethrower warmed up, and the only thing burning is my misplaced confidence.

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)
  • scripts/zig-fitness.zig

Reviewed by nex-n2-pro:free · 232,427 tokens

@Eugene3dotdev

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jun 12, 2026 •

Copy link
Copy Markdown
✅ 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.

@Eugene3dotdev
Eugene3dotdev merged commit b9c320a into main Jun 12, 2026
1 of 2 checks passed
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