Skip to content

fix(gc): address bot review followups from #7291, #7281, #7284 - #8257

Merged
proggeramlug merged 1 commit into
PerryTS:mainfrom
jdalton:fix/bot-feedback-followups
Aug 16, 2026
Merged

fix(gc): address bot review followups from #7291, #7281, #7284#8257
proggeramlug merged 1 commit into
PerryTS:mainfrom
jdalton:fix/bot-feedback-followups

Conversation

@jdalton

@jdalton jdalton commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

fix(gc): address bot review followups from #7291, #7281, #7284

Three verified bot findings folded into one commit:

  1. policy.rs "sound by construction" overclaim (fix(gc): root optional parameters, and the instance in runtime-dispatched new (#7280) #7291 thread): the
    GC: #7154's residual is NOT fixed — the loop-polls config is red 0/30, and stock zod alone fails 5/40 #7280 correction at line 2379 explicitly says the deferral is NOT
    "sound by construction" because runtime Rust frames need explicit
    rooting, but the comment at line 2474 still called the same deferral
    "sound by construction." Aligned it to "makes the collection point
    precise," matching the corrected framing.

  2. gc-rooting-invariant.md "collection #0" imprecision (docs(gc-rooting): #7211 is fixed, and add the runtime-cache class #7281 thread):
    a runtime cache populated after earlier collections goes bad at the
    first moving collection after population, not at collection #0.
    Reworded to state that precisely.

  3. 15 untagged TypeScript doc fences (docs(gc-rooting): #7211 is fixed, and add the runtime-cache class #7281 thread): perry-doc-tests
    --lint reported untagged ts/typescript fences across docs/src. Tagged
    each as typescript,no-test. Linter now reports "docs/src ok."

Refuted (no change needed):

Summary by CodeRabbit

  • Documentation

    • Clarified garbage-collection guidance, including when unregistered runtime caches may become stale.
    • Updated TypeScript examples with consistent language annotations.
    • Excluded illustrative code snippets from automated documentation tests where appropriate.
  • Chores

    • Improved internal garbage-collection commentary to more precisely describe nursery deferral behavior.

…PerryTS#7284

Three verified bot findings folded into one commit:

1. policy.rs "sound by construction" overclaim (PerryTS#7291 thread): the
   PerryTS#7280 correction at line 2379 explicitly says the deferral is NOT
   "sound by construction" because runtime Rust frames need explicit
   rooting, but the comment at line 2474 still called the same deferral
   "sound by construction." Aligned it to "makes the collection point
   precise," matching the corrected framing.

2. gc-rooting-invariant.md "collection #0" imprecision (PerryTS#7281 thread):
   a runtime cache populated after earlier collections goes bad at the
   first moving collection after population, not at collection #0.
   Reworded to state that precisely.

3. 15 untagged TypeScript doc fences (PerryTS#7281 thread): perry-doc-tests
   --lint reported untagged ts/typescript fences across docs/src. Tagged
   each as typescript,no-test. Linter now reports "docs/src ok."

Refuted (no change needed):
- PerryTS#7284 thread claimed docs overclaim --audit-poll-capable CI wiring,
  but the workflow step was included in the PR squashed commit and is
  present on main; the docs are accurate.
- PerryTS#7281 thread 3 claimed the static-checker scope was unlimited, but
  the doc already says "Scope: emitted-LLVM rooting hazards only."
@coderabbitai

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a3c992a6-b900-490d-8b20-b8acf6206837

📥 Commits

Reviewing files that changed from the base of the PR and between 8259aa6 and 6dac04b.

📒 Files selected for processing (11)
  • crates/perry-runtime/src/gc/policy.rs
  • docs/src/cli/app-updates.md
  • docs/src/cli/flags.md
  • docs/src/container/determinism.md
  • docs/src/container/overview.md
  • docs/src/internals/explicit-memory.md
  • docs/src/internals/gc-rooting-invariant.md
  • docs/src/language/limitations.md
  • docs/src/language/native-values.md
  • docs/src/plugins/native-extensions.md
  • docs/src/testing/node-compat-matrix.md

Included review availability: Your plan includes up to 8 reviews per rolling hour; 6 remain after this review.


📝 Walkthrough

Walkthrough

The PR refines GC collection and cache-staleness wording. It also updates selected TypeScript documentation fences to use explicit typescript annotations and exclude examples from documentation tests.

Changes

Documentation updates

Layer / File(s) Summary
GC behavior wording
crates/perry-runtime/src/gc/policy.rs, docs/src/internals/gc-rooting-invariant.md
The GC fallback comment and runtime-cache guidance now describe precise collection and staleness timing.
TypeScript example annotations
docs/src/cli/*, docs/src/container/*, docs/src/internals/explicit-memory.md, docs/src/language/*, docs/src/plugins/native-extensions.md, docs/src/testing/node-compat-matrix.md
Selected examples now use typescript,no-test or include the no-test annotation.

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

Merge Risk: ⚪ Minimal · up to 6dac0

This PR makes localized documentation and comment corrections without changing product behavior, so no actionable merge-blocking risk remains beyond normal checks and review.

Possibly related PRs

Suggested reviewers: proggeramlug

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the pull request as a fix for specific bot review follow-ups that match the documented changes.
Description check ✅ Passed The description clearly explains the changes, related issue threads, validation result, and refuted findings, although it does not follow the full template structure.
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

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@proggeramlug
proggeramlug merged commit 183d30c into PerryTS:main Aug 16, 2026
18 of 20 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