mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 14:46:55 +01:00
Merge pull request #14 from Curabis/rule/mode-b-never-overwrite-files-still-need-staleness-checks
[BCQuality] never-overwrite files in Mode B need staleness checks
This commit is contained in:
commit
900406b3aa
1 changed files with 57 additions and 0 deletions
|
|
@ -0,0 +1,57 @@
|
|||
---
|
||||
bc-version: [all]
|
||||
domain: architecture
|
||||
keywords: [mode-b, heartbeat, staleness, reconciliation, never-overwrite, drift]
|
||||
technologies: [al]
|
||||
countries: [w1]
|
||||
application-area: [all]
|
||||
---
|
||||
# Mode B: "never overwrite" files still need staleness checks
|
||||
|
||||
## Description
|
||||
|
||||
Files that Mode B ("Opdater CURABIS Standard fra BCQuality") marks as "never overwrite" —
|
||||
because they protect legitimate developer or team customization — must still get a targeted
|
||||
staleness check against known-bad patterns, with a proposed and confirmed fix. "Never
|
||||
overwrite" must not mean "never re-examined." Without this, a bug introduced into the
|
||||
template before a repo's copy was created persists in that repo forever, immune to every
|
||||
future Mode B run, no matter how many times it executes.
|
||||
|
||||
## Why This Matters
|
||||
|
||||
`CLAUDE.md` already has this pattern: Mode B checks its `## BCQuality` section for obsolete
|
||||
forms (raw GitHub URLs, references to the abandoned `Curabis/BCQuality` fork, hardcoded
|
||||
per-developer paths) and proposes a fix when found. `HEARTBEAT.md` had no equivalent check —
|
||||
only a blanket "create if missing, never overwrite." A stale `Curabis/BCQuality` PR-check
|
||||
reference (the fork is dead; the active repo is `Curabis/QualityHub`) sat undetected in the
|
||||
template and in every repo's deployed copy, because three layers all skipped it: Mode B
|
||||
explicitly never re-touches the file, Rømer's inspection round does not include it, and
|
||||
Florence — who reads the file every round — has no self-audit mechanism and silently reports
|
||||
"Routine: no open PRs" against a repository that will never have any, because it is not the
|
||||
one anyone opens PRs against anymore.
|
||||
|
||||
## What Counts As A Violation
|
||||
|
||||
- A file is marked "never overwrite" in Mode B's reconciliation table with no accompanying
|
||||
staleness check for known-bad content patterns.
|
||||
- A known-bad pattern is fixed in a template but Mode B has no mechanism to propose the same
|
||||
fix in repos whose copy predates the fix.
|
||||
|
||||
## Correct Pattern
|
||||
|
||||
For every "never overwrite" file in Mode B's table, add a staleness check mirroring the
|
||||
`CLAUDE.md` obsolete-forms check:
|
||||
|
||||
1. Check the existing file for known-bad patterns (maintained list, e.g. references to
|
||||
`Curabis/BCQuality` instead of `Curabis/QualityHub`).
|
||||
2. If a match is found, show the specific line(s) and the proposed corrected line(s).
|
||||
3. Ask for confirmation before editing — never silently rewrite the file.
|
||||
4. Preserve everything else in the file untouched (this is a targeted line fix, not a
|
||||
template re-apply).
|
||||
|
||||
## Verification
|
||||
|
||||
For each row in Mode B's reconciliation table marked "never overwrite," confirm the setup
|
||||
agent documentation includes a paired staleness-check step naming at least one concrete
|
||||
known-bad pattern to look for. A "never overwrite" row with no staleness check is this rule
|
||||
being violated.
|
||||
Loading…
Add table
Add a link
Reference in a new issue