The Hypothesis Graph: A Verifiable Semantic Memory for Coding Agents

Receipt: the shared-memory experiment, including preregistrations, retained failures, and replication. Prior archived version: doi.org/10.5281/zenodo.21939861 (CC BY-SA 4.0).

Abstract

Coding agents lose the warrant behind their conclusions: later agents receive prose or verdicts, then must either trust them or reconstruct the work. This paper introduces the hypothesis graph, a shared semantic memory whose nodes bind claims to replayable trials and whose edges record dependency, refutation, and revision. The model proposes hypotheses; the harness checks and stores them. In a bounded fail-closed experiment, the protocol preserved its declared invariants over 14,967 completely explored states and 39,288 transitions. A SQLite implementation matched an independent model across 20 frozen comparisons, passed six forced race and lease-boundary schedules and two pre-commit crash probes, and killed seven source mutants. The graph preserves verified work across agents and rejects stale or unsupported knowledge; deeper reasoning is outside the claim.

1. Introduction

A patch passes the visible tests, but that’s not enough: passing certifies only the cases the tests cover. An over-narrow patch passes them and is wrong off-suite. Confirming it means reconstructing the reasoning the agent never recorded, at a cost approaching that of producing it, so the work shifts from writing to checking. Code review is the bottleneck.

In coding agents, the LLM is wrapped in a harness: the verification, testing, and memory a software task needs. The field building these is moving up a level of abstraction, from the model to the harness. Roychoudhury et al. (2025) reframe the goal as programming with trust, arguing that deployment turns on verification, testing, and analysis built into the agent rather than on raw generation (arXiv:2502.13767). Liu et al. (2024) survey agents for software engineering and organize the field around those same missing pieces (arXiv:2409.02977); Yehudai et al. (2025) add that scoring final outputs misses the reasoning and failure causes inside a run, and call for trajectory-level assessment (arXiv:2503.16416); Wang et al. (2025) survey agentic-programming systems and list persistent, structured memory among the open challenges (arXiv:2508.11126).

Discarding reasoning forces each run to rebuild context from scratch. Even where agent memory adopts the cognitive-architecture lineage, as CoALA (Sumers et al. 2024) does by mapping it onto Soar (Laird 1987) and ACT-R, the semantic slot stores facts rather than a falsifiable structure, so the search is discarded once a patch passes. At best, provenance saves a trail of blobs.

We were promised a junior developer with near-infinite patience. All we got was tool calls in a loop: a cracked-up amnesiac contractor, leaving mistakes for maintainers to review.

Here we give the agent a trail of verifiable knowledge. The hypothesis graph is shared semantic memory for an inquiry. A fix arrives with what was tried, what failed, and what remains supported. Each consequential claim carries a trial a stranger can rerun. The model still reasons; the harness decides what may enter shared memory.

The model proposes. The harness records dependencies and checks receipts; it versions accepted knowledge and refuses stale updates. The graph preserves checked work without changing what any one model can solve.

2. The hypothesis graph

2.1 Five requirements

A useful semantic memory for inquiry must clear five requirements at once:

The first four are representational requirements compared below. Fail-closed behavior belongs to the update protocol and is tested separately in §4.

StructureHolds hypothesesIncludes testsIndependently verifiablePersistent memory
Hypothesis graph (this work)
Truth-maintenance (Doyle 1979; de Kleer 1986)
Provenance / lineage (W3C PROV, Moreau et al. 2013)
Search + proof tree (Clarke et al. 2000; Solar-Lezama et al. 2006)
Argumentation (Dung 1995; Modgil & Prakken 2014)
Event-sourced log / ReAct trace (Yao et al. 2023)

The middle two columns are verification; the outer two are the hypothesis-shaped gap and retention. Fail-closed publication is not inferred from this table.

An LLM finally populates the graph. Filling it takes a reasoner that reads a surprising failure, proposes candidate causes in open vocabulary, and turns each into an executable test, with no hand-built domain model. Classical inference engines could do this only inside a formalism encoded by hand, which is why the slot stayed a research program; the LLM populates it across arbitrary codebases, which is what makes the structure practical here.

2.2 Graph semantics

The graph uses two explicit edge types. An inquiry edge records how one failed hypothesis suggested its successor. A dependency edge records which accepted claims a conclusion currently relies on; these are the edges used for joins and invalidation. A node is a claim bound to a declared trial. While open, it records the command and kill condition. Once classified, it also records the observed outcome, verdict, and credence earned by the reasoning mode.

Replay invariant. Every committed conclusion is reconstructible from its recorded trial: the exact command, observed outcome, verdict, and credence cap. The checker and recorded environment remain trusted.

The contract covers the node’s mechanical skeleton, not its hypothesis prose. The command, outcome, and verdict are checkable; the writer remains trusted to apply honestly the mode label that caps credence.

2.3 Invariant-preserving operations

Five operations maintain the structure, each defined with the one-clause argument that it preserves the invariant, the way a balanced tree’s insert is defined to restore balance:

A hypothesis graph, two nodes and the edge between them, on the dead-light inquiry. The bulb hypothesis is killed by a cheap trial (swap in a fresh bulb, still dark); its death names the next node, the dimmer, which a second trial witnesses (bypass it to the wall, the light comes on). Each node binds a hypothesis to a trial, an observed outcome, and a credence capped by the mode that earned it: abduction proposes and stays low, induction is test-backed and rises. Every node rebuilds from its recorded trial, so an auditor replays the structure instead of trusting it.
A hypothesis graph, two nodes and the edge between them, on the dead-light inquiry. The bulb hypothesis is killed by a cheap trial (swap in a fresh bulb, still dark); its death names the next node, the dimmer, which a second trial witnesses (bypass it to the wall, the light comes on). Each node binds a hypothesis to a trial, an observed outcome, and a credence capped by the mode that earned it: abduction proposes and stays low, induction is test-backed and rises. Every node rebuilds from its recorded trial, so an auditor replays the structure instead of trusting it.

2.4 Replay makes audits local

The invariant yields a local audit property:

Local Replay Auditability. Any single conclusion is checkable by rerunning that node’s recorded trial, without reconstructing the inquiry or trusting the worker’s unsupported verdict. The checker and recorded environment remain inside the trusted boundary.

Local replay resembles a certificate that a consumer checks without trusting its producer. Like a Merkle audit path or proof-carrying code, its value rests on a contract; a complexity bound is beside the point.

Two grades of it matter. Where the trial is a deterministic command over pinned inputs, replay is strong: re-execution reproduces the recorded outcome, as in the fail-closed experiment (§4). Where the trial runs a model or live service, replay is artifact-level: the recorded output is preserved and a deterministic predicate is rerun over it. Pruning leaves both untouched: a branch drops from the working frontier but remains in the record.

2.5 Kills drive revision

The nodes are ordinary; what is novel is the edge semantics. A search tree finds; a proof tree justifies. The hypothesis graph is both at once, because the search path is the justification: every step was a trial.

Counterexample-guided refinement is the closest kin: a counterexample is a kill that names the next experiment, the hypothesis graph’s defining edge. The graph runs refinement over an open hypothesis space abduced in domain vocabulary. Replayability stands in for the sound abstraction a closed setting supplies for free, with completeness as the price the open move forfeits (Appendix A).

A truth-maintenance system (Doyle 1979; de Kleer 1986) maintains belief status under assumptions, but the empirical trial and the kill-generated successor are external conventions. Provenance (W3C PROV, Moreau et al. 2013) records replayable activities, yet does not decide which hypothesis comes next. A ReAct trace (Yao et al. 2023) is an append-only log whose continuation policy the controller decides and the record never holds.

The graph composes an open-domain hypothesis with its executable trial. It also records the kill condition and the successor that the kill names. Its relatives include certificate transparency (Laurie et al., RFC 9162), proof-carrying code (Necula 1997), and content-addressed provenance. Each pairs a data structure with the protocol that writes and checks it.

