From 9338a8500c0c8943072de9ec5373332435233d2d Mon Sep 17 00:00:00 2001 From: toki Date: Sun, 21 Jun 2026 15:22:34 +0900 Subject: [PATCH] fix(gitosync): fill in missing tenant/project from bridge config on reconcile path When a milestone file's provider identity block omits Tenant and Project (both are optional since MatchDevelopMilestone fills them from expected), the bridge's FetchWorkItem call fails with ErrInvalidInput because planeWorkItemRef requires all three: tenant, project, id. Fill in missing Tenant/Project from BridgeConfig before building the ref, mirroring the missing-create path which always uses b.cfg.Tenant/Project. Co-Authored-By: Claude Sonnet 4.6 --- services/core/internal/gitosync/bridge.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/core/internal/gitosync/bridge.go b/services/core/internal/gitosync/bridge.go index 211acad..bd11153 100644 --- a/services/core/internal/gitosync/bridge.go +++ b/services/core/internal/gitosync/bridge.go @@ -166,6 +166,12 @@ func (b *Bridge) enqueueDoc(ctx context.Context, scan roadmapsync.ScanResult, do } identity := doc.Identity + if identity.Tenant == "" { + identity.Tenant = b.cfg.Tenant + } + if identity.Project == "" { + identity.Project = b.cfg.Project + } ref := workitem.Ref{ Provider: identity.Provider, Tenant: identity.Tenant,