Skip to content

MVP version of Vouch with dual-solve feature

Latest

Choose a tag to compare

@plind-junior plind-junior released this 26 Jun 08:04

vouch v1.0.0

the first stable release. everything since 0.1.0, integrated — agent coding
tools, answer-mode retrieval, a typed knowledge model, vault sync, and a broad
adapter catalogue. the load-bearing invariant is unchanged: every durable
write still goes through the review gate
(propose → approve); nothing in
this release auto-approves.

install: pipx install vouch-kb (the command is vouch; the PyPI
distribution is vouch-kb)
upgrade: pipx upgrade vouch-kb

highlights

competitive agent coding

  • vouch dual-solve <issue-url> — run Claude Code and Codex on one GitHub issue
    in isolated worktrees, compare both diffs, keep the one you pick, and propose
    its rationale into the KB (winning commit registered as a Source; decision +
    up to 3 approach claims land in proposed/). --json, --no-record,
    --dry-run, live per-phase progress.
  • vouch dual-solve --sandbox / vouch review-ui --dual-solve-sandbox — run the
    engines inside a Docker image while keeping git/GitHub on the host; agent
    writes stay confined to the throwaway branches.
  • vouch review-ui --allow-dual-solve — a browser SPA that runs dual-solve from
    an issue link, streams progress over the review-ui websocket, shows both diffs
    side by side, and lets you pick the winner. off by default, localhost-first,
    edit-only over http.
  • vouch auto-pr <repo-url> — open N mergeable PRs against any GitHub repo,
    cross-verifying each diff by alternating Claude/Codex as fixer and reviewer;
    opens only when the repo's own tests pass and the reviewer signs off.

answer-mode retrieval

  • kb.synthesize — prose answers from approved claims only, with an inline
    [claim_id] citation behind every sentence, an explicit gaps block, and a
    synthesis_confidence grade (deterministic; CLI/MCP/JSONL).
  • entity-salience reflex — a per-session, zero-LLM pass that attaches candidate
    claims as _meta.vouch_salience on context reads.
  • kb.volunteer_context — confidence-gated push context: surfaces a
    highly-relevant approved claim to an active session.

typed knowledge model

  • typed page kinds (#234) — declare extra page kinds in config.yaml with
    required fields, a frontmatter schema, and extends; validated at propose
    and approve. new vouch schema list / vouch schema sync.
  • auto-extracted typed edges — approving a page files mentions / relates_to
    / derived_from relation proposals (still review-gated; vouch reject-extracted mass-rejects).
  • propose-time similarity warnings (similar_approved / similar_pending) when
    the embeddings extra is installed.

vault sync & adapters

  • vouch sync --vault <dir> — bidirectional sync with an Obsidian/Logseq
    markdown vault (--watch, --direction).
  • vouch install-mcp <host> — one-command adapter writer for 9 hosts
    (claude-code, claude-desktop, cursor, continue, codex, windsurf, cline, zed,
    openclaw) with --tier T1..T4.
  • vouch-context OpenClaw context engine — cited systemPromptAddition on
    every assemble.

ops & observability

  • vouch stats / kb.stats — pending-by-agent, approval rate, citation
    coverage over a window.
  • vouch fsck (deep consistency checks), vouch migrate (on-disk format
    migrations), vouch expire (GC stale proposals).
  • vouch eval recall — P@k / R@k / MRR / nDCG against a labeled set, gating
    retrieval changes in CI.
  • structured JSON logging (VOUCH_LOG_FORMAT=json), a benchmarks/ suite,
    _meta.vouch_trust on responses, visibility-aware kb.audit, and a
    gittensor starter template (vouch init --template gittensor).

fixes

  • graph-ref integrity: put_claim / update_claim / import_check now reject
    claims with dangling entities / supersedes / superseded_by /
    contradicts refs; supersede / contradict pre-validate before the first
    write (#196).
  • discover_root() honours VOUCH_KB_PATH=/abs/.vouch instead of always walking
    up from cwd.
  • vouch serve fails fast with a vouch init hint when no KB is present
    (#95).
  • vault-edit flow: approve() updates an existing page instead of erroring;
    ghost-page, duplicate-proposal, and claim-stub edge cases fixed (#219).
  • sync_apply TOCTOU window closed; parse_since raises a clean MetricsError
    instead of an OverflowError traceback.

Full Changelog: https://github.com/vouchdev/vouch/blob/main/CHANGELOG.md ·
compare v0.1.0...v1.0.0