Skip to content

docs/test(gc): establish a current collector source of truth and remove deleted knobs from live gates #7877

Description

@proggeramlug

Summary

The GC documentation no longer has a reliable current entry point, and a deleted collector knob remains in an executable CI stress script. After ~200 GC-heavy commits in four days, several documents present mutually exclusive states as current.

Concrete drift on main (79d2f59ed, v0.5.1473):

Evidence

Proposed structure

Create one short, current GC architecture/operations page covering:

  • shipped collector modes and actual env knobs;
  • nursery/old-gen regions, copying vs fallback/full paths;
  • root mechanism by target, barriers, weak processing, memory pressure, block pooling, and old-defrag status;
  • the authoritative validation commands/workflows and which are required contexts;
  • links to historical experiment journals clearly marked as historical/chronological evidence.

Do not rewrite valuable experiment history. Put a prominent dated supersession banner and a current conclusion at the top, then link to the current page.

Acceptance criteria

  • A reader can identify the shipped GC/rooting defaults and supported knobs from one current page without reconciling chronological journals.
  • Historical plans/experiments are labeled historical and no longer make an obsolete opening decision look current.
  • Remove PERRY_GEN_GC_EVACUATE from executable test environments, source docs, and generated translation source; replace each test arm with the actual knob/subject it intends to exercise.
  • Add a cheap stale-knob check: executable scripts/docs claiming GC env knobs must match an allowlisted runtime/codegen parser (with explicit historical-doc exemptions).
  • Correct the GC source path and freshness cadence.
  • Update or retire the “authoritative” claim/tracker in engine-plan.md.

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationtoolingDeveloper tooling, CI, tests, or release infrastructure

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions