Add Copilot instructions for PR review - #14
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
A production runs for days across many sites and yields samples analyses then trust, so the
expensive failures are the ones that finish successfully with the wrong content — wrong global
tag, wrong event count, a step run with a mismatched release. Nothing downstream notices: the
files are valid, they are simply not what was asked for. The file asks reviewers to weigh a diff
by what it would cost to discover the mistake after the samples exist.
Specifics:
config/conditions_Run3.yaml) pin what every subsequent sample is producedwith; the
conditions-checkworkflow also runs weekly because central campaigns get amendedafter they open. A value copied from another era must be deliberate.
gridpacksis a Git-LFS store meantto be checked out sparsely with LFS downloads disabled by
setup_gridpacks.sh; a plainrecursive
git submodule update --initpulls ~610 MB. Any script, workflow or docs snippet thatadds it to a recursive update is a finding.
dsprod/run_step.py): each step's release and conditions must match thesetup, output filenames must thread through, and event counts should not change across the chain
without a filter to explain it.
decided by remote paths, cached
exists(), read-after-write lag.it.
Documentation: this repository has its own MkDocs site, so the docs gate points at the specific
pages (
configuration/conditions.md,configuration/prod-setups.md,configuration/processes.md)and at
mkdocs build --strict. A change to whatcms-flaf/DSProdModelsmust provide needs a PRthere too.
Branched from
mainand developed in a worktree, so thefix-nano-merge-haddnanowork in progressis untouched.