Skip to content

[rush reporter][R1B] Generate install-run-rush bootstrap protocol - #5986

Open
Sean Larkin (TheLarkInn) wants to merge 2 commits into
copilot/reporter-r1a-package-wiringfrom
copilot/reporter-r1b-bootstrap-generation
Open

[rush reporter][R1B] Generate install-run-rush bootstrap protocol#5986
Sean Larkin (TheLarkInn) wants to merge 2 commits into
copilot/reporter-r1a-package-wiringfrom
copilot/reporter-r1b-bootstrap-generation

Conversation

@TheLarkInn

@TheLarkInn Sean Larkin (TheLarkInn) commented Aug 28, 2026

Copy link
Copy Markdown
Member

Summary

  • make the reporter's self-contained bootstrap envelope encoder and protocol-major constant the source of truth for a generated rush-lib module
  • run a deterministic Heft build check that fails when the reporter protocol sources and committed generated artifact diverge
  • embed the generated local module in the existing install-run-rush webpack entry without importing @rushstack/rush-reporter at runtime

Stack

This is the R1B child of #5985. Auto-merge stays disabled while #5985 is open. After #5985 merges, retarget this PR to main, verify its slice and CI, then merge it before #5987.

Generation and boundary guarantees

libraries/reporter/scripts/generateBootstrapProtocol.js extracts only the marked zero-dependency protocol region, verifies its major matches REPORTER_PROTOCOL_VERSION.major, rejects imports/require() calls, and writes the committed artifact. Reporter builds execute the same renderer in check-only mode and compare the artifact deterministically after normalizing checkout line endings.

The generated module contains only the frozen major, envelope DTO types, and JSON.stringify encoder. The built install-run-rush.js contains the encoder and contains no @rushstack/rush-reporter reference.

Validation

  • heft test --clean --test-path-pattern Bootstrap --max-workers 2 in libraries/reporter
  • heft build --clean in libraries/rush-lib
  • node libraries/reporter/scripts/generateBootstrapProtocol.js --check
  • CRLF-safe stale-artifact generation check
  • combined final-tip Rush build/tests, rush check, and rush change --verify --no-fetch
  • gh pr diff 5986 contains only the 10-file R1B bootstrap-generation slice

Non-goals

This slice does not add reporter dependencies to rush-lib or apps/rush, change the PNPM lockfile, or implement the bootstrap handoff prelude. Those remain separate workstreams; this PR only establishes the generated protocol artifact and build guard.

Part of #5974

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
@TheLarkInn
Sean Larkin (TheLarkInn) force-pushed the copilot/reporter-r1b-bootstrap-generation branch from b52b54e to 1b4252c Compare August 28, 2026 04:37
@TheLarkInn
Sean Larkin (TheLarkInn) changed the base branch from main to copilot/reporter-r1a-package-wiring August 28, 2026 04:37
@TheLarkInn

Copy link
Copy Markdown
Member Author

Linear stack update: R1B is now head 1b4252c based on #5985. Its GitHub diff is exactly the 10-file bootstrap-generation slice; CRLF-safe generation and the committed generated protocol remain intact. Auto-merge is disabled until #5985 merges.

@TheLarkInn

Copy link
Copy Markdown
Member Author

Combined deep review of current head 1b4252ccd8.

No critical, high, or medium actionable findings. No useful low follow-ons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Needs triage

Development

Successfully merging this pull request may close these issues.

1 participant