2.6 Semantic memory

Without a perturbation and observable outcome, the graph degrades into a plausibility tree. Inquiry that has to be checked therefore trades private intuition for an explicit perturbation surface. The hypothesis graph is the verifiable serialization reasoning compiles to, so someone who does not trust you can check it. Proof is to intuition as the hypothesis graph is to inquiry: the residue of thinking that survives a stranger’s replay.

That residue is what the memory typology calls the smem: persistent, typed, queryable, and owned by the harness rather than the model. A second agent need not inherit the whole conversation. It can enter at an open node with that node’s objective, direct dependencies, versions, and receipts. Independent branches can proceed concurrently; a changed root invalidates only what depends on it. The graph in the field work is one markdown file per inquiry. The scheduler experiment makes these update rules explicit.

3. Knowledge is an entitlement

Knowing changes which claims an agent is entitled to use. A verdict carries a receipt another agent can check; dependency versions determine whether its warrant remains current. The protocol separates four objects that prose handoffs tend to blur:

ObjectContainsEstablishes
TrialCommand, inputs, predicateWhat was tested
ReceiptTrial and observed outcomeWhat the checker accepted
WarrantReceipt under current dependency versionsWhat another agent may rely on
Hypothesis graphWarrants and dependency edgesWhat remains current after revision

Paired with its trial, a node carries its warrant intact. Another agent can reuse the result, replay it, or see that it has gone stale.

4. Shared memory that fails closed

One agent’s checked work can become another agent’s working memory without losing the conditions under which that work was earned.

That boundary is dangerous. A worker may return late, repeat an old result, use a changed dependency, or disappear halfway through publication. In ordinary notes, the receiving agent has to notice. In the graph, the protocol notices: a claim names its version and parent versions, carries a receipt checked against frozen work, and enters memory only through an atomic publication. If any entitlement is stale or missing, nothing downstream unlocks. Refusing progress is safe.

Fail-closed publication into shared semantic memory. A worker submits a claim, receipt, dependency versions, and lease to an atomic gate. Valid current work enters shared memory and unlocks dependents. Stale, unsupported, or interrupted work leaves memory unchanged. When a root changes, dependent claims become historical while independent work survives.
Fail-closed publication into shared semantic memory. A worker submits a claim, receipt, dependency versions, and lease to an atomic gate. Valid current work enters shared memory and unlocks dependents. Stale, unsupported, or interrupted work leaves memory unchanged. When a root changes, dependent claims become historical while independent work survives.

4.1 A bounded mechanism test

We tested this mechanism on a small diamond graph, R→A,B; A,B→J, with two workers and a separate SQLite implementation. The reference model was declarative rather than copied from the scheduler. The trusted boundary included the checker, root authority, scheduler process, SQLite, clock, operating system, and storage. The fault model allowed workers to crash, retry, delay, duplicate, corrupt, and reorder their calls.

The bounded experiment demonstrates the mechanism; it does not estimate population effects.

Evidence layerFrozen result
Complete protocol exploration14,967 states; 39,288 transitions; zero violations
Independent model–SQLite conformance20 comparisons across ten dispositions; zero mismatches
Forced schedulessix race and lease-boundary schedules passed
Process interruptiontwo pre-commit deaths reopened to the complete prior state
Mutation sensitivityseven source mutants executed and were killed

The exact schedules covered same-node double claim, both orders of publication versus root update, and publication immediately before, exactly at, and immediately after lease expiry. The mutations removed the checks we say matter: receipt validation, version entitlement, expiry, claim exclusivity, exact invalidation, and atomic publication. An unchanged replication produced the same result.

The first confirmatory run did not pass. One malformed mutant failed during test collection, and the harness initially mistook any nonzero exit for a killed mutant. We retained the failure, changed the rule so only an executed assertion failure counts, froze the follow-up, and reran it. The receipt therefore includes the correction and the failed first run.

