01 / SPECIFICATION OF RECORD

Make the accord
the record.

AccordRail doesn't guess the design from your code. Only the decisions a human approved become a small record that the current implementation can be checked against.

HUMAN APPROVAL
DETERMINISTIC CHECK
LOCAL RECORD

ONE SOURCE

Conversations drift.
Decisions stay.

READMEs, ADRs, chat threads, AI summaries — all useful, but a machine cannot decide which of them is the current decision. AccordRail keeps only what can serve as grounds for a stop, in .accordrail/spec.toml.

It doesn't silently convert prose into rules. The AI can draft, and it can check. But only a human can approve the record.

Hand the AI proposals.
Never the decision.

THE RECORD

One sheet
states the shape.

The record holds dependency directions, module entry points, where things may live, what must exist — only promises a dependency graph can verify with certainty.

.accordrail/spec.tomlAPPROVED / REV 04
[project]
name = "sample"

[[layer]]
name = "ui"
may_use = ["domain", "shared"]

[[layer]]
name = "domain"
may_use = ["shared"]

[[module]]
path = "src/domain"
public = ["index.ts"]

[rules]
forbid_unspecified_files = true
FINGERPRINT LOCKEDCHANGE REQUIRES HUMAN APPROVAL

FROM NOW, NOT FROM ZERO

Day one starts
with a clean slate.

It won't dump hundreds of warnings onto an existing project. The shape on the day you adopt it is recorded as the baseline; only deviations added after that are reported.

BEFORE ACCORDRAILThe known shapefrozen as the baseline
AFTER ACCORDRAILNew differencesonly these are judged
RATCHET

AUTHORITY

Approval is the one thing
never automated.

AI

Proposes

Drafts structures, splits, and revisions to the record.

ACCORDRAIL

Verifies

Checks proposals and implementation against deterministic rules.

HUMAN

Decides

Reads the reasons and approves what enters the record.

02 / NEXT

How that record is defended.See the gate ↗