{ "assetKey": "a12-f002-jackson-databind", "kind": "terminal", "command": "set -e\nset -o pipefail\nM=src/adapter/outbound/messaging\necho \"# 같은 주장을 하는 두 자리\"\nsed -n \"34,38p\" $M/README.md\nsed -n \"5,7p\" $M/src/main/java/dev/caskeleton/adapter/outbound/messaging/outbox/OutboxEnvelopeJson.java\necho\necho \"# 그 라이브러리를 끌어오는 선언\"\ngrep -n \"starter-json\\|json-schema-validator\" $M/build.gradle | head -3 | sed \"s/^/ /\"\necho\necho \"# 같은 build 파일의 검증 태스크가 요구하는 것\"\nsed -n \"51,53p\" $M/build.gradle\necho\necho \"# 리프 main 에서 그 라이브러리를 쓰는 곳\"\ngrep -rn \"tools\\.jackson\\.databind\" --include=*.java $M/src/main | sed \"s|.*/messaging/| |\"\necho\necho \"# 그중 봉투를 만드는 쪽\"\ngrep -n \"\" $M/src/main/java/dev/caskeleton/adapter/outbound/messaging/realtime/RealtimeFanoutEnvelopeJson.java | sed -n \"24,25p;30,32p\"\necho\necho \"# 그 봉투와 그것을 부르는 어댑터를 조립하는 곳\"\nprintf \" RealtimeFanoutEnvelopeJson 을 자기 파일 밖에서 부르는 곳 : %s\\n\" \\\n \"$(grep -rn 'RealtimeFanoutEnvelopeJson' --include=*.java src | grep -vc 'RealtimeFanoutEnvelopeJson.java')\"\nprintf \" MessagingDurableFanoutAdapter 를 자기 파일 밖에서 부르는 곳 : %s\\n\" \\\n \"$(grep -rn 'MessagingDurableFanoutAdapter' --include=*.java src | grep -vc 'MessagingDurableFanoutAdapter.java')\"\necho\necho \"# 잠금 파일의 관련 좌표\"\ngrep -nE \"jackson-databind|com\\.fasterxml\\.jackson\\.core\" $M/gradle.lockfile | sed \"s/^/ /\"", "cwd": "/shared/codebase/clean-architecture-backend-template", "exitCode": 0, "executedAt": "2026-09-02T14:34:11+00:00", "sourceRevision": "21234e38cdb9a926cbc92bb97a2aee2e4a7d2916", "raw": "evidence/raw/a12-f002-jackson-databind.txt", "svg": "evidence/rendered/a12-f002-jackson-databind.svg", "rawSha256": "5a4f19b64f0139c2dcead6f6a04dbec8c35ac7bc0010a812aac262bafae294e4", "lines": 44, "redaction": "none — 코드베이스 정적 검색" }