4.2 Shared entry points

The graph also makes handoff smaller and concurrency cleaner. On one frozen DAG, three workers received different open nodes within 8 ms and shared 3.4 seconds of actual overlap. Each packet was mechanically generated and less than half the size of the full chronological notes. It contained only the objective and direct prerequisites, plus versions, receipts, and the output contract.

The run demonstrated structural concurrency, with no meaningful wall-time speedup. Independent work can start without transferring the whole inquiry, while joins remain locked until their declared dependencies verify. When a root changed during work, the scheduler invalidated exactly its descendants and preserved the independent branch.

4.3 The bounded claim

The result supports one narrow claim:

A versioned, receipt-checked hypothesis graph can serve as shared semantic memory that fails closed: stale or unsupported worker output is rejected rather than silently becoming current knowledge.

“Can” matters. Complete exploration covered one frozen protocol model, not every implementation. The SQLite evidence covered a transition-complete basis and targeted adversarial schedules, not all possible storage failures. The checker itself remains trusted. Nothing here establishes Byzantine tolerance, semantic correctness of a bad specification, or better underlying model reasoning.

The hypothesis graph adds dependency, version, and invalidation structure to the receipt supplied by Verifiable Knowledge. The receipt can then travel across agents without becoming an unsupported assertion. One paper defines what may count as knowledge; this one defines how such knowledge is shared and revised.

5. Why inquiry produces this memory

The model makes the leap to a candidate cause; the harness stages and checks what follows. In this precise and limited sense, the harness makes reasoning mechanical except for the leap, which it can only trigger. Peirce called this discipline inquiry.

His Illustrations of the Logic of Science (1878) and Pragmatism as the Logic of Abduction (1903) type the operations of inquiry into three irreducible modes.

The three modes as one cycle: Observation → Theory (abduction), Theory → Experiment (deduction), Experiment → Observation (induction).
The three modes as one cycle: Observation → Theory (abduction), Theory → Experiment (deduction), Experiment → Observation (induction).

No single mode carries a belief to its grade. Abduction proposes content but does not test it; induction tests but introduces no new explanatory content; deduction traces consequences but invents nothing. The credence a node ends up with is what traversing all three earns it, and that is what it means to call the modes typed: each is fixed by what it can’t do.

Abduction supplies the theory; deduction only unfolds it into predictions. Deduction neither generates the theory nor proves it. The theory was abduced, the predictions deduced, and induction does the testing.

Keep them separate and each does its one job; collapse them and you get familiar failure modes:

That collapse is exactly what modern LLM agents do by default, since a single forward pass proposes, predicts, evaluates, and rationalizes in undifferentiated prose. Methodeutics, Peirce’s term for the methodology of inquiry, is how to conduct the typed-mode loop well. Encoded as skills, it constructs and maintains the smem.

Modes of reason and the irreducible three. Around the act of testing, philosophy of science built an apparatus of real rigor: Bacon’s induction (1620), Popper’s falsifiability (1934), Meehl’s “soft science” critique (1967), Pearl’s causal calculus (2009). Justification got its method, every step of it. But it begins one step too late, taking the hypothesis as given and filing its origin under inspiration. Peirce named the missing operation, abduction. The harness gives abduction a typed slot and triggers it, though the leap remains the model’s.

6. A diff provokes a hypothesis

Putting the theory to work means generating hypotheses as typed nodes the harness can test, instead of trusting whatever a model guesses.

The surprise has a primitive, and it is a diff. The harness manufactures the discrepancy that provokes a hypothesis: a before snapshot, an after snapshot, and the perturbation that flipped, read as figure against the ground that held (Rubin’s Gestalt terms). Separation logic calls the frame-inference half of this bi-abduction and scaled it to real codebases in Facebook Infer (Calcagno et al. 2009; O’Hearn 2019). Its use of Peirce’s word differs from his abduction: it localizes the surprise where belief and code diverge but leaves the explanatory leap unmade. inquire works at the simplest level, with one before/after diff and the frame inferred from the symptom. The extensions to branches and compositional cases are in the lineage appendix.

The “XOR” separates the figure (what the fix must change) from the ground (the invariant frame). The harness computes that symmetric difference against a known-good oracle and keeps the flagged cases. The XOR marks what a hypothesis must explain; the model still supplies the explanation.

Bi-abduction on a dead fixture. With dimmer, fixture, and bulb all intact, the static scene names no suspect; the perturbation bypasses the dimmer to the wall, and the XOR isolates the figure (the dimmer) from the ground (fixture and bulb).
Bi-abduction on a dead fixture. With dimmer, fixture, and bulb all intact, the static scene names no suspect; the perturbation bypasses the dimmer to the wall, and the XOR isolates the figure (the dimmer) from the ground (fixture and bulb).

Directed graphs as reasoning representation. Pearl 1988 (Probabilistic Reasoning in Intelligent Systems; Bayesian networks as DAGs of dependencies); Pearl 2000/2009 (Causality; structural causal models, d-separation, do-calculus). Pearl’s lineage was built for causal-structure inference; our data structure (typed nodes, directed edges) puts it to hypothesis representation. The difference from a Bayesian network is one of kind, and runs deeper than dropped probabilities. A Bayes net conditions over a fixed variable set and propagates probability along edges of dependence; the hypothesis graph abduces its nodes as the inquiry runs, its edges genealogical, a dead hypothesis naming its successor rather than a conditional dependence. A Bayes net is justification over a space it is handed; the hypothesis graph generates the space.

The hypothesis graph for the dead fixture. Abduction fans the observation into four typed candidate nodes; mechanical kill predicates fire on three (the socket, fixture, and bulb each cleared by a cheap test), the dimmer node is witnessed by the bypass and closes the last open hypothesis, and deduction derives the fix. Typed nodes, directed edges, all three modes in one inquiry.
The hypothesis graph for the dead fixture. Abduction fans the observation into four typed candidate nodes; mechanical kill predicates fire on three (the socket, fixture, and bulb each cleared by a cheap test), the dimmer node is witnessed by the bypass and closes the last open hypothesis, and deduction derives the fix. Typed nodes, directed edges, all three modes in one inquiry.

Isn’t generating that space just debugging? It is. Spectrum-based fault localization, statistical and delta debugging, model-based diagnosis, and search-based program repair already automate the loop (Jones et al. 2002; Liblit et al. 2005; Zeller & Hildebrandt 2002; Reiter 1987; Le Goues et al. 2012; Monperrus 2018). The hypothesis graph adds persistence. Engineers run the search in their heads, and existing tools do not preserve it as a typed, replayable hypothesis graph.

We implement this loop as a tool. abductor (github.com/kimjune01/abductor) externalizes diff generation beyond the context window, so a model has to represent the rule instead of tabulating the case in front of it. The tool enumerates a space wider than the model’s hypothesis, calibrates each case against a known-good baseline, and exposes one pass/fail gate while withholding the answer key. A failing case forces the model’s next fix. The search records itself as a hypothesis graph, with fixes as nodes and counterexamples as edges.

7. The harness checks the leap

How do epistemology and debugging become an agentic harness? The loop that writes the graph needs four things:

The outer deterministic driver invokes an agent through the inquire skill, which accesses the deterministic abductor tool. It mechanizes the surprise, the diff the model would otherwise have to compute by hand.

The inquire skill: Peirce's three modes as a procedure that writes the hypothesis graph. Induction fires a deterministic kill or witness with no model arbitrating. implement and attest, which read the survivors and verify the patch, follow below.
The inquire skill: Peirce's three modes as a procedure that writes the hypothesis graph. Induction fires a deterministic kill or witness with no model arbitrating. implement and attest, which read the survivors and verify the patch, follow below.

7.1 Why code fits

