Repository navigation
feat(loop): what survives of a branch the base moved past, as a specification rather than a patch - #366
Merged
Conversation
…fication rather than a patch Five branches had jammed the landing pipeline for four rounds. `land` could say they conflict and how far the base had travelled; the next question was the one a person has to answer, and I kept deferring it: rebase, or re-do the work? Rebasing browseros-ai#1302 would have deleted browseros-ai#1308's landed code and reintroduced a non-ASCII ellipsis into a redaction the base already performs in ASCII, breaking L3 in the same stroke. AND A CLEAN REBASE WOULD NOT HAVE SHOWN IT. A semantic conflict carries no markers: git resolves the text correctly while the combined code is logically broken - upstream renames a function your commit still calls, the changes sit on different lines, nothing conflicts, everything is wrong. So "it applied cleanly" is not evidence, and `salvage.mjs` does not offer it. It applies nothing. It never rebases. The selftest fails if the words `git rebase`, `cherry-pick` or `git apply` ever appear in it. WHAT IT PRODUCES is the standard answer for a branch whose module was restructured underneath it: use the old diff as a statement of what was WANTED, not as patches. Concretely - the names the branch introduces that the repository still does not have: queen-1302 8 of 200 candidates absent: quotaAuthority, provider_quota, estimated_usd_gate, statusMode, readTelemetry, QuotaAuthority, billingProjection, ResearchDeps queen-1303 4 of 243: started_running, plantedSecret, startedUnfinished, startedRunning queen-1387 19 of 273: specQualityHeadingParity, extractorHeadings, checkNames, maskNonAscii, RING_COPY, scanMatchingClose, ... Three branches of 881 added lines reduce to 31 missing names, because most of what they carried had already landed by another route. IT IS NOT A PARSE, deliberately. Six false accusations in this project came from a checker that tried to recognise a declaration by its shape across Swift, TypeScript and markdown, and the list of ways to spell "define" has no end. Every identifier-shaped token is a candidate and the BASE TREE decides which are new - absence is checkable without knowing any language. A hex blob is dropped, because queen-1303's diff offered `fedcba9876` from a fake sha in a fixture, and proposing that as a capability the repository lacks is the `node_modules` accusation in a new costume. The cap on candidates is printed alongside the total, since a silent truncation would read as "this is everything". `--brief` writes the measurement as an issue a bee can pass, and every criterion is FAIL-TO-PASS BY CONSTRUCTION: the name was measured absent from the base a moment earlier, so it cannot be satisfied by an empty patch and `verdict-audit` will check it against both the fork point and the branch without being asked. Filed as gHashTag/trios#1537, browseros-ai#1538 and browseros-ai#1539, all three passing the delegation gate with their boundaries parsed. They carry no `queen-authored` label on purpose: that label is `author.mjs`'s own WIP accounting, and salvage work is not the backlog it is metering. selftest 155 pass 0 fail. `tri salvage <N> [--brief]`.
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.
feat(loop): what survives of a branch the base moved past, as a specification rather than a patch
Five branches had jammed the landing pipeline for four rounds.
landcould saythey conflict and how far the base had travelled; the next question was the one a
person has to answer, and I kept deferring it: rebase, or re-do the work?
Rebasing browseros-ai#1302 would have deleted browseros-ai#1308's landed code and reintroduced a
non-ASCII ellipsis into a redaction the base already performs in ASCII, breaking
L3 in the same stroke. AND A CLEAN REBASE WOULD NOT HAVE SHOWN IT. A semantic
conflict carries no markers: git resolves the text correctly while the combined
code is logically broken - upstream renames a function your commit still calls,
the changes sit on different lines, nothing conflicts, everything is wrong. So
"it applied cleanly" is not evidence, and
salvage.mjsdoes not offer it. Itapplies nothing. It never rebases. The selftest fails if the words
git rebase,cherry-pickorgit applyever appear in it.WHAT IT PRODUCES is the standard answer for a branch whose module was
restructured underneath it: use the old diff as a statement of what was WANTED,
not as patches. Concretely - the names the branch introduces that the repository
still does not have:
queen-1302 8 of 200 candidates absent: quotaAuthority, provider_quota,
estimated_usd_gate, statusMode, readTelemetry, QuotaAuthority,
billingProjection, ResearchDeps
queen-1303 4 of 243: started_running, plantedSecret, startedUnfinished,
startedRunning
queen-1387 19 of 273: specQualityHeadingParity, extractorHeadings,
checkNames, maskNonAscii, RING_COPY, scanMatchingClose, ...
Three branches of 881 added lines reduce to 31 missing names, because most of
what they carried had already landed by another route.
IT IS NOT A PARSE, deliberately. Six false accusations in this project came from
a checker that tried to recognise a declaration by its shape across Swift,
TypeScript and markdown, and the list of ways to spell "define" has no end. Every
identifier-shaped token is a candidate and the BASE TREE decides which are new -
absence is checkable without knowing any language. A hex blob is dropped, because
queen-1303's diff offered
fedcba9876from a fake sha in a fixture, andproposing that as a capability the repository lacks is the
node_modulesaccusation in a new costume.
The cap on candidates is printed alongside the total, since a silent truncation
would read as "this is everything".
--briefwrites the measurement as an issue a bee can pass, and every criterionis FAIL-TO-PASS BY CONSTRUCTION: the name was measured absent from the base a
moment earlier, so it cannot be satisfied by an empty patch and
verdict-auditwill check it against both the fork point and the branch without being asked.
Filed as gHashTag/trios#1537, browseros-ai#1538 and browseros-ai#1539, all three passing the delegation
gate with their boundaries parsed.
They carry no
queen-authoredlabel on purpose: that label isauthor.mjs's ownWIP accounting, and salvage work is not the backlog it is metering.
selftest 155 pass 0 fail.
tri salvage <N> [--brief].