For any query, convert it into a dynamic belief-state graph with multiple interpretations, weighted hypotheses, supporting and conflicting evidence, possible probe branches, and a context-sensitive collapse policy; only then project the current best state into a human-usable output
Or something like:
{
"frame": {
"query": "What is being asked?",
"intent_class": "explain | decide | diagnose | create | compare | predict | retrieve | plan",
"success_condition": "What would a good result look like?",
"time_horizon": "immediate | short | long",
"stakes": "low | medium | high"
},
"state": {
"entities": [],
"relations": [],
"constraints": [],
"assumptions": [],
"unknowns": [],
"ambiguities": []
},
"interpretations": [
{
"id": "i1",
"description": "One possible reading of the query",
"confidence": 0.0
}
],
"hypotheses": [
{
"id": "h1",
"description": "Possible answer, model, route, or explanation",
"confidence": 0.0,
"parent_interpretations": [],
"supporting_evidence": [],
"opposing_evidence": [],
"dependencies": [],
"failure_modes": [],
"status": "active | weakened | rejected | selected"
}
],
"evidence_graph": [
{
"id": "e1",
"kind": "user_input | retrieved_fact | memory | tool_result | inference",
"content": "atomic evidence statement",
"source_ref": "optional provenance",
"reliability": 0.0,
"supports": [],
"contradicts": []
}
],
"branch_space": [
{
"id": "b1",
"type": "investigate | answer | act | defer | simulate",
"description": "A possible next move",
"targets": [],
"information_gain": 0.0,
"cost": 0.0,
"risk": 0.0,
"reversibility": 0.0,
"priority": 0.0
}
],
"selection": {
"current_best_hypotheses": [],
"current_best_branches": [],
"why": []
},
"projection": {
"what_to_surface": [],
"what_to_hide_internal": [],
"output_mode": "single answer | ranked options | plan | uncertainty map | clarifying question"
}
}