Skip to content

runmarker: the RUN marker carries how far behind the tree is — rebuilt clean (supersedes #572) - #590

Merged
jobordu merged 1 commit into
mainfrom
devops/marker-carries-tree-distance-v2
Sep 5, 2026
Merged

runmarker: the RUN marker carries how far behind the tree is — rebuilt clean (supersedes #572)#590
jobordu merged 1 commit into
mainfrom
devops/marker-carries-tree-distance-v2

Conversation

@jobordu

@jobordu jobordu commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Supersedes #572. Same feature, none of the collateral.

The diagnosis is nforma-next-c2's

#572's branch changes 54 files — but only three are the feature. The other 51 delete 8,846 lines of hardening the commit never meant to touch.

THE FEATURE     tools/runmarker.py          +37  −1
                tools/test_runmarker.py     +41  −0
                .claude/doctrine-watermark   +1  −0
                ──────────────────────────  +79  −1   in 3 files
THE COLLATERAL  51 other files             +364 −8,846

It is not a revert. c2 swept all 406 first-parent commits of origin/main: the minimum diff to the branch tree is 54 and never drops below it. The tree matches no point in main's history, past or present — it is a stale worktree committed wholesale, git add -A recording ~14 merges of absences as deliberate deletions on top of a fresh parent.

Verified by testing the implication, not repeating the evidence

If the deletions are collateral, the content must still be alive on main:

__pycache__ guard, files carrying it   origin/main 32  ·  41777a5 18
doctrine-watch.py  def delta_for       origin/main  1  ·  41777a5  0
CONTROL, a token absent from both                    0

⇒ Confirmed. And it explains the red gate directly: test_doctrine_watch reports 8 failures because the suite is testing functions the same commit deleted.

⚠ A second argument neither of us had at the time

The preamble those 14 files lose is the sys.dont_write_bytecode guard. I was bitten by its absence today in test_close_condition_scan.py: a size-preserving edit left a stale .pyc, and the suite reported FAILED against a file that was already correct. ⇒ #572 would have re-opened that hole in fourteen more places.

This branch

Three files on a fresh base — +79 −1, exactly the shape c2 predicted. Control: git diff --name-only origin/main returns 3; the guard count on this branch is 33, not 18.

test_runmarker 0 · check-tools-index 0.

Not force-pushed over #572. Force-push is reserved and erases the per-branch reflog (#294). The original branch is retained and #572 will be closed pointing here.

Diagnosis: nforma-next-c2. Verification, rebuild and filing: session 01DTMf4E.

🤖 Generated with Claude Code

…t clean

Supersedes #572. Same feature, none of the collateral.

Diagnosed by nforma-next-c2: #572's branch changed 54 files, but only THREE are
the feature. The other 51 delete 8,846 lines of hardening the commit never meant
to touch — 14 suites lose the __pycache__ preamble, doctrine-watch.py loses
delta_for() and read_delta_cmd() whole, which is why test_doctrine_watch
reported 8 failures on a suite testing functions the same commit deleted.

⛔ It was not a revert. c2 swept ALL 406 first-parent commits of origin/main:
the minimum diff to the branch tree is 54 and never drops below it, so the tree
matches no point in main's history, past or present. It is a stale worktree
committed wholesale — `git add -A` recording ~14 merges of absences as deliberate
deletions on top of a fresh parent.

Verified here by testing the IMPLICATION rather than repeating the evidence: if
the deletions are collateral, the content must still be alive on main.

    __pycache__ guard, files carrying it   origin/main 32  ·  41777a5 18
    doctrine-watch.py  def delta_for       origin/main  1  ·  41777a5  0
    CONTROL, a token absent from both                    0

⇒ Confirmed. So this branch takes only the three feature files onto a fresh base:

    tools/runmarker.py        +37 -1
    tools/test_runmarker.py   +41 -0
    .claude/doctrine-watermark +1 -0
    ───────────────────────── +79 -1, 3 files, exactly as c2 predicted

⚠ And a second, independent argument for the rebuild that neither of us had at
the time: the preamble those 14 files lose is the `sys.dont_write_bytecode`
guard. I was bitten by its absence today in test_close_condition_scan.py — a
size-preserving edit left a stale .pyc and the suite reported FAILED against a
file that was already correct. #572 would have re-opened that hole in fourteen
more places.

⛔ NOT force-pushed over #572. Force-push is reserved and erases the per-branch
reflog (#294); the original branch is retained and #572 is closed pointing here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DTMf4EvaTEnDKXY47efRZZ
@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 7 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: c5c139cd-e542-448d-835f-7f56a4689623

📥 Commits

Reviewing files that changed from the base of the PR and between bc16583 and cb52e3d.

📒 Files selected for processing (3)
  • .claude/doctrine-watermark
  • tools/runmarker.py
  • tools/test_runmarker.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.

@jobordu
jobordu merged commit 5286aed into main Sep 5, 2026
5 checks passed
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