Skip to content

0.3.0 — outcome tracking (V4)

Latest

Choose a tag to compare

@qspencer qspencer released this 29 Jul 01:32
  • bench: internal benchmark suite (bench/run_bench.py) — engine-overhead
    medians against a zero-latency scripted model, the acceptance eval, and the
    robustness tier at --s4-samples 50 with duplicate-shape classification
    (the value-equivalence T0 measurement), recorded per-release to
    bench/results.jsonl with a --compare regression gate. Now part of the
    maintainer release checklist. See bench/README.md.

  • mcp 2.0 compat: the MCP SDK 2.0.0 renamed FastMCP to MCPServer
    (same decorator API) — veracium-mcp now imports whichever the installed
    SDK provides, so mcp>=1.0 stays the supported range on both majors.

  • outcome tracking (V4): co-designed with the first production consumer —
    record_outcome() records uses and judgments of facts as kind="outcome"
    episodes (the source of truth) with derived edge counters
    (times_used/outcome_counts/last_outcome); judgments upgrade the
    matching use in place via (edge_id, evidence_ref). Vocabulary:
    unreviewed/confirmed/corrected (human) /challenged/concurred
    (LLM judge), actor rules enforced. Edge-blind by design: record_outcome
    never supersedes facts; the explicit fact-level correct() verb supersedes
    with reason "corrected". challenged reuses the possibly-stale flag;
    counters render into recall as information, never gating; outcome episodes
    are excluded from the narrative recall window and from LLM consolidation.
    Portability format v2 ("record" marker; v1 imports unchanged). Neither
    verb is an MCP tool.

Release checklist: bench --live baseline recorded (bench/results.jsonl) — hard metrics all zero, eval 5/5, --compare no regressions.