fix(gitosync): omit RoadmapRevision on missing-create to allow authoring roundtrip

When the missing-create path stores a RoadmapRevision, a later reconcile push
(after the authoring roundtrip adds the Plane identity to the milestone file)
conflicts with ReconcileCreationCycle's revision guard because the new push has
a different revision than the original missing-create push.

Since missing-create has no completed projection steps, a future reconcile on a
different revision should be allowed to resume. Omit RoadmapRevision from the
missing-create job args so the persisted row stores NULL and the revision guard
does not block the subsequent reconcile push.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
toki 2026-06-21 15:28:53 +09:00
parent 9338a8500c
commit 9e534d8133

View file

@ -151,9 +151,12 @@ func (b *Bridge) enqueueDoc(ctx context.Context, scan roadmapsync.ScanResult, do
},
TodoStateID: b.cfg.TodoStateID,
MilestoneMarkdown: doc.Markdown,
RoadmapRevision: scan.Revision.Revision,
ExternalSource: b.cfg.ExternalSource,
ExternalID: "",
// RoadmapRevision is intentionally omitted on missing-create: the identity
// has no completed projection steps yet, so a later reconcile push (after
// the authoring roundtrip adds the Plane identity to the milestone file)
// must not conflict on revision.
ExternalSource: b.cfg.ExternalSource,
ExternalID: "",
}
if err := b.enqueuer.EnqueueRoadmapCreationSync(ctx, args); err != nil {
return err