Agents: bind fleet closeout to generated pack - #4805
Conversation
WalkthroughThe fleet validation prompt generator now normalizes pack output paths, passes them into index rendering, and generates pack-scoped ledger closeout commands with coverage for absolute and relative output directories. ChangesFleet pack closeout
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.agents/skills/run-fleet-validation/scripts/generate_prompts.rb:
- Line 89: Resolve and normalize output_dir to an absolute path before passing
it to render_index and embedding PACK_DIR, including the related result-ledger
and tracker path handling. Add a regression test covering a relative
--output-dir and verify generated paths remain anchored to that directory
regardless of the launch directory.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 968fc38d-8219-433e-b01c-38fbb9a76ed2
📒 Files selected for processing (2)
.agents/skills/run-fleet-validation/scripts/generate_prompts.rb.agents/skills/run-fleet-validation/scripts/generate_prompts_test.rb
Review: Agents: bind fleet closeout to generated packOverviewFixes ambient-CWD ambiguity in the generated Code quality
Test coverage
Risk / correctness notes (non-blocking)
VerdictClean, well-tested, low-risk fix that does what the PR description claims. No blocking issues found. |
Greptile SummaryThis PR binds generated fleet closeout commands to a
Confidence Score: 3/5The PR should not merge until generated closeout commands bind relative output directories to the pack’s actual absolute location. The CLI permits relative output paths and carries them unchanged into Files Needing Attention: .agents/skills/run-fleet-validation/scripts/generate_prompts.rb, .agents/skills/run-fleet-validation/scripts/generate_prompts_test.rb Important Files Changed
Reviews (1): Last reviewed commit: "Bind fleet closeout to its generated pac..." | Re-trigger Greptile |
Address-review summaryScan scope: full PR history through 2026-07-27T03:16:10Z (no previous summary cutoff). Mattered
Skipped
Validation on the fixed head: generator 166 runs / 670 assertions; fleet health 73 runs / 393 assertions; both RC12 replays passed; focused and CI-equivalent RuboCop passed; skill validation passed; independent Sol/xhigh checker returned CLEAN with no outstanding findings. Next default scan starts after this comment. Say |
Review: Agents: bind fleet closeout to generated packOverviewSmall, well-scoped fix to Code quality
Potential issues
Test coverage / verificationNew tests are well targeted, and the space-containing-path case is a good choice to force quoting bugs to surface. The PR description lists a thorough manual verification list (full test suites, rubocop, lifecycle/health replay scripts, SecurityNo concerns — this only changes generated documentation/instructions for a human-run validator command in internal release tooling; no new attack surface, and the shell-escaping is correct. Overall: solid, low-risk fix. Recommend addressing the |
|
Reviewed the documentation-drift observation in the current-head Claude review: #4805 (comment) No code or documentation change is needed. The skill's closeout example already invokes The noted absolute-path tradeoff is intentional: a fleet pack is machine/path-bound launch evidence. If it is moved to another machine or location, the operator must generate a fresh pack rather than reuse stale closeout instructions. |
Address-review summaryScan scope: current-head feedback since the previous summary at 2026-07-27T03:16:36Z. Mattered
Skipped
No open review threads remain, required checks are complete, and the exact-head independent checker is CLEAN. Next default scan starts after this comment. Say |
|
Completed-batch audit: replay evidence follows. |
…t-policy * origin/main: (33 commits) Fix ci-required base ref for PR merge-ref checkouts (#4819) Honor response charset and reject non-2xx HTTP-served SSR bundles (#4817) [Pro] Redact RSC render-error metadata on the fetched (client-navigation) payload path (#4821) Forward-port the 17.0.1 changelog section to main (#4814) Handle selector metacharacters in renderComponent DOM IDs (#4808) [Pro] Prevent caching RSC renders with errors (#4804) Agents: trust Copilot review identities (#4807) Agents: bind fleet closeout to generated pack (#4805) Docs: ADR 0002 — Skills-in-package over MCP for agent-native DX (#4735) Scope GitHub release commands to the origin repository (#4803) Forward-port OSS npm license metadata fix (#4794) Add golden-output gate for the serverWebpackConfig generator template (#4790) Cover the rspack CSS SSR generator fixes and de-duplicate the loader path (#4788) Configure agent workflow repo policy (#4785) Forward-port gh include mixed framing from #4684 (#4784) Release: enforce one-change forward-port closeout (#4783) Forward-port multi-URL rolling-deploy seeding to main (#4782) Docs: clarify React 18 streaming without RSC (#4780) Docs: forward-port v17 upgrade and generator gate guidance (#4781) Record the final React on Rails 17.0.0 changelog (#4742) ... # Conflicts: # AGENTS.md # internal/contributor-info/release-train-runbook.md
…ential-broker * origin/main: (75 commits) Silence routine startup diagnostics for Rails commands (#4849) Docs: move agent coordination to the HTTP backend (#4764) Detect unnoticed changes across generated webpack/Rspack configs (#4839) Fix durable ShakaPerf release evidence reuse (#4833) Docs: add missing content — release notes, upgrade guide, config, API references (#4843) (#4844) Fix incorrect docs: helper names, defaults, requirements, runtime refs (#4836) Scroll-priority streaming: candidate architecture evaluation (#4835) (#4841) Fix generated server config lint cleanup (#4840) Document serialized release backport policy (#4592) Package version-matched agent skills and docs (#4809) Fix ci-required base ref for PR merge-ref checkouts (#4819) Honor response charset and reject non-2xx HTTP-served SSR bundles (#4817) [Pro] Redact RSC render-error metadata on the fetched (client-navigation) payload path (#4821) Forward-port the 17.0.1 changelog section to main (#4814) Handle selector metacharacters in renderComponent DOM IDs (#4808) [Pro] Prevent caching RSC renders with errors (#4804) Agents: trust Copilot review identities (#4807) Agents: bind fleet closeout to generated pack (#4805) Docs: ADR 0002 — Skills-in-package over MCP for agent-native DX (#4735) Scope GitHub release commands to the origin repository (#4803) ...
Why
Fleet closeout is the release-safety boundary that validates the durable result ledger and renders the tracker disposition. The generated
INDEX.mdpreviously invoked the validator from the repository root but passed bareresult-ledger.jsonandtracker-closeout.mdpaths. That made the command depend on the operator's current directory and could validate or write an unrelated file instead of the selected fleet pack.This branch was refreshed from current
origin/main. Its four historical local commits were already merged byte-for-byte as squash commit5121928cain #4694, so they were not replayed as duplicate history; the current-main implementation and later lifecycle hardening were reviewed semantically instead.What changed
PACK_DIRand bind both--ledgerand--render-trackerto that exact directory.bundle exec ruby, matching the documented repository workflow.Release-safety rationale
The independent checker still receives pack ID, selector, candidate/tag commit, policy commit, and tracker mode from external launch evidence. This change does not relax schema or semantic validation. It removes ambient-CWD ambiguity so a successful closeout necessarily reads the intended pack ledger and writes the tracker matrix beside it, reducing the risk of false promotion evidence.
Verification
bundle exec ruby .agents/skills/run-fleet-validation/scripts/generate_prompts_test.rb— 166 runs, 670 assertionsbundle exec ruby .agents/skills/run-fleet-validation/scripts/replay_rc12_lifecycle.rb— passbundle exec ruby .agents/skills/run-fleet-validation/scripts/fleet_health_test.rb— 73 runs, 393 assertionsbundle exec ruby .agents/skills/run-fleet-validation/scripts/replay_rc12_fleet_health.rb— passbundle exec rubocop --config .agents/.rubocop.yml .agents/skills/run-fleet-validation/scripts/generate_prompts.rb .agents/skills/run-fleet-validation/scripts/generate_prompts_test.rb— no offenses.agents/bin/validate --changed— passReview-system coverage
Current head:
8fc13ee7693955223b95628757077910c654fe07.Churn and scope
Summary by CodeRabbit
PACK_DIRvalue for both absolute and relative output locations.Completed-batch audit
Status: Clean — no outstanding findings or follow-ups. Durable receipt.