Skip to content

backlog: file #1220 -- ENGINE_UI_SEAM collides silently and the golden gate agrees - #329

Merged
wshallwshall merged 2 commits into
mainfrom
w3-file-1220
Aug 11, 2026
Merged

backlog: file #1220 -- ENGINE_UI_SEAM collides silently and the golden gate agrees#329
wshallwshall merged 2 commits into
mainfrom
w3-file-1220

Conversation

@wshallwshall

Copy link
Copy Markdown
Collaborator

Files BACKLOG #1220 -- a seam-version collision that the golden gate agrees with.

Two unmerged branches each bump ENGINE_UI_SEAM 18 -> 19, for two different contract changes
(SystemStatus.log_sinks and SecurityPosture.store_privilege), off the same merge-base.

The conflict git raises is the cosmetic half. Trial-merging the pair conflicts in
messagefoundry/api/_ui_seam.py only, and only in the adjacent comment blocks -- while
tests/golden/webconsole_seam.snapshot auto-merges clean: 196 lines, zero conflict markers, carrying
BOTH fields at seam 19.
So the natural keep-both-comments resolution yields seam 19 describing two
independent contract changes, the gate whose entire purpose is catching seam contract changes agrees,
and SUPPORTED_ENGINE_SEAMS={19} accepts it.

A reviewer who resolves the visible conflict correctly still ships the defect. Whichever branch lands
second must re-bump to 20, and nothing enforces that today.

The general shape: a monotonic counter shared across branches is not protected by conflict detection.
Git conflicts on the line, and both sides wrote the same line -- = 19. Two sides agreeing on a value is
indistinguishable from two sides making the same change.

The item names its own reproduction: both branches are unlanded and anchored, so merge-tree on that
pair reproduces it on demand, and a fix that does not red on that pair has not been demonstrated.

Ledger-only. Verified: #1220 free in the live ledger and the archive, merges clean onto current main.

… gate agrees

Found by the coordinator's independent verification of two of my held
branches; I reproduced every load-bearing fact before filing.

  origin/main                   ENGINE_UI_SEAM = 18
  w3-log-write-failure          ENGINE_UI_SEAM = 19  (SystemStatus.log_sinks)
  w3-store-privilege-preflight  ENGINE_UI_SEAM = 19  (SecurityPosture.store_privilege)

Both share merge-base 751ca08. The seam is a version integer that must
be unique per console-contract change, and two unlanded branches took the
same value.

THE CONFLICT GIT RAISES IS THE COSMETIC HALF. Trial-merging conflicts in
_ui_seam.py ONLY, and only in the adjacent COMMENT blocks. Meanwhile
tests/golden/webconsole_seam.snapshot AUTO-MERGES CLEAN -- I verified the
merged tree myself: it carries BOTH log_sinks and store_privilege with
ZERO conflict markers, and SUPPORTED_ENGINE_SEAMS={19} accepts it.

So a reviewer who resolves the visible conflict CORRECTLY still ships the
defect. Seam 19 ends up describing two independent contract changes, and
the gate whose entire job is catching seam contract changes agrees.
Whichever branch lands second must re-bump to 20 and nothing enforces it.

That is why this is the nastiest keep-both-sides instance recorded here:
the usual defence is 'git will conflict and someone will look', and git
DOES conflict -- at the wrong half. A predicted conflict is not a control
when it points somewhere else.

Scope offers two directions rather than one, because I do not think the
choice is obvious: derive the seam from a hash of the contract surface so
collision is impossible by construction, or gate the integer against
every value reachable from origin/main. I argued for the derived form if
it is cheap, since a gate on a hand-maintained integer is one more thing
to remember and this collision happened between two sessions that were
each individually careful.

The item also names the reproduction, so a fix can be shown to work: both
branches are unlanded and anchored, so
'git merge-tree --write-tree w3-log-write-failure w3-store-privilege-preflight'
reproduces it on demand. A fix that does not red on that pair has not
been demonstrated.

Gates: 485 items each declaring exactly one status; ledger_check clean.
cp1252 dogfood on my own added lines: 21 added, 1 non-ASCII, and it is
U+1F522 -- the sanctioned banner glyph, which is exactly the exemption
recorded under #1030.
@wshallwshall
wshallwshall merged commit 52ba88d into main Aug 11, 2026
32 of 33 checks passed
@wshallwshall
wshallwshall deleted the w3-file-1220 branch August 11, 2026 17:27
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