What happened
Reading branch b1 after its parent b0 took a fast-forward merge from main and then wrote once fails with historical published dataset version 3 was reclaimed; it should return b1's two rows, a and n1. Found by a random branch and merge sequence generator over the .gqt corpus format (in development); Steps is its shrunk case.
Steps to reproduce
--- schema
node Person {
name: String @key
}
--- seed
{"type":"Person","data":{"name":"a"}}
--- mutate
branch create b0
--- expect ok
--- mutate branch: b0
query b0_n1() {
insert Person { name: "n1" }
}
--- expect affected: nodes=1 edges=0
--- mutate
branch create b1 from b0
--- expect ok
--- mutate
branch merge b0
--- expect outcome: fast_forward
--- mutate
query main_n0() {
insert Person { name: "n0" }
}
--- expect affected: nodes=1 edges=0
--- mutate
branch merge main into b0
--- expect outcome: fast_forward
--- mutate branch: b0
query b0_n2() {
insert Person { name: "n2" }
}
--- expect affected: nodes=1 edges=0
--- query branch: b1
query b1_persons() {
match { $p: Person }
return { $p.name }
}
Version
omnigraph 0.10.0, main @ ad425c6, built from source (Lance 11.0.0)
Environment
macOS 26 (Darwin 25.5), arm64, local file backend; not run on object storage
Logs / output
historical published dataset version 3 was reclaimed
What happened
Reading branch b1 after its parent b0 took a fast-forward merge from main and then wrote once fails with
historical published dataset version 3 was reclaimed; it should return b1's two rows,aandn1. Found by a random branch and merge sequence generator over the.gqtcorpus format (in development); Steps is its shrunk case.Steps to reproduce
Version
omnigraph 0.10.0, main @ ad425c6, built from source (Lance 11.0.0)
Environment
macOS 26 (Darwin 25.5), arm64, local file backend; not run on object storage
Logs / output