SnabbSajt · Docs
Site Kit SDK

Import report

Understand evidence, dispositions, blocking findings, review drafts, and explicit approval.

Every automatic conversion produces import-report.json and a readable import-report.md. Each item cites source evidence and has one disposition:

  • exact: preserved without a material change;
  • converted: mapped to a named native SnabbSajt feature;
  • merged: combined with another page or section;
  • redirect: an old URL receives a proposed target;
  • skipped or unsafe: intentionally left inert, with the reason;
  • missing or manual: source facts or operator work are required;
  • ai_proposed: an optional evidence-cited suggestion that still needs human approval.

ready means the deterministic report found no unresolved review item. review_required means you must inspect and resolve findings. blocked means known content loss or an input safety limit prevents normal approval.

Approval is explicit and provenance-bound:

snabbsajt site import approve ./converted --yes

The CLI verifies that site.json and the original deterministic report have not drifted unexpectedly. A blocked import cannot be approved. Use site pack --review-draft only to share evidence for review; that archive has no root site.json and cannot be imported as a normal site.

Merge outcomes

A merge import (into an existing site via mergeIntoWebsiteId) additionally returns one outcome per externalKey:

  • added: the key did not exist and its page or section was inserted;
  • updated: the key matched a section untouched since the last import and was updated in place;
  • unchanged: the incoming content is identical to what is already there;
  • conflict: the owner edited the matched section in the app, so it was skipped — pass the key in forceKeys to overwrite it deliberately.

A merge never deletes anything and never touches site settings, theme, or fonts. A restore point is taken before the first write, so a bad merge can be rolled back from version history.

On this page