We recast each issue as an inquiry on an engineered system: a failure trace, a codebase, a root cause to find, and an intervention that must not regress the rest of the system. Code is the right substrate for the hypothesis graph because it combines three properties that other inquiry domains rarely bring together:

Because those three hold together, kill conditions over code are exact executions.

One trial settles the predicate in this regime. In code the per-case response is mechanically observable, so a single passing test on a captured diff is a complete verdict that the diff satisfies the executable predicate for that case. Behaviors the predicate does not cover remain out of scope. Where verdicts are aggregated, the right summary is counts and denominators rather than confidence intervals: per-case verdicts are exact, and aggregating them is bookkeeping.

The three Peircean modes are how inquire builds the graph, each node typed by the mode that established it and capped at that mode’s confidence:

ModeWhat inquire doesConfidence
AbductionProposes candidate root causes from the observed failure; writes hypothesis nodes with falsifiable predicates and kill conditions (read-only)low
DeductionTraces each hypothesis’s consequences through the code to localize the suspect sethigh
InductionTests survivors with cheap read-only experiments (prints, intermediate data)moderate

implement then writes the surviving hypothesis, with an adversarial challenger critiquing the diff against the spec. attest runs the test suite, takes the grader’s pass/fail verdict, and emits a re-entry route (inquire, implement, or none) from a fixed verdict→route table. The driver parses the verdict and the route; both are mechanical, and no model decides termination.

7.2 Inquiry writes the graph

inquire emits the hypothesis graph: the structured-analysis document that precedes the patch. Kill conditions are mechanical predicates over the evidence trajectory, so a node dies when its predicate fires and not before. The graph persists across iterations; re-entry adds nodes rather than overwriting. The frontier closes only when every open hypothesis is killed (a test refutes it) or witnessed (a test confirms it).

A committed node is a conclusion, and an inquiry that reaches one rarely runs straight. Following the inquire skill on a real bug, the inquiry traverses all three modes and kills a hypothesis before it settles:

abduction → deduction → kill → abduction → deduction → induction → deduction → induction ⇒ induction

An in-flight inquiry trace, illustrative: Sonnet 4.6 following the inquire skill on the python-dotenv find_dotenv v1.0.1 regression (a real, reproducible bug, every command run). The active hypothesis cycles through all three modes and a kill before the inquiry settles; a committed graph records only the terminal node (induction) and discards this sequence. Full trace: recon-inflight-dotenv.md.

7.3 Deterministic gating

The control loop is standard: the driver routes on attest’s verdict under a bounded attempt budget, and a failure re-enters inquire with the updated graph rather than retrying the patch. The hypothesis graph doubles as the loop’s checkpoint, so dead branches are not silently proposed again.

8. Discussion

8.1 Memory is an entitlement, not a fact dump

Most agent memory asks what text should be retrieved? The hypothesis graph asks a prior question: what is this agent entitled to rely on? A claim is current only at a declared version, under declared parent versions, with a receipt for the work actually claimed. Retrieval can then be ordinary and cheap because validity is not left to the reader’s intuition.

This is the connection to Verifiable Knowledge. A receipt makes one claim checkable. The graph makes many such claims maintainable. Dependency edges say what a revision withdraws; version vectors distinguish current knowledge from history; atomic publication prevents half-written conclusions from entering shared state.

Bad input does not become good because it is structured. A trusted checker can still encode the wrong predicate. What the protocol prevents is narrower: stale or unsupported output entering as verified shared knowledge.

8.2 Concurrency follows from addressability

Concurrency is not a separate trick added to the graph. It follows from explicit open nodes and joins. Workers can claim independent nodes without receiving the whole history. A join opens only when its parents verify. Less context crosses each boundary because the graph supplies a clean entry point: objective, direct prerequisites, receipts, and output contract.

The demonstration showed real overlap but no material speedup. Addressability and safe concurrency are structural properties. Speed depends on branch cost, startup, contention, and the critical path. This paper claims the former and leaves the latter open.

8.3 Accountability survives the author

