Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Decision Ledger

Dinesh SDinesh S46 downloads

Bind decisions to the code they govern and see when that code drifts.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

Keep your design notes honest. This plugin renders the live code a decision governs, right inside the note that explains it — and tells you when that code has drifted away from what the note claims.

Requires a separate CLI and is desktop-only. The plugin is a front end for ledger, a small Go binary that does the git work. Install that first — see Requirements.

The problem

You write down why you made a decision. Months later the code has moved, been refactored, or deleted, and the note still confidently describes something that no longer exists. Nobody notices, because nothing ever checks.

What this does

Put a ledger block in any note:

```ledger
id: jitter-backoff
```

It renders the code that decision governs, fetched from your repository at read time, with a status:

Status Meaning
tracked The anchor still matches its code
drifted 67% Relocated by similarity — the code changed since you wrote this
code gone The governed code no longer exists, so the decision is probably stale

There is also a sidebar listing every decision in the repository, worst first, so you can see at a glance which of your notes have rotted.

The id can come from the note's frontmatter instead:

---
ledger-id: jitter-backoff
---

Requirements

The plugin shells out to the ledger binary, which reads your git history.

go install github.com/Din-es/Ledger_c/cmd/ledger@latest

Or download a binary for Windows, macOS or Linux from Releases.

Because it runs a local process, this plugin is desktop only — it cannot work on Obsidian mobile.

Setup

  1. Install the plugin.
  2. In its settings, set:
    • Ledger binary — the full path to ledger (or just ledger if it is on your PATH)
    • Repository path — the full path to the git repository the decisions live in
  3. In that repository, run ledger init, then anchor your first decision:
ledger bind src/auth/retry.go:11-14 --note jitter-backoff --title "Jittered backoff"
  1. Back in settings, press Check the engine. It runs the binary and reports the version that answered, so a wrong path fails there rather than as a silently empty sidebar.

Tip: the cleanest setup is keeping your notes inside the repository, so vault paths and repo paths are the same thing. A separate vault works, but you will be mapping paths by hand.

Where this plugin fits

This is the authoring surface, and on its own it reports drift without ever preventing it. There are two others, and you want all three:

Surface Direction What it gives you
Obsidian — this plugin note → code Write down why, and see the live code a decision governs while you read the note
VS Code — Decision Anchors code → note Reading unfamiliar code, ask which decision governs this line
git — ledger verify in CI enforcement A pull request that changes governed code without revisiting its note fails the build

Only the CI gate actually prevents rot — the other two make it visible. If you set up one more thing after this plugin, make it the gate; ledger init scaffolds the workflow for you.

The VS Code extension is listed as Decision Anchors rather than Decision Ledger because Marketplace extension names are globally unique and that one was taken. Same project.

Commands

Command What it does
Open decision ledger The staleness sidebar, worst decisions first
Resolve all decisions Re-check every decision against the current code
Show stale decisions Notice listing anything not currently tracked

Troubleshooting

spawn ledger ENOENT — the plugin cannot find the binary. Put its full path in settings, or add it to your PATH.

Nothing renders / settings seem ignored — check the plugin's data.json is valid JSON. On Windows, use forward slashes in paths (C:/Users/you/ledger.exe) to avoid escaping mistakes.

Everything says "code gone" right after cloning — the resolver needs real git history; a shallow clone has nothing to compare against.

Development

npm install
npm run dev     # watch mode
npm run build   # typecheck + bundle to main.js

Copy main.js, manifest.json and styles.css into <vault>/.obsidian/plugins/decision-ledger/.

Links

  • ledger CLI and full documentation
  • Getting started guide
  • Report an issue

MIT licensed.

HealthExcellent
ReviewSatisfactory
About
Render the live code a decision governs directly inside its note and show a status badge indicating tracked, drifted (with percent), or gone. List every decision in a sidebar sorted by worst rot first to prioritize stale notes. Require a separate ledger CLI and desktop Obsidian.
CodeGitSidebar
Details
Current version
1.2.0
Last updated
Last month
Created
2 months ago
Updates
4 releases
Downloads
46
Compatible with
Obsidian 1.7.2+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Dinesh SDinesh Sdin-es
GitHubdin-es
  1. Community
  2. Plugins
  3. Code
  4. Decision Ledger

Related plugins

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Tag Wrangler

Rename, merge, toggle, and search tags from the tag pane.

Git

Integrate Git version control with automatic backup and other advanced features.

Vertical Tabs

Offer an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.

Mermaid Tools

Improved Mermaid.js experience: visual toolbar with common elements and more.

Recent Files

Display a list of recently opened files.

Longform

Helps you write and edit novels, screenplays, and other long projects.

Templater

Create and use dynamic templates.

Fit

Minimalist File gIT (FIT) to sync your files across mobile and desktop devices using GitHub.

PlantUML

Generate PlantUML diagrams.