**Incremental status (2026-07-06):** The compact and spaced `waterglass` runtime probes now explicitly require release-generation failure evidence for both `query_intent_alignment` and `rag_claim_citation_support`, and reject prompt/preamble leakage such as `所有推理过程`, `最终输出`, `遵从您的指示`, `all reasoning`, and `final output` in the public answer. This makes the claim-level citation gate and public-clause artifact filter part of runtime acceptance, not only unit coverage. The conflict hard-negative slice now detects same-subject numeric and date/year source contradictions when the conflicting facts are adjacent or non-adjacent inside the same scoped section in `evidenceContextAssembler.ts`, and it now also compares structured facts across the complete content of selected source documents. Runtime probes now cover `conflicting_adjacent_evidence_probe_en`, `conflicting_nonadjacent_section_evidence_probe_en`, `conflicting_release_date_evidence_probe_en`, `conflicting_multi_document_evidence_probe_en`, and `full_document_scan_remote_conflict_probe_en`, so full-document augmentation cannot silently flatten section-level, cross-document, or remote appendix measurement/release-date contradictions into one stable value merely because they sit outside the local paragraph window. `conversationComposer.ts` now consumes `conflict` fragments directly, so both sides of a detected contradiction are included in the single public answer instead of being left only in trace. The graph-neighbor source-unavailable hard-negative now has both unit and runtime coverage for single- and multi-neighbor loss: unavailable neighbor source windows are attributed to `graph_neighbor_support`, the multi-document runtime probe requires two unavailable neighbor-document decisions, the assembler test records both missing neighbor documents independently, `graph_neighbor_evidence_missing` fires, and a title/direct-span-only neighbor cannot satisfy graph evidence. The relation-ambiguity slice now makes `graphContextAssembler.ts` prefer intent-aligned graph-window candidates before admitting high-confidence but mismatched structural relations: compare windows use `contrast` / `analogy` candidates when present, while sparse graphs still fail open to structural neighbors and expose aligned/misaligned candidate counts in graph diagnostics. The runtime verifier now asserts those diagnostics for the `graphintent` compare cases, so a future regression that re-admits the procedural successor without aligned-neighbor evidence will fail at runtime acceptance instead of only unit coverage. The repeated-snippet slice now adds `repeated_snippet_target_section_probe_en`, backed by `Knowledge_Base/ragrepeatedspan`, to verify that full-document trace retention does not force distractor-section clauses into the one public answer; `conversationComposer.ts` and `answerReleaseReview.ts` now apply leaf-heading-aware document/graph clause selection for non-compare public answers while leaving compare evidence selection backward-compatible. The conflict slice now also adds `conflicting_state_status_evidence_probe_en`, backed by `Knowledge_Base/ragstateconflict`, and a conservative state/status fact extractor for explicit paired categorical values such as `enabled` / `disabled`; this extends coverage beyond measurement/date without claiming unconstrained semantic contradiction detection. Larger hard-negative corpora, broader semantic conflict patterns, broader multi-document missing-neighbor corpora, and broader relation-ambiguity corpora remain open.
0 commit comments