Skip to content

docs(packs): demote the lint to the fast pre-build net; truth-up wall status (#498 PR 5) - #550

Merged
apotema merged 1 commit into
mainfrom
feat/498-lint-demotion
Jul 5, 2026
Merged

apotema merged 1 commit into
mainfrom
feat/498-lint-demotion

Conversation

@apotema

@apotema apotema commented Jul 5, 2026 •

Copy link
Copy Markdown
Contributor

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.zig header: 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.ComponentRegistry through the anytype game param 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).
  • Rule messages: the string half now names @import("pack").Registry as 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_component untouched).
  • Stale deferral headers: root.zig's pack dir-scan block, 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 at docs/packs.md.
  • docs/packs.md status → 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

  • Documentation
    • Updated Packs roadmap/status docs to reflect the latest completed PRs and demo/CI fixture status.
    • Clarified enforcement and validation notes across the Packs documentation and inline guidance.
  • Bug Fixes
    • Improved several lint and diagnostic messages so cross-pack access and import issues are described more clearly.

…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
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Jul 5, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: df529c7a-0447-4ad0-b43e-d7b5c568f187

📥 Commits

Reviewing files that changed from the base of the PR and between 8da649f and 79f1aa5.

📒 Files selected for processing (5)
  • docs/packs.md
  • src/check.zig
  • src/pack_validate.zig
  • src/plugin_manifest/pack.zig
  • src/root.zig

📝 Walkthrough

Walkthrough

This 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.

Changes

Packs enforcement documentation and diagnostics

Layer / File(s) Summary
Enforcement comment and diagnostic messages
src/check.zig
Expands the "enforcement is a stack" header comment and tightens three diagnostic message strings for cross-pack registry access and cross-pack import checks to reference compile-time module wall behavior.
Related enforcement comments
src/pack_validate.zig, src/plugin_manifest/pack.zig, src/root.zig
Rewords header/inline comments describing the RFC §6 gate layer, pack.labelle enforcement enumeration, and the now-complete pack/module wall.
Roadmap status update
docs/packs.md
Updates the roadmap note to reflect PRs 1–5 landed and PR 6 wording for the packs-demo example and CI e2e fixture.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Poem

A rabbit combs through comments fine,
No logic changed, just clearer signs,
The wall is done, the docs now say,
PR six has come to play,
Hop along, review's a breeze today! 🐇📝

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the PR’s main focus on updating pack lint/enforcement docs and status wording.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/498-lint-demotion

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

@gemini-code-assist gemini-code-assist Bot 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.

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.

@apotema
apotema merged commit e17e857 into main Jul 5, 2026
4 checks passed
@apotema
apotema deleted the feat/498-lint-demotion branch July 5, 2026 15:47
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.

1 participant