Add Copilot instructions for PR review - #22
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 produces the numbers that go in the paper, and a mistake here does not crash — it
yields a limit that is plausible and wrong, with nothing downstream to catch it. The file is built
around that:
allow_*flags are safety switches, not conveniences.resolveNegativeBinsrejects anegative integral before it ever checks whether individual bins are negative-within-error, so
allow_negative_integraldisables a real protection. A new or widenedallow_*is called outas a finding unless the PR justifies it — the honest fix is usually more statistics or dropping
the process, and an amc@NLO sample with too few events is a reason not to use it rather than a
reason to allow a negative integral.
Process(name, name)while a mapping carrieshist_name,is_signal,param_valuesand channels — the wrong form changes what is read, not just thelabel. The card's
eras:list is its scope. Histogram names must match what the analysis wrote.bin_opt/changes alter sensitivity: signal-derived edges applied to backgrounds, anoptimisation silently returning fewer bins,
signalFractionForRelevantBinssemantics.dictionary or filesystem ordering is a finding even when one run looks fine.
Documentation: this repository has no site of its own, so a user-visible change needs a companion
PR to
HH_bbtautau/docs/stat_inference.md,HH_bbWW/docs/stat_inference.mdorFLAF/docs/.