Add Copilot instructions for PR review - #3
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
This repository had no
copilot-instructions.md, so Copilot reviewed its PRs with no idea whatthis code is for or what goes wrong in it.
The file added here is written for PR review, not onboarding — the five existing files in the
ecosystem were generated by Copilot's repository-onboarding feature in November 2025, and are
being rewritten in the same way (cms-flaf/FLAF#310 and its companions): what a useful comment
looks like here, the invariants worth checking with the failure signature each produces, the rule
that documentation ships in the same PR, and — deliberately — what not to comment on, since
noise is an automated reviewer's main cost.
Framework-wide rules are not duplicated; the file points at
FLAF/.github/copilot-instructions.mdfor them.
Testing
Documentation only — no code change. Every path, filename and directory referenced was verified to
exist in the current tree, and the facts table is dated so the next reader knows how much to trust
it.
What it says
This repository has no CI at all — no formatting check, no consistency check, no integration
test. Review is the only gate between a change here and a production that runs for days on the
grid, and nothing in it executes at review time, so nothing fails fast. The file opens with that,
and asks reviewers to read a diff the way they would read a configuration change to a running
system: assume it will be applied exactly as written, and ask what it will produce.
Specifics:
events_totalper era, and the existing fileswrite out how those numbers were obtained — a luminosity scaling from central production, then a
unification rule across mass points. A diff that changes a count, adds an era or adds a mass
point must keep that derivation truthful; a number that no longer follows from the comment above
it is the most expensive error this repository can hold (too low and the sample is unusable, too
high and the grid time is wasted).
cards/orfragments/changes whata new gridpack produces while gridpacks already built stay as they were — silent divergence
that is undetectable downstream.
central dataset uses on DAS, and the plugin maps those onto a cards directory and a fragment; a
rename or a missing
PRODUCTION_MODESentry breaks it at production time.eras,nano_versionsand DSProd's conditions — and Summer24MC is shared across 2024/2025/2026, so a count for 2024 covers all three.
cms-flaf/DSProdGridpacks.The "do not flag" list matters here too: generator card formats are MadGraph's, the verbose
comment blocks are the derivation record rather than clutter, and nothing is testable in
isolation.
Branched from
mainand developed in a worktree, so theadd-2022-eraswork in progress isuntouched.