Skip to content

measured-elsewhere: a goal can pass FOR-THIS-REPO while every fact in it was measured elsewhere - #644

Merged
jobordu merged 1 commit into
mainfrom
tl/measured-elsewhere
Sep 7, 2026
Merged

measured-elsewhere: a goal can pass FOR-THIS-REPO while every fact in it was measured elsewhere#644
jobordu merged 1 commit into
mainfrom
tl/measured-elsewhere

Conversation

@jobordu

@jobordu jobordu commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Answers #502 D — the one finding its reporter explicitly asked for a read on, and the most valuable thing in that report. TEAMLEAD (session 15b69750), 2026-09-07.

The gap, in one line

scripts/check-goal-conformance.py separates declared scope from mentioned scope, and cannot separate declared scope from measured scope.

onboard.md step 3 tells an installer to re-scope each goal's **Repository:** line. Doing exactly that makes the checker report FOR-THIS-REPO for all five role goals while their bodies still describe the estate they were written in. In the reporter's real foreign install, certified-in-scope goals asserted:

  • "no test infrastructure at all … no test files of any kind"233 test files, pytest, a coverage gate
  • "no Kubernetes … no runtime to observe"19 k8s manifests, three production clusters

And the files were already honest about it. Those paragraphs carry [measured: nForma-NEXT 2026-08-19]. The provenance is written down. Nothing read it.

⛔ Use vs mention decided whether this was even needed — and grep says the opposite of the truth

grep -rl 'measured:'    tools/ scripts/   →  12 files      "plenty of things consume this"
grep -rl '\[measured'   tools/ scripts/   →   0 files

Twelve mentions of an English word. Zero parsers.

⛔ And a line-based reader undercounts the corpus by six

My first pass used grep -ohE '\[measured:[^]]*\]' and got 101. The tool reads 107. The gap is exactly the six tags that span a line break — grep matches within a line and cannot see them:

dev-implementation.md:442         [measured: Blazing-Back ⏎ 2026-08-19]
devops-substrate-and-fleet.md:281 [measured: Blazing-Back 2026-08-19; corroborated ⏎ nForma-NEXT …]

107 − 6 = 101, exactly. The corpus did not change; the reader did. ★ And the six are not a random sample — a tag long enough to wrap is one carrying provenance detail, the kind most worth reading. A reimplementation with grep would silently reproduce the undercount.

First run

107 provenance tags in 8 goal files
OWN 80 · ELSEWHERE 19 (all one sibling estate) · UNDATED 8

ELSEWHERE is a location, not a verdict, and the output says so on every run. A goal may legitimately cite a sibling estate's measurement; what this makes knowable is how many, and where. ⇒ After a vendoring re-scope it becomes ~107 of 107 — and the same checker still says FOR-THIS-REPO.

Every count is a lower bound. It reads the tag, never the claim, and nothing enforces tagging — so an untagged paragraph measured elsewhere is invisible by construction.

UNDATED is checked before the repo comparison and reported separately: [measured: nForma-NEXT <date>] names the right repo and establishes nothing about when, and one verdict would merge two different failures.

Imported, not copied

