Repository navigation
docs(packs): demote the lint to the fast pre-build net; truth-up wall status (#498 PR 5) - #550
Conversation
…wall's status everywhere (#498 PR 5) The wall shipped (PRs 1-4), so the enforcement-stack story changes: - check.zig header: rules 1 (typed half) and 4 are now ALSO compile errors — the lint keeps them as the fast no-build diagnostic. Rule 1's STRING half stays load-bearing forever: game.ComponentRegistry through the anytype game param resolves every name, and that hole is exactly what the lint nets. Rules 2-3 stay lint-only by design (the RFC's honest limit). This also fixes the header's old claim that rule 2 would become a compile error — it never does. - Rule messages: the string half now names @import("pack").Registry as the sanctioned path; the typed half and rule 4 gain the 'also fails to compile since #498' demotion note. Nothing deleted. - Stale deferral headers truthed up: root.zig's pack dir-scan block, plugin_manifest/pack.zig, pack_validate.zig — all now point at docs/packs.md instead of describing the wall as engine-side #652-remainder / deferred. - docs/packs.md status → PRs 1-5 landed; PR 6 = example + e2e. No behavior changes — comments and diagnostic strings only. Part of #498 Claude-Session: https://claude.ai/code/session_01P7YLw4hXFCCaY2LAUt4G1j
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThis PR updates comments and diagnostic message strings across several Zig files (check.zig, pack_validate.zig, plugin_manifest/pack.zig, root.zig) describing the Packs enforcement stack and its compile/lint boundaries, plus a corresponding roadmap status update in docs/packs.md. No logic, APIs, or exported entities changed. ChangesPacks enforcement documentation and diagnostics
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Code Review
This pull request updates documentation and code comments across several files to reflect the completion and shipping of the pack module wall (assembler#498 PRs 1-5). It details how compile-time enforcement now handles typed views and cross-pack imports, clarifies what remains lint-only, and updates lint warning messages to provide better context. I have no feedback to provide as there are no review comments.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
PR 5 of the #498 train — no behavior changes; comments + diagnostic strings only.
With the wall complete (PRs 1–4), the enforcement-stack story is updated everywhere it was stale:
check.zigheader: rule 1's typed half (view(.{Foreign})) and rule 4 (literal cross-pack imports) are now also compile errors — the lint keeps them as the fast no-build diagnostic. Rule 1's string half stays load-bearing forever:game.ComponentRegistrythrough theanytypegameparam resolves every name; that hole is exactly what the lint nets. Rules 2–3 stay lint-only by design. This also fixes the header's old claim that rule 2 would become a compile error (per the ticket: it never does).@import("pack").Registryas the sanctioned path; the typed half + rule 4 gain the "also fails to compile since packs: wire the wall — per-pack module graph + PackView registry partition + exposes enforcement (#650 enforcement remainder) #498" note. Nothing deleted — per the ticket's demote-don't-delete inventory (raw_global_facet_write,event_direction_inversion,scene_bare_pack_componentuntouched).plugin_manifest/pack.zig,pack_validate.zig— all described the wall as "engine-side Parity: engine now accepts flat-form pack-namespaced component keys — assembler classifiers don't #652-remainder / deferred"; all now point atdocs/packs.md.docs/packs.mdstatus → PRs 1–5; PR 6 =examples/packs-demo+ CI e2e fixture.(The ticket's PR 5 also carried the >1000-line splits — those landed independently as #539–#549, so this PR is the residual truth-up.)
Suite: 46/46 steps, 1279/1283 (4 skipped, 0 failed).
Part of #498
https://claude.ai/code/session_01P7YLw4hXFCCaY2LAUt4G1j
Summary by CodeRabbit