Ledgermachine

Visual drift after coding-agent work

Your coding agent is quietly changing your interface.

Ledgermachine scans frontend source for visual drift, explains every finding with file-and-line evidence, and exports the rules that keep future agent work on system.

Local, read-only analysis. Your source is never uploaded or executed.
Local workflowRead only
SRC
Your source

Supported files are read locally as text. Imported code is never executed.

CSS · TSX · Vue
LOG
Evidence and decisions

Values, candidates, source locations, exceptions, and history remain inspectable.

local ledger
RULE
Durable constraints

Your reconciled system becomes guidance for the next coding session.

AGENTS.md · MCP · gate
SourceLedgerAgent rules

One prompt at a time

Nobody decided to have 31 grays.

An agent needed a border color and wrote one that looked close enough. Then it happened again. Nobody can see a two-percent difference in review—until near-duplicates become the interface.

Every session makes it slightly worse.

Tiny local choices accumulate into a second, accidental visual system.

Agent instructions go stale.

The source changes after the rules were written, so yesterday's guidance becomes today's mismatch.

You cannot review what you cannot see.

Near-identical values pass code review while the interface slowly loses its vocabulary.

The working loop

Scan. Decide. Preserve.

Ledgermachine stays read-only. Your editor or coding agent makes the repair; a later scan verifies that drift did not return.

Scan the source

Open a folder, ZIP, or sample project. Ledgermachine reconstructs the visual vocabulary already present in supported frontend files.

CSS · TSX · Vue · Svelte

Decide with evidence

Use the token, create one, accept the exception, or leave it open. Every decision keeps its source evidence and can be undone.

Use · Create · Accept

Preserve the decision

Export agent guidance and repair briefs. After the next agent pass, rescan or use the CLI gate to verify the result.

Rules → Next Session → Verify

Why this is different

Not another CSS score.

A finding is evidence for a product decision, not an automatic verdict that every difference is wrong.

Evidence attached

Observed and candidate values stay visible beside the reasoning. Findings can be accepted, planned, ignored, reopened, or undone without erasing project history.

  • Exact file and line
  • Occurrence count across the project
  • Declared token or established-scale candidate

Private by architecture

Imported code is parsed as text in this tab. A strict Content Security Policy blocks external connections, and the production privacy gate fails when a runtime network API appears.

  • No cloud workspace
  • No analytics SDK
  • No imported-code execution

The agent loop

Your decisions become the next agent's constraints.

Fix the decision once. Ledgermachine carries accepted tokens, exceptions, and component conventions into the tools that edit the source next.

  1. Agent edits source
  2. Ledgermachine scans
  3. You reconcile findings
  4. Rules and repair guidance are exported
  5. The agent continues with clearer constraints
  6. The next scan verifies the result
Claude CodeCursorCopilotWindsurfMCPCLI
AGENTS.md
# Ledgermachine system rules

## Tokens
- Use var(--ink) for primary text.
- Use var(--surface-2) for secondary fields.
- Keep spacing on the declared --space-* scale.
- Keep controls on --radius-control.

## Components
- Reuse the shared Button implementation.
- Preserve the accepted compact-card exception.
- Do not introduce new near-black values.

## Verification
- New drift: 0
- Minimum coverage: 92%
- Rescan after every agent pass.

Works with the source you have

Framework-aware. System-agnostic.

CSSSCSSHTMLJSXTSXVueSvelteAstroTailwind v3/v4CSS ModulesStyled ComponentsEmotionDTCG JSON

Detection stays transparent: the project view lists the conventions it recognized, the files it skipped, and why.

Questions before source access

The practical details.

The short version: local, deterministic, read-only, and designed to hand decisions back to the tools already editing your code.

Does my code get uploaded anywhere?

No. Folder and ZIP imports are read inside this browser. Analysis runs locally without project uploads.

Does Ledgermachine execute imported code?

No. Supported source files are parsed as text in a Web Worker. Imported JavaScript, build scripts, components, and configuration are never evaluated.

What does it cost?

Ledgermachine is free to use locally. There is no account, trial, cloud workspace, or telemetry SDK.

Will it work without design tokens?

Yes. Ledgermachine reconstructs the visual vocabulary already present in the source and can propose a token set for review.

How is this different from stylelint?

Stylelint enforces declarations. Ledgermachine compares decisions across the project, keeps history, and exports durable agent guidance.

How is this different from visual regression testing?

Visual regression tools compare rendered pixels. Ledgermachine identifies source-level causes without rendering or executing the project.

Which coding agents can use the exports?

AGENTS.md, CLAUDE.md, Cursor rules, repair briefs, the CLI gate, and local MCP cover common agent workflows.

What happens if I clear browser storage?

The ledger lives in IndexedDB. Export a portable project archive for backup or transfer.

After the next agent pass

Check what the last coding session changed.

Enable JavaScript to scan a project or open the sample. Analysis is local and read-only; imported source is never uploaded or executed.