One statement draws one edge - #755
Merged
Merged
Conversation
WaylandYang
force-pushed
the
feat/the-aligners-open-questions-have-a-queue
branch
from
September 18, 2026 05:29
f36e7dd to
c296bd3
Compare
Base automatically changed from
feat/the-aligners-open-questions-have-a-queue
to
dev
September 18, 2026 05:33
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
WaylandYang
force-pushed
the
feat/one-statement-draws-one-edge
branch
from
September 18, 2026 05:33
e5ff022 to
ecdd7b5
Compare
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.
Stacked on #754. The first consequence of alignment landing: with typed rows in the ledger (#752, #753), the canvas drew every aligned statement twice, once labelled with the document's phrase and once with the property. This is the layer marker 0044 listed as proposed and not built.
What lands
One edge per statement. The typed graph is a view over the open graph, so the picture shows one edge: the property's name when a live typed row was computed from that statement, the document's phrase when none was. Store-side it is one shared predicate (
REPRESENTED_BY_TYPED) applied to the canvas edges and to the entity panel's fact list; both rows stay in the ledger untouched, and an open statement reappears the moment its typed row is invalidated (a binding changed, the aligner re-decided).The document's wording rides on the typed edge.
said_ason a graph edge and on an entity fact is the phrase of every statement behind that row, deduplicated (a row can have several sources since #753). The entity panel shows it on hover beside the property, so folding the open edge away hides nothing.The derived and ghost branches of the edge query carry the column as null: they are not computed from statements.
Checked
On the e2e base of #751 (175 computed typed rows, 13 of them edges): the canvas went from 263 edges to 250, exactly the 13 doubled pairs, and every typed edge came back with its wording:
The third is a wrong binding that was invisible before, now readable next to the property it bound to. That is the point of keeping the wording on the edge.
Server suite 293 passed, store suites all green, web build and 63 tests pass, style guard clean.
UI change: waits for a look before merging, with #754. The dev server on
http://localhost:5174(this branch, proxied to the e2e API on 8331) shows the graph for the base "batch review".Not in this change
A switch between the two layers on the canvas (show the open graph as extracted, or the typed graph only); the same folding in search, export and the MCP reads, which list facts without a canvas.
🤖 Generated with Claude Code