MAKITTHandoff
Handoff Boards
finishedargo-adapter-phase-1

Argo Adapter Phase 1 — SKU Partner Link E2E

Argo Adapter Phase 1 — SKU Partner Link E2E

빌드/배포

  • ✅ argo-cms 로컬 빌드 성공 (MakittSkuInternalController + MakittSkuApplication)
  • ✅ makitt-server 로컬 빌드 성공 (PartnerSkuApplication/Controller, ArgoCmsSkuClient, ArgoSkuSyncConsumer 활성화, ArgoSkuChangeHandler, EventCatalog 갱신)
  • ✅ makitt-client pnpm check-types 통과 (SKU 상세 + 모달 + 배지)

런타임

  • ✅ makitt-api (port 8080) 떠있음 (ARGO_CMS_BASE_URL 미설정 → default https://cms-api.argoport.co 사용)
  • ✅ makitt-consumer 떠있음 — cms-sku-info-change-0 파티션 구독 중 (offset 1912)
  • ✅ argo-cms-api (port 10071) 떠있음 — 로컬 기동 성공
  • 🔄 dev cms-api (https://cms-api.argoport.co) — Phase 1 endpoint 배포 진행 중 (commit 03ace75c6 를 deploy-dev 에 force-push, 2026-04-29 13:46 KST)
    • Sugar JWT base64 디코딩 실패 → --jwt.secret=dGVj... (Secrets Manager 의 jwt.secret 값) 명시 override 로 해결
    • 시작 명령:
      JWT_SECRET='dGVjaHRha2EtYXJnby1zZWN1cml0eS1zZXJ2aWNlLXN1Z2FyLTIwMjEtdGVjaHRha2EtYXJnby1zZWN1cml0eS1zZXJ2aWNlLXN1Z2FyLTIwMjEK' \
        bash -c 'eval "$(aws configure export-credentials --profile tctk-dev --format env)" && \
          export JAVA_HOME="$HOME/Library/Java/JavaVirtualMachines/corretto-11.0.26/Contents/Home" && \
          cd argo/argo-cms && \
          ./gradlew :cms-api:bootRun --args="--spring.profiles.active=dev --jwt.secret=$JWT_SECRET"'
      
    • 새 endpoint 검증: GET /internal/api/makitt/skus/8809492285290?vendorId=900938 → vendor 900938 의 sephyrashot SKU 메타 정상 반환 ✅

S4 — Argo 대시보드 → MAKITT 자동 sync (delta consumer)

의존성: argo-cms 로컬 불필요. dev cms-api 에서 SKU 메타 변경하면 즉시 동작.

스텝:

  1. https://seller.argoport.co 로그인 (makitt_test_shipper_01 / Makitt1234!, forceLogin)
  2. SKU 메뉴 → vendor 900938 의 임의 SKU 선택 → 가격 또는 메타 변경
  3. argo-cms 가 cms-sku-info-change 발행 → makitt-consumer 가 받음
  4. consumer 가 ArgoSkuModified (PartnerSku 이미 있음) outbox 발행
  5. OutboxRelay → makitt.domain.v1 토픽 publish
  6. ArgoSkuChangeHandler → PartnerSku + commerce SKU 미러 갱신

검증:

  • tail -f /tmp/makitt-consumer.log | grep -E "Argo SKU sync|ArgoSkuChange" 에서 published ArgoSkuModified + upserted PartnerSku + commerce SKU
  • DynamoDB SKU#<referenceSkuId> price 갱신
  • DynamoDB SKU#<referenceSkuId>#PARTNER#ARGO argoAttrs 갱신

dev DynamoDB 에 vendor 900938 가 두 org 에 동시 매핑되어 있음:

엔티티vendor 900938 → org
ArgoVendorMapping (consumer 가 사용)dbb5d303-bcfc-4228-a1a4-ad8460e4e585
PartnerConnection ARGO (UI flow 가 사용)7d36ef55-569b-4f1a-ba6b-0c2a1e6d47e9

→ S4 delta consumer: dbb5d303-... org 로 PartnerSku/SKU 가 만들어짐 → S1 UI flow: 셀러 user 가 어느 org 에 속해있느냐에 따라 다름. PartnerConnection 이 있는 7d36ef55-... org 에 속한 user 만 S1 가능

makitt_test_shipper_01 가 만든 onboarding 흐름 결과로 7d36ef55-... org 와 PartnerConnection 가 생성된 것으로 보임 (sync_status, externalIds 풍부). dbb5d303-... ArgoVendorMapping 은 별도 경로로 생성된 것 같음 (오래된 테스트 잔재? 또는 onboarding 시점에 잘못된 org id 가 들어감).

해결 방향 (제안): 둘 중 하나로 정리.

  • A) ArgoVendorMapping 을 7d36ef55-... 로 갱신 (PartnerConnection 쪽 진실)
  • B) 새 onboarding 으로 새 org 만들고 처음부터 시작

Spec

  • docs/spec/ongoing/argo-adapter-phase-1/sku-partner-link.md (메인 spec)
  • docs/spec/ongoing/argo-adapter-phase-1/sku-partner-link.test.md (S1~S5 시나리오)

argo-cms (로컬, makitt 브랜치 기준 미커밋)

  • cms-application/src/main/java/com/techtaka/argo/cms/application/makitt/MakittSkuApplication.java
  • cms-api/src/main/java/com/techtaka/argo/cms/api/internal/controller/makitt/MakittSkuInternalController.java

makitt-server (로컬 미커밋)

  • application-common.yml: argo.cms-base-url 추가
  • makitt-application/.../fulfillment/partner/argo/ArgoCmsSkuClient.java + DTO 3개
  • makitt-application/.../fulfillment/PartnerSkuApplication.java
  • makitt-api/.../controller/sku/PartnerSkuController.java + DTO 4개
  • makitt-core/.../fulfillment/vo/PartnerSkuVo.java
  • makitt-consumer/.../argo/consumer/ArgoSkuSyncConsumer.java (no-op → active)
  • makitt-consumer/.../argo/handler/ArgoSkuChangeHandler.java (신규)
  • makitt-core/.../domain/event/EventCatalog.java: ArgoSkuRegistered/Modified 등재

makitt-client/web (로컬 미커밋)

  • features/product/api/partner-sku.api.ts
  • features/product/api/partner-sku.queries.ts
  • features/product/model/usePartnerSku.ts
  • features/product/{api,model,index}.ts re-export
  • app/[locale]/home/logistics/sku/page.tsx (배지 + 상세 링크)
  • app/[locale]/home/logistics/sku/[skuId]/page.tsx (상세 + Argo 카드 + 모달)

비어 있음

당신이 처리할 항목

docs / spec / finished / argo-adapter-phase-1 / e2e.md