docs(engine): verify git mv rename recognition in coverage/diff tooling - #5770
Conversation
Empirically confirms how a moved file is represented to git's diff and the codecov patch gate, so the engine-extraction phases (content-lane, settings, signals) don't trip patch-99% on unchanged behavior. A pure 'git mv' with no content change stages as an R100 rename (0 insertions / 0 deletions) — verified against a real content-lane file — so patch coverage has nothing to measure and history carries forward. Disabling rename detection (which is how the diff degrades when the move commit also edits the file) re-surfaces the same file as 117 added lines that must clear 99% patch. Documents both the pure-rename path and the extract-as-new path taken by the already-merged JSONbored#5762, and a move-only-commit protocol for every subsequent phase. Verification writeup only; the throwaway test move was reverted (no code moved). Closes JSONbored#4878
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-14 13:35:48 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 5 non-blocking
Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Closes #4878. Single doc file (
packages/loopover-engine/docs/coverage-safe-file-moves.md), no code moved — the throwaway test move was reverted per the issue's boundaries.Verified answer to the question (does a moved file read as a rename, or a coverage-tripping delete-plus-add?), grounded in an empirical test against a real content-lane file in this repo:
git mvwith no content change stages asR100— 0 insertions / 0 deletions, so Codecov's diff-basedpatchgate (99%, 0% threshold percodecov.yml) has nothing to measure and coverage history carries forward.extract-as-newpath).Established workaround for every subsequent phase: move-only commits (byte-identical
git mv, adapters/shims in separate files) or extract-as-new with a covering test — never a move blended with edits in one blob. This unblocks the extraction milestone (#4880 / #4879 / #4884) to proceed safely.