mirror of
https://github.com/morluto/rea
synced 2026-10-25 22:08:11 -04:00
fix(javascript)!: stop copying literals into semantic metadata (#1407)
Commit literal values with canonical JSON SHA-256 in semantic role keys and use a type label for strings. Preserve complete values, provenance and literal queries while avoiding two payload copies in each string node. Verify real compiled CLI/default stdio MCP, typed union seeds, empty strings and trace continuation with a large source-owned fixture. Refs #723 BREAKING CHANGE: Newly produced semantic literal node IDs use value-sha256 role keys, and string labels read "string literal". Read exact values from properties.value and obtain node IDs from the selected parent graph. Previously stored Evidence and its original IDs remain valid.
This commit is contained in:
@@ -90,6 +90,18 @@ keep the result ambiguous. Runtime Evidence can later corroborate an exact
|
||||
mapped candidate, but structural reachability, semantic influence, runtime
|
||||
observation, and causal proof remain separate claims.
|
||||
|
||||
Semantic literal nodes keep their complete value in `properties.value`; literal
|
||||
queries match that field. String labels read `string literal` rather than
|
||||
repeating the payload. A literal's `identity.role_key` commits its canonical
|
||||
JSON value as `value-sha256:<digest>`, together with its binding and property
|
||||
role. This keeps large values out of identity and display metadata without
|
||||
truncating their Evidence.
|
||||
|
||||
New analyses therefore produce different literal node IDs from the earlier
|
||||
payload-bearing role keys. Use IDs returned by the selected parent graph and
|
||||
read literal values from `properties.value`, rather than decoding role keys or
|
||||
labels. Previously stored graphs and their original IDs remain valid inputs.
|
||||
|
||||
## Version comparison
|
||||
|
||||
REA pairs entities only when a tier produces one unique candidate on each side.
|
||||
|
||||
Reference in New Issue
Block a user