Rewrite the repo-state section: this is a fork, and master is current - #24
Merged
Conversation
Section 2.3 was titled "the released v2.5.0 is not on master" and opened with "read this before basing work on master". Every figure in it was wrong, and the central claim was inverted -- it warned that master shipped older behaviour than the published release, when master contains that release and 56 commits more. The interesting part is that the section was never invented. Every one of its numbers is still true of upstream/master, which sits at 919a9f2 with AssemblyVersion 2.3.1.1 and v2.5.0 genuinely unmerged. It was accurate about a different repository, and it froze there while this fork moved 61 commits out from under it. That is now said in the text, because a reader who works it out from the git history has already been misled once. So the warning did not disappear, it changed shape, and the section keeps its slot rather than shrinking to "master is current". What a contributor now gets wrong before they can notice is that this is a fork whose master has diverged from upstream's -- which also explains something nothing else in the guide said: every issue and PR number cited here is an upstream number that git log in this repository will never show landing. Checked rather than asserted: 25 upstream numbers against exactly 2 fork ones, both already named as such, which is why the text says "unless explicitly called this fork's" rather than a false absolute that would itself go stale. Provenance of the colour-settings work is stated precisely, because it is not obvious: written upstream on feature/add-color-settings, which v2.5.0 tags mid-branch; master took that branch's head three commits past the tag, through a local merge that reached master in this fork's PR #2 alongside fixes for six blocking defects it carried. Upstream PR juv#140 is still open. The code is here because the branch was merged, not because that PR landed. The dead branches keep their names and lose their ahead/behind counts. A count decays on every merge, and a stale count is what put this section here; "abandoned 2014-2016, more than a hundred commits behind" survives contact with time. Also corrected where 2.3.1.1 had propagated: the guide's own provenance note, the repo map, and the window title in two sequence diagrams -- buildFormTitleText reads Application.ProductVersion, which with no AssemblyInformationalVersion resolves to AssemblyFileVersion, 2.6.0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0187tGqyEw4frZzDYPPJfUMd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
§2.3was titled "Repo-state warning: the released v2.5.0 is not onmaster" and opened with "Read this before basing work onmaster". Every figure in it was wrong, and the central claim was inverted.v2.5.0v2.5.0andv2.6.0master"masterat919a9f2, version2.3.1.179a5cbd, version2.6.0v2.5.07 ahead,master2 aheadv2.5.00 ahead,master56 aheadmaster"mastermastergives 2.3.1.1 behaviour"masterbuilds2.6.0The section was never invented
Every one of those numbers is still true of
upstream/master, which sits at919a9f2withAssemblyVersion 2.3.1.1andv2.5.0genuinely unmerged. It was accurate about a different repository, and it froze there while this fork moved 61 commits out from under it.That is now said in the text, because a reader who reconstructs it from the git history has already been misled once.
So the warning changed shape rather than disappearing
The faithful two-sentence version — "two tags, both ancestors, master is current" — would discard the fact that replaced the old warning. What a contributor now gets wrong before they can notice is that this is a fork whose
masterhas diverged from upstream's.The rewritten section states a convention the guide never had:
Checked, not asserted: 25 upstream numbers cited against exactly 2 fork ones, both already named as such — hence "unless explicitly called this fork's" rather than a false absolute that would itself have gone stale.
Provenance, stated precisely
The colour-settings work was written upstream on
feature/add-color-settings, whichv2.5.0tags mid-branch.mastertook that branch's head (18e54cd, three commits past the tag) through the merge4fb598c, which reachedmasterin this fork's PR #2 alongside fixes for six blocking defects it carried.Upstream PR juv#140 is still open — the code is here because the branch was merged, not because that PR landed.
Dead branches keep their names, lose their counts
Refactoring_to_WPF,Dynamic_VibranceGUIandtempare described as abandoned 2014–2016 and more than a hundred commits behind. The old3 ahead / 171 behinddecays on every merge, and a stale count is what put this section here.Where
2.3.1.1had propagatedAlso corrected: the guide's own provenance note, the
§4repo map, and the window title in two sequence diagrams (§6.1,§10.1).buildFormTitleText(Program.cs:395) readsApplication.ProductVersion, which with noAssemblyInformationalVersionpresent resolves toAssemblyFileVersion—2.6.0. Plus three places describingfeature/add-color-settingsas unmerged.Verification
40 insertions / 30 deletions,
docs/CODEBASE_GUIDE.mdonly. CR 2571 == LF 2571, no BOM, trailing CRLF. Every figure re-derived withgit merge-base --is-ancestor,git rev-list --left-right --count,git tagandAssemblyInfo.csrather than taken from the brief.Listed, not fixed
§9.1's INI table carries 13 stale items — includingaffectPrimaryMonitorOnlyandneverSwitchResolutiondocumented as defaulting to"false"whenSettingsController.cs:291,299passes"true", and four keys missing entirely. Separate concern, separate change.