Skip to content

hypothesis: the cycle assumes prospective use, agents capture retrospectively — test has 0 calls ever, Inconclusive not exposed #54

Description

@1Croydan1

Problem

The claim→test→confirm/refute cycle is designed prospectively (hypothesis first, experiment next, verdict last), but a real agent writes to memory retrospectively — after the check has already happened in-session (Bash, web, subagents) and the verdict is known. The stages collapse into a single call: a claim is born with the verdict baked into its text, and stays open forever.

Numbers (audit of 13,105 sessions + live graph)

  • test0 calls in the entire history, including 76k dev calls. The only session that honestly lived the cycle (10 claims → 5 refute + 2 confirm) skipped test: evidence was ordinary episodes ("measured, not assumed" experiment write-ups) passed via by.
  • 15 of 21 hypothesis nodes are forever open; at least 7 carry the verdict in their body/name (all-caps "REFUTED" / "VERDICT: PARTIAL" style). The graph contains an open node whose own body says it's refuted.
  • 13 of 23 organic claims were made by one-shot subagents that die right after writing and structurally cannot come back with a verdict.
  • HypothesisStatus::Inconclusive exists in core (kaeru-core/src/graph/node.rs:169-174) but is not exposed by any MCP tool — agents write "PARTIAL" as text.
  • test's own semantics disagree: description "Run an experiment…" (future) vs the method param doc "How the experiment was conducted" (past); the name collides with the "run the tests" mental model (cargo test/pytest).

Proposal

  1. Support the retrospective pattern: claim --verdict supported|refuted|inconclusive --by <evidence> — a single-call closed hypothesis for subagents and post-hoc capture.
  2. Expose Inconclusive (a verdict param on confirm/refute, or separately).
  3. test: either remove it (0 calls) or rename (evidence/experiment) and allow post-hoc registration of an existing result node.
  4. Close the loop on re-entry — open claims in awake (see the read-back sections issue).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions