{ "assetKey": "a13-f005-retry-after-illegalargumentexception-unassembled", "kind": "terminal", "command": "set -e\nset -o pipefail\nNP=adapter/outbound/notification/src/main/java/dev/caskeleton/adapter/outbound/notification/platform\nAC=application-core/src/main/java/dev/caskeleton/application/notification/platform\necho \"# 재시도 정책이 보는 두 값은 어디서 오는가\"\ngrep -n 'providerIdempotency()\\|statusQuery()' $AC/dispatch/NotificationDispatchService.java\ngrep -n 'context.providerIdempotency()\\|context.statusQuerySupported()' $AC/policy/DefaultNotificationRetryPolicy.java\necho\necho \"# 알림 경로에서 capabilities 를 선언하고 부르는 자리 — 수신자가 무엇인지 본다\"\ngrep -rn 'capabilities()' --include=*.java adapter/outbound/notification/src/main \\\n application-core/src/main/java/dev/caskeleton/application/notification \\\n | grep -v 'ProviderCapabilities.java' | sed -E 's#.*/src/(main|test)/.*/#\\1 · #'\necho\necho \"# ProviderProfileSnapshot 을 만드는 자리\"\ngrep -rn 'new ProviderProfileSnapshot(' --include=*.java . --exclude-dir=build | sed -E 's#.*/src/(main|test)/.*/#\\1 · #'\necho\necho \"# ProviderRuntimeAssembler 구현\"\ngrep -rn 'implements ProviderRuntimeAssembler' --include=*.java . --exclude-dir=build | sed -E 's#.*/src/(main|test)/.*/#\\1 · #'\necho\necho \"# 문제의 세 어댑터를 생성하는 자리\"\ngrep -rn 'new SesNotificationProviderAdapter(\\|new TwilioSmsProviderAdapter(\\|new WebPushNotificationProviderAdapter(' \\\n --include=*.java . --exclude-dir=build | sed -E 's#.*/src/(main|test)/.*/#\\1 · #'\necho\necho \"# 조립기가 없는 계열을 만나면 기동이 거부된다\"\ngrep -rn -B4 'has no assembler in this build' --include=*.java . --exclude-dir=build | sed -E 's#.*/src/(main|test)/.*/#\\1 · #'\n", "cwd": "/shared/codebase/clean-architecture-backend-template/src", "exitCode": 0, "executedAt": "2026-09-02T17:14:09+00:00", "sourceRevision": "21234e38cdb9a926cbc92bb97a2aee2e4a7d2916", "raw": "evidence/raw/a13-f005-retry-after-illegalargumentexception-unassembled.txt", "svg": "evidence/rendered/a13-f005-retry-after-illegalargumentexception-unassembled.svg", "rawSha256": "1f8a89575f27a2badb98a2ca1ca65629537072ccbd45d3c87b3a12ceb63a988e", "lines": 49, "redaction": "none — 코드베이스 정적 검색" }