Skip to content

Add Copilot instructions for PR review - #22

Merged
kandrosov merged 1 commit into
cms-flaf:mainfrom
kandrosov:copilot-review-instructions
Aug 28, 2026
Merged

Add Copilot instructions for PR review#22
kandrosov merged 1 commit into
cms-flaf:mainfrom
kandrosov:copilot-review-instructions

Conversation

@kandrosov

Copy link
Copy Markdown

Why

This repository had no copilot-instructions.md, so Copilot reviewed its PRs with no idea what
this 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.md
for 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. resolveNegativeBins rejects a
    negative integral before it ever checks whether individual bins are negative-within-error, so
    allow_negative_integral disables a real protection. A new or widened allow_* is called out
    as 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.
  • Datacard entries: a bare string means Process(name, name) while a mapping carries hist_name,
    is_signal, param_values and channels — the wrong form changes what is read, not just the
    label. 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, an
    optimisation silently returning fewer bins, signalFractionForRelevantBins semantics.
  • Reproducibility: results are compared across eras, channels and analyses, so a dependence on
    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.md or FLAF/docs/.

@kandrosov
kandrosov merged commit 85e76c4 into cms-flaf:main Aug 28, 2026
3 checks passed
@kandrosov
kandrosov deleted the copilot-review-instructions branch August 28, 2026 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant