bug: disinto backup import — schema mismatch with create; 0 issues imported #1068
Labels
No labels
action
backlog
blocked
bug-report
cannot-reproduce
in-progress
in-triage
needs-triage
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
rejected
reproduced
tech-debt
underspecified
vision
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#1068
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal:
disinto backup create(#1057) anddisinto backup import(#1058) use incompatible tarball schemas. Import imports 0 issues from any create-generated tarball.Observed
Dry-run on fresh disinto-nomad-box (2026-04-20 07:51 UTC):
Import log shows no
Step 4invocations — the issue-import loop never executes a single issue.Root cause
Bug 1: directory layout mismatch
Create writes (per #1057 spec):
Import (
lib/disinto/backup.sh:344-355) walks:This expects
repos/<slug>/issues/*.json. Zero matches in the create-generated tarball → loop is empty → no issues imported.Bug 2: per-file vs array
Even if import found the right dir,
backup_import_issues(same file, ~line 268) iteratesissues_dir/*.jsontreating each file as one issue:But create emits arrays. So every file would log
WARNING: skipping issue without number.Fix
Change import to match the create-side layout (#1057 is the canonical schema — already documented in AGENTS.md):
And rewrite
backup_import_issuesto take a single JSON-array file and iterate with jq:Acceptance
./bin/disinto backup import <tarball-from-create>imports all issues fromissues/<slug>.jsonfilesEvidence file
Dry-run import log on nomad-box at
/tmp/import.logshows the empty Step 4 loop.Blocks: #1037 cutover — import tool is effectively broken for its primary use case.