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 --yesThe 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
forceKeysto 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.