Skip to main content
The ledger is a set of plain files in your repository. You and your agent record intent; the verifier records observations in separate files. Your campaign decisions remain readable without a dashboard. The quickstart explains the development CLI prerequisites. Commands below use the same absolute-path pattern. Replace /path/to/linktrail with your supplied checkout location.

Files and ownership

Paths are configurable. These files support version control; review local notes and access before sharing a repository. Keep credentials outside tracked files.

Declare what you want

  • wanted: a placement you are pursuing. A new observed link is the news. Weekly cadence is the default.
  • expected: a link you expect to be present now. Absence deserves review. Daily cadence is the default.
  • retired: stop checking and keep the history.
There is no earned intent. The latest observation tells you whether the link was present when checked. A new observation does not change a wanted declaration automatically. Cadence describes when checks are due. The local CLI runs when invoked; continuous hosted monitoring needs a connected watch. See capability status for that distinction.

Import candidates and review changes

Presets cover Ahrefs, Semrush, Majestic, Moz, DataForSEO, Linkody and Google Search Console. Custom CSV mapping is available. Importing an export does not connect that supplier or prove a candidate is suitable. Keep candidate selection in the campaign workflow. The observation mirror appends the first result and later changes to state, reason or link signature. Identical repeat observations do not add another row. The state file records the latest check activity. The nested result uses the verifier’s result shape with HTML removed; the complete local mirror row is not a cloud database row.

Sync with a connected account

sync pushes expectations and pulls cloud events and evidence references. It needs configured project access and LINKTRAIL_TOKEN for the REST client. Store the credential through your approved local environment setup; do not paste it into agent chat. Source and destination event feeds keep separate cursors. Sync applies a page before advancing its cursor and recovers expired cursors through a snapshot. Your local campaign notes and tags remain local.

Read exit codes carefully

Unknown results do not fail a check by default. --fail-on-unknown requests stricter behavior. A zero exit code does not mean every page was readable. Read the evidence states and the reported unknown count.