Skip to content

One statement draws one edge - #755

Merged
WaylandYang merged 3 commits into
devfrom
feat/one-statement-draws-one-edge
Sep 18, 2026
Merged

WaylandYang merged 3 commits into
devfrom
feat/one-statement-draws-one-edge

Conversation

@WaylandYang

Copy link
Copy Markdown
Contributor

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_as on 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:

officerOf ⇐ is Chairman and CEO of
participatedIn ⇐ granted
issuedBy ⇐ may impose

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

@WaylandYang
WaylandYang force-pushed the feat/the-aligners-open-questions-have-a-queue branch from f36e7dd to c296bd3 Compare September 18, 2026 05:29
Base automatically changed from feat/the-aligners-open-questions-have-a-queue to dev September 18, 2026 05:33
WaylandYang and others added 3 commits September 18, 2026 13: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
WaylandYang force-pushed the feat/one-statement-draws-one-edge branch from e5ff022 to ecdd7b5 Compare September 18, 2026 05:33
@WaylandYang
WaylandYang merged commit d993006 into dev Sep 18, 2026
4 checks passed
@WaylandYang
WaylandYang deleted the feat/one-statement-draws-one-edge branch September 18, 2026 05:37
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