declared_scope and this_repo come from check-goal-conformance via importlib — a hyphenated filename cannot be imported, and that friction is exactly what produces a second, drifting reading of one noun (#345). The two tools must not be able to disagree about what "this repo" is.

Caller — non-gating, placed where the question arises

Preflight is the acceptance test for the install that just re-scoped those files:

warn  measured-elsewhere: some tagged claims were measured in ANOTHER repository
        ELSEWHERE 19 · OWN 80 · UNDATED 8

⛔ Not gating: in the origin estate 19 of 107 tags legitimately cite a sibling, and scoring that as failure would be red on every clean run here.

⛔ Two things the index checker caught in this PR, both fair

  • the file was untracked, so the row named something git could not see
  • my fixtures named a real sibling estate in executable position — a string literal is how the quarantine leg detects contamination, and it was right to flag it. The real instance belongs in the docstring, where it is a citation; in cases it would be a claim of belonging. Fixtures now use a synthetic name.

Suite — 11 checks, count derived

Known-positive a tag naming the declared repo; known-negative the #502 D shape. Controls for the owner/repo form, placeholder dates, UNDATED checked before the repo comparison, an unparseable Repository: line, case-insensitivity, two tags on one line, empty input, and — the load-bearing one — that the bare word measured: is not a tag. Breaking the repo comparison → exit 3; python3 -O → exit 2.

🤖 Generated with Claude Code

… it was measured elsewhere

Answers #502 D — the one finding its reporter explicitly asked for a read on, and the most
valuable thing in that report.

⛔ THE GAP IN ONE LINE. `scripts/check-goal-conformance.py` separates DECLARED scope from
MENTIONED scope, and cannot separate DECLARED scope from MEASURED scope.

`onboard.md` step 3 tells an installer to re-scope each goal's `**Repository:**` line.
Doing exactly that makes the checker report FOR-THIS-REPO for all five role goals while
their BODIES still describe the estate they were written in. In the reporter's real foreign
install, certified-in-scope goals asserted "no test infrastructure at all … no test files
of any kind" against a repo with 233 test files, and "no Kubernetes … no runtime to
observe" against 19 k8s manifests and three production clusters.

★ AND THE FILES WERE ALREADY HONEST ABOUT IT. Those paragraphs carry
`[measured: nForma-NEXT 2026-08-19]`. The provenance is written down. Nothing read it.

⛔⛔ USE VS MENTION DECIDED WHETHER THIS WAS EVEN NEEDED, and a grep says the opposite of
the truth: `grep -rl 'measured:'` finds 12 files under tools/ and scripts/, which reads as
"plenty of things consume this tag". `grep -rl '\[measured'` finds ZERO. Twelve mentions of
an English word, zero parsers.

⛔ AND A LINE-BASED READER UNDERCOUNTS THE CORPUS BY SIX. My first pass used
`grep -ohE '\[measured:[^]]*\]'` and got 101; the tool reads 107. The gap is exactly the six
tags that SPAN A LINE BREAK — `[measured: Blazing-Back ⏎ 2026-08-19]` and five like it —
which grep cannot see because it matches within a line. 107 − 6 = 101, exactly: the corpus
did not change, the READER did. ★ And the six are not a random sample: a tag long enough to
wrap is one carrying provenance DETAIL, the kind most worth reading.

FIRST RUN: 107 tags — OWN 80 · ELSEWHERE 19 (all one sibling estate) · UNDATED 8.
⚠ ELSEWHERE IS A LOCATION, NOT A VERDICT, and the output says so on every run. A goal may
legitimately cite a sibling estate's measurement; what this makes knowable is HOW MANY and
WHERE. After a vendoring re-scope it becomes ~107 of 107 and the same checker still says
FOR-THIS-REPO.
⚠ EVERY COUNT IS A LOWER BOUND — it reads the TAG, never the claim, and nothing enforces
tagging, so an untagged paragraph measured elsewhere is invisible by construction.

IMPORTED, NOT COPIED (#345): `declared_scope` and `this_repo` come from
check-goal-conformance via importlib, because a hyphenated filename cannot be imported and
that friction is exactly what produces a second, drifting reading of one noun.

CALLER — fleet-preflight, NON-GATING, and placed where the question arises: preflight is
the acceptance test for the install that just re-scoped those files.
    warn  measured-elsewhere: some tagged claims were measured in ANOTHER repository
            ELSEWHERE 19 · OWN 80 · UNDATED 8

⛔ TWO THINGS THE INDEX CHECKER CAUGHT IN THIS PR, both fair:
  · the file was untracked, so the row named something git could not see
  · my FIXTURES named a real sibling estate in EXECUTABLE POSITION — a string literal is
    how the quarantine leg detects contamination, and it was right to. The real instance
    belongs in the docstring, where it is a citation; in `cases` it claims belonging.
    Fixtures now use a synthetic name.

SUITE — 11 checks, count derived. Known-positive a tag naming the declared repo;
known-negative the #502 D shape; controls for owner/repo form, placeholder dates, UNDATED
checked BEFORE the repo comparison, an unparseable Repository line, case-insensitivity,
two tags on one line, an empty input, and — the load-bearing one — that the bare word
"measured:" is NOT a tag. Breaking the repo comparison takes it to exit 3; `-O` to exit 2.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 28 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: f1a0058f-49a6-4488-ab5a-d2045a36bc77

📥 Commits

Reviewing files that changed from the base of the PR and between ebb7b30 and 75041bd.

📒 Files selected for processing (3)
  • scripts/fleet-preflight.sh
  • tools/README.md
  • tools/measured-elsewhere.py

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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