Skip to content

feat: bidirectional vault sync — vouch sync --vault <obsidian-dir> #181

Description

@plind-junior

Labels: enhancement

What you're trying to do

.vouch/pages/*.md is already plain markdown with YAML frontmatter — i.e. it is an Obsidian/Logseq-compatible vault. Today the loop is one-way: agents propose pages, humans approve them with vouch approve. If a human wants to edit a page in Obsidian, those edits never come back through the review gate.

Bidirectional sync closes the loop without leaving Obsidian, and gives the "knowledge worker" persona a first-class story on top of vouch's "agent" persona.

Suggested shape

vouch sync --vault ~/Obsidian/MyVault/ [--watch]
  • Forward (vault → vouch): edited markdown files become page proposals (cite vault:<relpath> as the source, propose with proposed_by: vault-sync).
  • Backward (vouch → vault): approved pages mirror into the vault under vouch/, and approved claims surface as backlinks ([[claim/<id>]]).
  • --watch mode tails the vault for live updates.

Acceptance

  • Editing a vouch-mirrored page in Obsidian and running vouch sync files a page-edit proposal in .vouch/proposed/.
  • Running vouch sync after approving a claim makes the claim show up as a backlink target in the vault.
  • The starter KB has a one-paragraph "Edit in Obsidian" walkthrough.

Out of scope

  • Logseq-specific block syntax (Obsidian-style links only in v1).
  • Conflict resolution beyond "later write wins on full-file basis" (the review gate is the conflict-handler).

Honorable mentions (didn't make the 10 but worth filing later):
GitHub Action vouchdev/setup-vouch@v1 · ghcr.io/vouchdev/vouch Docker + devcontainer feature · Claude Desktop .mcpb extension · vouch ingest --from-pr <url> · gpg-signed bundles · adapters/agent-sdk/ quickstarts · MCP Apps UI surface for Cursor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions