Recover misplaced joint blocks and preserve unchanged entity citations
This commit is contained in:
1 parent
c3a4690a55
commit
3872735c0a
14 files changed
+265
-10
No files matched your search
@@ -122,3 +122,33 @@ verification is not silently filled: the scoped statement correction must provid
|
||||
The original 2026-10-20 replies and a bounded validation context are preserved in the
|
||||
curated rejection corpus. Offline regression checks hashes, reference union, sibling
|
||||
preservation and rejection of invented references. No paid API request was needed.
|
||||
|
||||
|
||||
## Structural recovery revision 2
|
||||
|
||||
New contexts freeze `recovery_version = 2`; revision 1 and unmarked historical
|
||||
contexts keep their original request/projection behavior. This revision includes
|
||||
revision 1 dependency completion and sibling preservation.
|
||||
|
||||
One exact misplaced wrapper is recoverable: a sole top-level `hypotheses` object
|
||||
containing exactly an `interpretation` object and a `hypotheses` array. These are
|
||||
copied to the two intended blocks, without changing or dropping any content.
|
||||
Competing top-level interpretations (even null), extra sibling keys and malformed
|
||||
wrappers are never guessed away. Both recovered blocks still undergo all existing
|
||||
schema, source, dependency and semantic contract checks. The original call stays
|
||||
unchanged and remains the usage/provenance source during replay and import.
|
||||
|
||||
During a scoped entity correction, existing eligible identity/mention citations
|
||||
are restored only when BOTH entity_id and reason are unchanged. Eligible references
|
||||
come from the original statement and the frozen entity's matching capture/mention
|
||||
provenance. New evidence is never invented. Changed claims receive no restoration;
|
||||
unknown replacement sources remain present and invalid. Requests explicitly explain
|
||||
which existing citations to preserve. When no reusable hypotheses exist, the request
|
||||
explicitly requires an empty reviews array instead of asking to reconstruct them.
|
||||
|
||||
The curated `joint-nested-envelope` corpus preserves the actual rejected replies,
|
||||
their hashes and bounded context. Offline tests confirm that the initial reply passes
|
||||
full interpretation and hypothesis validation after lossless wrapper recovery and
|
||||
existing dependency normalization. A separate regression confirms the later scoped
|
||||
patch passes interpretation validation after preserving unchanged identity evidence.
|
||||
No paid API request was executed to establish these results.
|
||||
Reference in new issue
Block a user