Pimp My IDE / garage dispatch
Back to garage
October 1, 2026 | workflow craft / runnable notes

A code fence is a loaded switch.

Runnable Markdown removes the copy and paste gap between instructions and a shell. That is useful. It also makes placement, authority, and evidence part of the document.

Keep the note readable everywhere. Arm execution with four visible facts: command source, working place, authority boundary, and receipt.

The note can now change the machine.

Ledge 0.1.5 is an Apache 2.0 Markdown notebook with downloadable releases for macOS, Linux, and Windows. Its docs say a closed fenced block can run in place. Output stays under the block. Shell blocks in one note share a persistent shell, so a directory change or exported variable carries into the next run.[1]

That design closes a common gap. The command, explanation, and result can occupy one readable file. It also changes the job of the note. A block is no longer only an example. It may inherit state and act on the current machine.

The useful question is not "Can this note run?" Ask what this block may change, where it runs, and what remains after it stops.

Put the brake in the file.

Ledge adds two plain markers to a fence. confirm opens a dialog that shows the code and execution location. Cancel has initial focus. norun removes the Run control while leaving the block available to read and copy. The docs call confirmation a speed bump, not a lock, because anyone who can edit the note can remove it.[2]

That distinction is sound. A visible prompt can interrupt muscle memory. It cannot replace operating-system permissions, repository policy, or a restricted credential. Use the marker to declare intent. Use the execution environment to enforce authority.

Place belongs beside the command.

A runnable note may act in a persistent local shell, on the server that stores the note, or on another host named in frontmatter. Ledge says remote runs use the operator's SSH configuration. It also says named profiles keep environment variables outside the notes folder.[3]

Do not make the reader infer place from prose written three screens earlier. Put the working directory and host beside the block. If the same command can target several hosts, require a fresh choice. A copied note should fail closed when its named place is missing.

Agent access needs a separate label.

Ledge ships an MCP server with read and write tools for notes. Its agent documentation lists eleven tools. It says the agent route has no delete tool, locked-note bodies are withheld, and settings can be read but not changed through that route.[4]

Those limits describe note access. They do not prove that a command inside an editable note is safe to run. Keep content authority and shell authority separate. Record which route edited the block, then apply execution checks at run time.

Interactive makeover / executable note arming bay

Route the block through four interlocks

Traditional purpose replaced: a Run button beside a code fence. Better version: the same action is paired with a route, ordered checks, a visible gap state, and a copyable run-card template.

Set the execution route

This teaching demo builds a run card. It does not execute code or connect to another machine.

Block mode
Ordered interlocks
Promotion line

Move the block into a script when:

  • another note needs the same logic;
  • arguments, branches, or retries appear;
  • a code review must cover behavior;
  • the command becomes part of release or recovery.
Arming bay / ordered route

Run-card circuit

Quote / blocked

This block is a quote. Four requirements are open.

No execution route is requested. Select interlocks to draft the fields that a future run card must collect.

A selected interlock adds a required field to the template. It does not prove the command, host, credential, revision, or output was inspected.

One run / four facts

Do not let one green button hide the route.

01 / SOURCE

Keep logic findable

Inline short discovery commands. Move reused logic into a versioned script and call it from the note.

02 / PLACE

Name the machine

Record the working directory and host class beside the command. Do not rely on remembered shell state.

03 / AUTHORITY

Use a real boundary

Use confirmation for intent. Use users, permissions, and narrow credentials for enforcement.

04 / RECEIPT

Keep the result

Attach the revision, exit status, and output location. A streaming panel is not a retained record.

Sources read

Source log and evidence boundary
  1. Ledge source repository and release v0.1.5, read October 1, 2026. The repository is public under Apache 2.0. The release published downloadable macOS, Linux, and Windows artifacts. Its SHA256SUMS asset resolved over HTTPS. We inspected metadata and checksums but did not install the application.
  2. Ledge, "Running Code", read October 1, 2026. The page documents closed fences, inline output, persistent note shells, confirm, norun, remote reachability behavior, and the limit of confirmation as a speed bump.
  3. Ledge product page, read October 1, 2026. The page describes per-note shells, SSH-based remote execution, named profiles outside the note, platform support, and mobile access.
  4. Ledge, "Agents and Ledge", read October 1, 2026. The page lists the MCP note tools and documents no-delete, locked-note, and read-only settings boundaries.
  5. CommonMark 0.31.2, fenced code blocks, read October 1, 2026. This is the syntax baseline for the portable fenced blocks discussed here.
  6. Hacker News discussion for "Show HN: Ledge.sh - Runnable Markdown Notes", item 49902382, checked against the Hacker News API and opened October 1, 2026. The discussion includes the useful objection that repeated or consequential logic belongs in scripts rather than growing into a hidden codebase inside notes.

Evidence boundary: Ledge documents the product behavior. Pimp My IDE designed the four-interlock run card as editorial guidance. We verified that the public repository, current release metadata, download assets, and checksum file exist. We did not install Ledge, run a block, connect an SSH host, or test its MCP server.