A prose handoff asks the next agent to trust the previous one. A graph handoff asks it to check a receipt or observe that the claim is no longer current. This changes the unit of trust from an author to a piece of work.

Local replay is the smallest form of that accountability. Selective invalidation is the compositional form: when a premise changes, dependent conclusions lose entitlement while independent work survives. The graph is useful not because every node is true forever, but because it records when a node may be used and what would make it stop being usable.

9.1 Agent memory and handoff

Memory surveys distinguish episodic traces, semantic facts, and procedural skills, but persistent agent systems often store prose or retrieved chunks without an executable validity rule. CoALA (Sumers et al. 2024) supplies the cognitive-architecture vocabulary; AriGraph (Anokhin et al. 2024) supplies a graph-shaped memory precedent; provenance systems supply lineage; truth-maintenance systems supply dependency-directed revision. The hypothesis graph combines these around a narrower node contract: a claim, its dependency versions, and a replayable trial.

The practical baseline is not no memory. It is a strong structured handoff: objective, state, evidence, decisions, and next steps. Such a handoff can be excellent. What it lacks natively is mechanical admission, versioned entitlement, atomic publication, and transitive invalidation. The shared-memory experiment isolates those protocol properties rather than asking a language-model judge which memo reads better.

9.2 Agent scaffolds and SE-agent harnesses

Surveys and position papers place verification, analysis, and persistent structured memory at the harness layer (Roychoudhury et al. 2025; Liu et al. 2024; Wang et al. 2025). OpenHands, SWE-agent, and AutoCodeRover are ReAct-pattern coding loops; Voyager is a close loop-shape precedent, with tested skills where this work stores falsifiable claims.

Two adjacent systems split the contribution differently. Theorem-of-Thought types abductive, deductive, and inductive reasoning within a query but does not maintain a persistent memory across inquiries. Cognitive Memory Manager extracts a typed DAG from completed trajectories and promotes patterns to skills. This work writes the graph during inquiry and uses failed trials and changed versions to route what may happen next.

The distinction is not that graph-shaped memory is new by itself. The contribution is the semantic contract on its nodes and updates. That contract combines replayable warrant with explicit dependency, versioned reuse, and fail-closed publication.

9.3 Typed reasoning and graph-structured memory

IDEA (He et al. 2025, ACL Findings, arXiv:2408.10455) explicitly cites Peirce and uses the three modes in an interactive rule-learning benchmark. ADI (Gilda & Gilda 2026, arXiv:2604.15727) gives an explicit Peircean tripartite protocol with epistemic layers over a symbolic knowledge graph; near-simultaneous with this draft and the most conceptually adjacent prior work. Both target reasoning domains outside SE.

The hypothesis graph sits at the intersection of three lineages: cognitive-architecture memory (Soar / ACT-R / EPIC), LLM-agent memory systems (CoALA / AriGraph / Mem0 / Zep), and typed-belief representations (CausaLab / BeliefMem / Theorem-of-Thought / CMM). The hypothesis graph adopts the Soar memory typology directly as its slot vocabulary, adding only the specific content of the smem slot: Peirce-typed, kill-conditioned, designed for LLM prose read/write. Adjacent work: Kirk, Wray & Laird 2023 (AAAI), an LLM-port of the Soar lineage; CoALA (Sumers et al. 2023/24, arXiv:2309.02427); AriGraph (Anokhin et al. 2024/25, arXiv:2407.04363), the closest precedent for graph-structured LLM-agent memory; CausaLab (Yang et al. 2026, arXiv:2605.26029); BeliefMem (Liao et al. 2026, arXiv:2605.05583), strong adjacent on uncertain alternatives with mechanical update.

CMM (Khalid & Arora 2026, OpenReview; a day before this draft) is the closest comparison: the same persistent typed DAG of reasoning artifacts, but observe-and-consume (it types a trajectory post hoc and graduates skills) where ours is perturb-and-falsify (kills fire live, the graph routes the run). The directions are opposite and complementary, the ~385 committed graphs in sweep/repo-hypotheses/ exactly the corpus its graduation pipeline could consolidate.

Four 2026 systems each carry one component this work combines.

FVDebug (arXiv:2510.15906) builds a hypothesis graph for debugging, with a frontier and accumulated evidence. It asks the model to select the next node, retaining the arbiter this work removes.

From Hypotheses to Factors (arXiv:2604.26747) runs the same perturb-and-falsify loop behind a deterministic engine over an append-only trace. It is confined to quantitative finance, while this work treats the graph as a general semantic-memory substrate.

Portable Agent Memory (arXiv:2605.11032) is the nearest provenance memory. Its Merkle-DAG makes every node reconstructible by content addressing, but certifies integrity (the recorded bytes are untampered); the replay invariant here certifies warrant (the node still survives its trial).

The provenance survey From Agent Traces to Trust (arXiv:2606.04990) enumerates the relations this work mechanizes, Support, Contradict, and Invalidate. It names “how provenance quality should be evaluated” as an open problem; the hypothesis graph answers with replay as the quality bar and the kill condition as an executable edge.

The experiment adds an update rule to this comparison. A claim is not merely stored or assigned confidence: it is admitted with a receipt and dependency versions, then becomes historical when those dependencies change. This is the difference between graph-shaped storage and graph-maintained knowledge.

A second cluster treats truth and uncertainty as first-class rather than a downstream score: NARS, OpenCog’s AtomSpace/PLN, Nanopublications (Groth et al. 2010), and Traxia (arXiv:2606.08256). Verifiable Knowledge adjudicates where each stops short of a replayable, kill-conditioned entitlement ledger. None makes that meaning the semantic contract of a memory node, with truth operationalized by replayable edge structure rather than a stored label or textual provenance record.

Production LLM memory systems with graph variants (Zep/Graphiti, Mem0), staged-hypothesis selection in science agents, deterministic gating in adjacent settings, and reflective memory systems (Reflexion, DebugMate) are surveyed in the appendix; they are adjacent on particular axes but do not change the comparison spine.

10. Limitations

11. Future work

The next work should test scale only where scale changes the mechanism.

12. Conclusion

A coding agent does not need another place to put prose. It needs memory that distinguishes a reusable result from an unsupported assertion.

The hypothesis graph supplies that distinction. A node binds a claim to a receipt and dependency versions. The graph admits it atomically, exposes independent entry points, and withdraws dependent knowledge when a premise changes. In the bounded experiment, this protocol survived complete model exploration, independent implementation comparisons, forced races, process deaths, and targeted source mutations.

A versioned, receipt-checked hypothesis graph can serve as shared semantic memory that fails closed. It makes checked work easier to carry forward without forgetting why it was trusted.

13. Availability and reproducibility

Reproducibility invitation. Re-run the frozen explorer, conformance traces, crash probes, and source mutants. A counterexample retracts every claim that depends on the failed invariant; the result graph names those dependencies explicitly.

LLM collaboration disclosure

LLMs produced the field graphs and helped design, implement, and review the shared-memory experiment. Mechanical checks, SQLite state, and the independent model held every experimental verdict. The prose was drafted and revised with Anthropic’s Claude and OpenAI’s Codex from human-authored outlines and session notes; the claims, methodology, and publication decisions are the author’s.

Acknowledgments

We thank John Laird for comments that improved the paper’s framing and abstract.

References

Works cited above, consolidated. Entries for which the text or the Extended intellectual lineage gives only a short name or arXiv identifier are listed at that detail rather than filled out, so nothing here is reconstructed beyond what the paper states. The author’s companion essays are listed separately under Availability and reproducibility as lineage, not as entitlement.

Appendix A. Extended intellectual lineage

Foundational sources grounding §5, §3, §2, and §9, collected here so Related Work stays focused on contemporary systems.

A.1 Peircean inquiry and the philosophy of science

A.2 The hypothesis graph’s structural ancestors

A.3 Bi-abductive and compositional inference