feat(engine): REMOTE-SYNC — a tag that exists only in one clone
VERSION-TAG reads LOCAL tags, so a manifest claiming 1.0.0 against an unpushed v1.0.0 reads as a clean pass while no stranger can resolve that version. portfolio-optimiser read OK until this check existed; it now reads ERROR, which is the finding the gate was blind to rather than a new demand on the repo. Measured across all 21 registered clones: exactly one has an unpushed tag, and none is behind the forge. One subject is what got BRANCH-STALE rejected — the difference is that an unpushed tag is never one of two legitimate conventions the way tag-only releasing is, the remedy moves no published ref, and it recurs at every release rather than once. The reverse direction is deliberately not a finding: a clone that has not fetched lately is behind the forge and nothing about the repository is wrong. 211 tests (was 205). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WWc4piM4QW6Jxfky2Rw4Z8
This commit is contained in:
parent
a563035feb
commit
aebd4d28a9
4 changed files with 124 additions and 1 deletions
13
CLAUDE.md
13
CLAUDE.md
|
|
@ -175,6 +175,17 @@ would recreate, in data, exactly the drift this plugin exists to remove.
|
|||
(v0.9.0 tagged, v0.3.0 published), and an `ERROR` would have let the gate
|
||||
decide an operator question — whether this org publishes releases at all —
|
||||
by exiting 1 on its own author.
|
||||
- **An unpushed tag is a version that exists for nobody, and it is
|
||||
`VERSION-TAG`'s blind spot, not its duplicate.** `VERSION-TAG` reads LOCAL
|
||||
tags, so a manifest claiming `1.0.0` against an unpushed `v1.0.0` reads as a
|
||||
clean pass — `portfolio-optimiser` read `OK` until `REMOTE-SYNC` existed.
|
||||
One subject in the corpus is what got `BRANCH-STALE` rejected; the difference
|
||||
is that an unpushed tag is never one of two legitimate conventions the way
|
||||
tag-only releasing is, the remedy (`git push origin <tag>`) moves no published
|
||||
ref, and the finding recurs at every release rather than once. The reverse
|
||||
direction — a clone behind the forge — is deliberately not a finding: that is
|
||||
the reader's machine state, not the repository's, and failing correct repos on
|
||||
it is how gates get switched off.
|
||||
- **Version order, in the measurement as well as in the code.** The shell that
|
||||
measured this check's baseline sorted tags with `sort -t. -k1,1V` and put
|
||||
`v0.9.0` above `v0.10.0` — the exact defect `compareTags` already exists to
|
||||
|
|
@ -262,7 +273,7 @@ would recreate, in data, exactly the drift this plugin exists to remove.
|
|||
## Commands
|
||||
|
||||
```bash
|
||||
npm test # 205 tests
|
||||
npm test # 211 tests
|
||||
node scripts/repo-standard-check.mjs --dir "$PWD" # gate one repo
|
||||
node scripts/repo-standard-check.mjs --offline # no network call
|
||||
node scripts/repo-standard-check.mjs --json # machine output
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue