{ "assetKey": "a13-f002-authentication-failed-resumehealthy", "kind": "terminal", "command": "set -e\nset -o pipefail\nD=src/adapter/outbound/notification/src/main/java/dev/caskeleton/adapter/outbound/notification/platform/dispatch\nO=src/adapter/outbound/notification/src/main/java/dev/caskeleton/adapter/outbound/notification/platform/observation\nT=src/adapter/outbound/notification/src/test/java/dev/caskeleton/adapter/outbound/notification/platform/dispatch\nA=src/application-core/src/main/java/dev/caskeleton/application/notification/platform/admin\necho \"# 같은 원자 참조를 쓰는 전이 일곱\"\ngrep -n \"public void markAuthenticationFailed\\|public boolean mark\\|public boolean resumeHealthy\" $D/ProviderRuntime.java | sed \"s/^/ /\"\necho\necho \"# resumeHealthy 가 적은 보장과 구현\"\ngrep -n \"\" $D/ProviderRuntime.java | sed -n \"195,214p\"\necho\necho \"# 현재 값을 받아 놓고 쓰지 않는 둘\"\ngrep -n \"\" $D/ProviderRuntime.java | sed -n \"221,228p;235,242p\"\necho\necho \"# set 으로 쓰는 하나\"\ngrep -n \"\" $D/ProviderRuntime.java | sed -n \"127,132p\"\necho\necho \"# 관리자 포트가 여섯을 분배한다\"\ngrep -n \"\" $D/RegistryProviderRuntimeControl.java | sed -n \"30,39p\"\necho\necho \"# 헬스 보고기가 unhealthy 로 보는 상태\"\ngrep -n \"\" $O/NotificationHealthReporter.java | sed -n \"18,21p;63,67p\"\necho\necho \"# 사유 코드를 읽는 곳\"\ngrep -rn \"unhealthyReason\" --include=*.java src | sed \"s|.*/dispatch/| |\"\ngrep -n \"record ProviderHealth\" -A1 $O/NotificationHealthSnapshot.java | sed \"s/^/ /\"\necho\necho \"# 이 보장을 확인하는 test\"\ngrep -n \"\" $T/ProviderRuntimeStateTest.java | sed -n \"124,137p;143,150p\"", "cwd": "/shared/codebase/clean-architecture-backend-template", "exitCode": 0, "executedAt": "2026-09-02T14:53:15+00:00", "sourceRevision": "21234e38cdb9a926cbc92bb97a2aee2e4a7d2916", "raw": "evidence/raw/a13-f002-authentication-failed-resumehealthy.txt", "svg": "evidence/rendered/a13-f002-authentication-failed-resumehealthy.svg", "rawSha256": "83288f4a088fe11462c47d4500f0ceee962de714f7ceb6a86dd0908ecd84a2bc", "lines": 109, "redaction": "none — 코드베이스 정적 검색" }