The verify loop

How every SEO action is logged with a GSC baseline and later graded win, neutral, or loss

Why it exists

Most SEO tooling shows you rankings. dx-seo shows you cause and effect: every change you make is recorded, given a baseline, and then judged against Search Console once enough time has passed. Over a few cycles the ledger tells you which action types actually move rankings on a given site — and which don't.

The action ledger

The seo/actions.jsonl file is an append-only ledger. Commands write to it; seo_sync_actions mirrors each line to the dashboard, upserted by entry id, so pushing the whole file every run is safe.

Each entry captures:

Field Meaning
id, date, cmd Ledger slug, log date, and the producing command
type Action type — internal-link, title-meta, content-expansion, publish, republish-301, 301-merge, noindex, canonical, differentiation, link-exchange, other
target The page whose ranking the action should move
keyword The tracked query, when there is one
status executed or dismissed
baseline The GSC reading at log time — position, clicks, impressions over a 28-day window
verify_after The date from which the action becomes eligible to grade
outcome /seo-verify's verdict once judged — filled in later

The cooling window

An executed action isn't judged immediately — rankings take time to settle. Each entry carries a verify_after date, typically four to six weeks out. Until then the action sits in the Cooling group on the Actions page. Once that date passes, it moves to Due for verify.

The verdict

/seo-verify pulls fresh Search Console data for every due action and compares it to the baseline:

  • Win — the target query improved meaningfully.
  • Neutral — no clear movement either way.
  • Loss — the target query slipped.

The verdict is written back into the entry's outcome and re-synced. On the dashboard, the Actions page shows the before → after position, and the Overview and Portfolio pages tally win rate by action type — the signal you actually act on.

The full cycle

1

Act and log

A command executes an action and appends it to seo/actions.jsonl with its GSC baseline and a verify_after date.

2

Push

seo_sync_actions mirrors the ledger to the dashboard. The action appears under Cooling.

3

Wait out the window

Rankings settle. When verify_after passes, the action moves to Due for verify.

4

Grade

/seo-verify fetches fresh GSC data, assigns win / neutral / loss, and re-syncs. Win rates update across Overview and Portfolio.

Next Steps

Navigation