Prompt heuristics experiments scratchpad
Temp=0.0 + JSON constraint -> extraction normalized numbers 89% correct
dsid_89c0c31e220c4777b15c3c6ff0eff61d
qst_0412
price normalization correctness temp 0
~89%
~96%
Exact spans from the benchmark corpus
Prompt heuristics experiments scratchpad
Temp=0.0 + JSON constraint -> extraction normalized numbers 89% correct
dsid_89c0c31e220c4777b15c3c6ff0eff61d
Prompt heuristics: templates and failure cases (2026)
Temp=0.0 + strict JSON + canonicalization rules: price normalization correctness ~96% (previously ~89% without canonicalization). Changelog 2026-03-12.
dsid_a2bf755670ad44e09b42c11e9d73e5d3
Every document that still carries the retired value, including the superseded source itself
Prompt heuristics experiments scratchpad
Temp=0.0 + JSON constraint -> extraction normalized numbers 89% correct
dsid_89c0c31e220c4777b15c3c6ff0eff61d
Every query that produced this page
MATCH (c:ClaimKey {question_id: $question_id}) RETURN c.id AS id, c.entity_id AS entity_id, c.key AS key, c.predicate AS predicate, c.question_id AS question_idMATCH (e:Entity)-[:HAS_CLAIM]->(c:ClaimKey {id: $claim_key_id}) RETURN e.id AS id, e.name AS name, e.entity_type AS entity_typeMATCH (c:ClaimKey {id: $claim_key_id})-[:HAS_VALUE]->(p:Proposition) RETURN p.id AS id, p.value AS value, p.status AS status ORDER BY p.idMATCH (c:ClaimKey {id: $claim_key_id})-[:HAS_VALUE]->(p:Proposition)<-[:SELECTS]-(ev:CanonEvent) OPTIONAL MATCH (newer:CanonEvent)-[:SUPERSEDES]->(ev) RETURN ev.id AS id, ev.claim_key_id AS claim_key_id, ev.selects_proposition_id AS selects_proposition_id, ev.transition AS transition, ev.temporal_quality AS temporal_quality, ev.evidence_doc_id AS evidence_doc_id, ev.occurred_at AS occurred_at, p.id AS proposition_id, newer.id AS superseded_byMATCH (ev:CanonEvent {id: $event_id})-[:SUPERSEDES*1..10]->(old:CanonEvent)-[:SELECTS]->(p:Proposition) RETURN old.id AS id, old.transition AS transition, old.temporal_quality AS temporal_quality, old.evidence_doc_id AS evidence_doc_id, old.occurred_at AS occurred_at, p.id AS proposition_id, p.value AS valueMATCH (p:Proposition {id: $proposition_id})<-[:ASSERTS]-(a:Assertion)-[:IN_ARTIFACT]->(d:Artifact) RETURN a.id AS id, a.doc_id AS doc_id, a.source_type AS source_type, a.evidence_span AS evidence_span, a.stance AS stance, a.extraction_method AS extraction_method, a.structured AS structured, a.discovery AS discovery, a.asserted_at AS asserted_at, a.source_field AS source_field, a.residue_class AS residue_class, a.proposition_id AS proposition_id, a.artifact_id AS artifact_id, d.title AS title ORDER BY a.doc_idMATCH (p:Proposition {id: $proposition_id})<-[:ASSERTS]-(a:Assertion)-[:IN_ARTIFACT]->(d:Artifact) RETURN a.id AS id, a.doc_id AS doc_id, a.source_type AS source_type, a.evidence_span AS evidence_span, a.stance AS stance, a.extraction_method AS extraction_method, a.structured AS structured, a.discovery AS discovery, a.asserted_at AS asserted_at, a.source_field AS source_field, a.residue_class AS residue_class, a.proposition_id AS proposition_id, a.artifact_id AS artifact_id, d.title AS title ORDER BY a.doc_idMATCH (p:Proposition {id: $proposition_id})<-[:ASSERTS]-(a:Assertion)-[:IN_ARTIFACT]->(d:Artifact) RETURN a.id AS id, a.doc_id AS doc_id, a.source_type AS source_type, a.evidence_span AS evidence_span, a.stance AS stance, a.extraction_method AS extraction_method, a.structured AS structured, a.discovery AS discovery, a.asserted_at AS asserted_at, a.source_field AS source_field, a.residue_class AS residue_class, a.proposition_id AS proposition_id, a.artifact_id AS artifact_id, d.title AS title ORDER BY a.doc_id