Artifact 4e71c57fa841212b66a434aad8a7a68e6d572393af6740ee65b4c561de3c977c:
- File
internal/index/landingstate_test.go
-
2026-08-26 23:13:58
— part of check-in
[4832508615]
on branch protect-3
— RFC 0007 phase 3: the merge is the fact; accept asks MayJoin
The fold reads accepted from the DAG, for every landing: the earliest target check-in after opening whose non-primary parent is on the proposed branch. A reply asserting acceptance with nothing merged leaves the record open and is recorded as a claim; the page says so, the timeline files it as conversation. Rejection has no DAG fact and stays the reply's to say. Re-derived after every branch recompute — which now also invalidates the count memo, since it can settle a landing — so a merge pushed from a clone with no reply settles.
landing.accept refuses a non-owner on a protected target before writing, naming the owners. landing.get reports MayLand beside CanAccept so the page shows a disabled control with the reason.
Fourteen existing tests settled records by reply alone, or asserted a by-hand merge does not count; each now carries the merge it announces or asserts the RFC's reading. Giving the web fixture real check-ins exposed checkin.diff dereferencing a nil store; it now refuses, after the lookups so not-found still wins. (user: dmestas, size: 5048) [annotate] [blame] [check-ins using]
- 2026-08-26 23:51:52 — part of check-in [2d30e99800] on branch trunk — Landed phase 3: the merge is the fact, the reply is the claim, accept asks MayJoin. (user: ai-local, size: 5048) [annotate] [blame] [check-ins using]
-
2026-08-26 23:13:58
— part of check-in
[4832508615]
on branch protect-3
— RFC 0007 phase 3: the merge is the fact; accept asks MayJoin