Fix duplicate-after-sync regression for newly created backlog items #212
Labels
No labels
abandoned
active
audit
blocked
data-safety
difficulty:easy
difficulty:hard
difficulty:high
difficulty:medium
docs
done
duplicate
notebook-v0
open
priority:high
ready
release-critical
safe-mode
spec
spec-backlog
subsystem:api
subsystem:backlog
subsystem:bases
subsystem:ci
subsystem:command
subsystem:configuration
subsystem:consolidate
subsystem:dependencies
subsystem:desktop-electron
subsystem:diffmerge
subsystem:docker
subsystem:docs
subsystem:fuzzy
subsystem:graph
subsystem:hotkeys
subsystem:lapis
subsystem:maint
subsystem:maintenance
subsystem:markdown
subsystem:markdown-lint
subsystem:md018
subsystem:notebook
subsystem:notifications
subsystem:opfs
subsystem:package
subsystem:plugin-markdown
subsystem:plugin-tasks
subsystem:plugins
subsystem:registry
subsystem:release
subsystem:renovate
subsystem:restore
subsystem:scripts
subsystem:search
subsystem:settings
subsystem:spec
subsystem:tasks
subsystem:testing
subsystem:ui
subsystem:web
subsystem:workspace
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lapis-notes/lapis#212
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?
Describe the issue.
Problem
pnpm backlog:synccan leave a newly created temp issue stranded after theremote Forgejo issue is already created. The next sync run then fails with a
remote duplicate error instead of adopting the already-created remote issue.
This currently blocks all later sync work when any stale temp issue remains.
Goal
Make backlog push or sync recover temp issues whose remote Forgejo issue already
exists from a prior partial sync, then continue syncing normally.
Scope
hard-failing on the next run.
Non-goals
Acceptance Criteria
is recovered into a numbered local issue during
pnpm backlog:sync.that only share a title.
Implementation Notes
assertNoRemoteDuplicate(...)for temp issues.
`
` marker after partial failure and use that marker
as the recovery discriminator.
Suggested Files or Specs To Inspect
scripts/issue-sync.mjsscripts/issue-sync-lib.mjsscripts/issue-sync-lib.test.mjsspec/src/80-maintenance/issues-backlog.mdValidation Commands
node --test scripts/issue-sync-lib.test.mjs scripts/issue-sync-progress.test.mjspnpm backlog:syncpnpm backlog:doctor --strictRelated Issues
Follow-up Tasks
Implementation Summary
Recovered temp issues whose remote Forgejo twin already exists, fixed stale mirror cleanup after remote create, added marker-based regression coverage, and documented the recovery behavior.