# Report Inbox · 2026-09-01 · work-session

Status: receipt-shard

## 11:19 KST · 진해신항 ch20 Capacity Baseline A0 측정과 문서화

Receipt: `20260901-jinhae-capacity-baseline-a0-r01`

### 결과
- ch20을 변경하지 않고 10분간 5초 간격 120개 표본을 수집했다.
- ch20은 약 10 FPS를 유지했고 CPU·GPU·Memory 포화와 Queue 적체·오류가 없었다.
- ch21은 전 구간 stopped/critical이라 A1을 실행하지 않았다.
- 기존 진해신항 Assessment에 A0 기준점과 다음 B~D Gate를 기록했다.

### 검증
- 표본 간격 평균 4.999999초와 10분 Wall-clock Window를 확인했다.
- ch20 running/ok/ownership match 120/120, restart·OOM·inference error 0을 확인했다.
- git diff --check와 최종 Runtime identity readback을 통과했다.

### 남은 작업
- ch44·ch45 B~D의 Model·Scenario·Artifact 조건과 Start/Stop 경계를 별도 잠금한다.
- ch21이 자연 복구되면 ch20+21 A1 Baseline을 새로 측정한다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLWppbmhhZS1jYXBhY2l0eS1iYXNlbGluZS1hMC1yMDEiLCJyZW1haW5pbmciOlsiY2g0NMK3Y2g0NSBCfkTsnZggTW9kZWzCt1NjZW5hcmlvwrdBcnRpZmFjdCDsobDqsbTqs7wgU3RhcnQvU3RvcCDqsr3qs4Trpbwg67OE64-EIOyeoOq4iO2VnOuLpC4iLCJjaDIx7J20IOyekOyXsCDrs7XqtazrkJjrqbQgY2gyMCsyMSBBMSBCYXNlbGluZeydhCDsg4jroZwg7Lih7KCV7ZWc64ukLiJdLCJyZXN1bHRzIjpbImNoMjDsnYQg67OA6rK97ZWY7KeAIOyViuqzoCAxMOu2hOqwhCA17LSIIOqwhOqyqSAxMjDqsJwg7ZGc67O47J2EIOyImOynke2WiOuLpC4iLCJjaDIw7J2AIOyVvSAxMCBGUFPrpbwg7Jyg7KeA7ZaI6rOgIENQVcK3R1BVwrdNZW1vcnkg7Y-s7ZmU7JmAIFF1ZXVlIOyggeyytMK37Jik66WY6rCAIOyXhuyXiOuLpC4iLCJjaDIx7J2AIOyghCDqtazqsIQgc3RvcHBlZC9jcml0aWNhbOydtOudvCBBMeydhCDsi6TtlontlZjsp4Ag7JWK7JWY64ukLiIsIuq4sOyhtCDsp4TtlbTsi6Dtla0gQXNzZXNzbWVudOyXkCBBMCDquLDspIDsoJDqs7wg64uk7J2MIEJ-RCBHYXRl66W8IOq4sOuhne2WiOuLpC4iXSwic2NoZW1hX3ZlcnNpb24iOiJsdGIxMDIxLmNvZGV4X2h1Yi5yZXBvcnRfcmVjZWlwdC52MSIsInNlc3Npb25fYWxpYXMiOiJ3b3JrLXNlc3Npb24iLCJ0YXNrIjoi7KeE7ZW07Iug7ZWtIGNoMjAgQ2FwYWNpdHkgQmFzZWxpbmUgQTAg7Lih7KCV6rO8IOusuOyEnO2ZlCIsInRpbWVzdGFtcCI6IjIwMjYtMDktMDFUMTE6MTk6MTIrMDk6MDAiLCJ2ZXJpZnkiOlsi7ZGc67O4IOqwhOqyqSDtj4nqt6AgNC45OTk5OTnstIjsmYAgMTDrtoQgV2FsbC1jbG9jayBXaW5kb3frpbwg7ZmV7J247ZaI64ukLiIsImNoMjAgcnVubmluZy9vay9vd25lcnNoaXAgbWF0Y2ggMTIwLzEyMCwgcmVzdGFydMK3T09NwrdpbmZlcmVuY2UgZXJyb3IgMOydhCDtmZXsnbjtlojri6QuIiwiZ2l0IGRpZmYgLS1jaGVja-yZgCDstZzsooUgUnVudGltZSBpZGVudGl0eSByZWFkYmFja-ydhCDthrXqs7ztlojri6QuIl19Cg -->

## 11:24 KST · Contextra canonical Compose·server-local config·Health/Readiness 경계 구현

Receipt: `20260901-contextra-canonical-compose-config-r01`

### 결과
- Project-scoped canonical Compose와 server-local config·Runtime state 경계를 구현했다.
- Stream 안전 기본값, private atomic state, Health/Readiness와 fail-fast preflight를 구현했다.
- Tracked Runtime credential 경로를 무해화하고 과거 backup Compose를 current tree에서 제거했다.

### 검증
- Pure unit test 9건과 compileall·bash syntax를 통과했다.
- Compose render, actual preflight, 필수 env·bind·YAML negative gate와 tracked config secret scan을 통과했다.
- Contextra Docker object 생성은 0이며 기존 running container의 restart·OOM 이상은 0이었다.

### 남은 작업
- 사용자 commit 뒤 새 source SHA image incremental rebuild와 static/import 검증이 필요하다.
- 새 image PASS 뒤 PostgreSQL·Redis·Analytics Infra Runtime과 수동 FastAPI Smoke가 남았다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLWNvbnRleHRyYS1jYW5vbmljYWwtY29tcG9zZS1jb25maWctcjAxIiwicmVtYWluaW5nIjpbIuyCrOyaqeyekCBjb21taXQg65KkIOyDiCBzb3VyY2UgU0hBIGltYWdlIGluY3JlbWVudGFsIHJlYnVpbGTsmYAgc3RhdGljL2ltcG9ydCDqsoDspp3snbQg7ZWE7JqU7ZWY64ukLiIsIuyDiCBpbWFnZSBQQVNTIOuSpCBQb3N0Z3JlU1FMwrdSZWRpc8K3QW5hbHl0aWNzIEluZnJhIFJ1bnRpbWXqs7wg7IiY64-ZIEZhc3RBUEkgU21va2XqsIAg64Ko7JWY64ukLiJdLCJyZXN1bHRzIjpbIlByb2plY3Qtc2NvcGVkIGNhbm9uaWNhbCBDb21wb3Nl7JmAIHNlcnZlci1sb2NhbCBjb25maWfCt1J1bnRpbWUgc3RhdGUg6rK96rOE66W8IOq1rO2YhO2WiOuLpC4iLCJTdHJlYW0g7JWI7KCEIOq4sOuzuOqwkiwgcHJpdmF0ZSBhdG9taWMgc3RhdGUsIEhlYWx0aC9SZWFkaW5lc3PsmYAgZmFpbC1mYXN0IHByZWZsaWdodOulvCDqtaztmITtlojri6QuIiwiVHJhY2tlZCBSdW50aW1lIGNyZWRlbnRpYWwg6rK966Gc66W8IOustO2VtO2ZlO2VmOqzoCDqs7zqsbAgYmFja3VwIENvbXBvc2XrpbwgY3VycmVudCB0cmVl7JeQ7IScIOygnOqxsO2WiOuLpC4iXSwic2NoZW1hX3ZlcnNpb24iOiJsdGIxMDIxLmNvZGV4X2h1Yi5yZXBvcnRfcmVjZWlwdC52MSIsInNlc3Npb25fYWxpYXMiOiJ3b3JrLXNlc3Npb24iLCJ0YXNrIjoiQ29udGV4dHJhIGNhbm9uaWNhbCBDb21wb3NlwrdzZXJ2ZXItbG9jYWwgY29uZmlnwrdIZWFsdGgvUmVhZGluZXNzIOqyveqzhCDqtaztmIQiLCJ0aW1lc3RhbXAiOiIyMDI2LTA5LTAxVDExOjI0OjA0KzA5OjAwIiwidmVyaWZ5IjpbIlB1cmUgdW5pdCB0ZXN0IDnqsbTqs7wgY29tcGlsZWFsbMK3YmFzaCBzeW50YXjrpbwg7Ya16rO87ZaI64ukLiIsIkNvbXBvc2UgcmVuZGVyLCBhY3R1YWwgcHJlZmxpZ2h0LCDtlYTsiJggZW52wrdiaW5kwrdZQU1MIG5lZ2F0aXZlIGdhdGXsmYAgdHJhY2tlZCBjb25maWcgc2VjcmV0IHNjYW7snYQg7Ya16rO87ZaI64ukLiIsIkNvbnRleHRyYSBEb2NrZXIgb2JqZWN0IOyDneyEseydgCAw7J2066mwIOq4sOyhtCBydW5uaW5nIGNvbnRhaW5lcuydmCByZXN0YXJ0wrdPT00g7J207IOB7J2AIDDsnbTsl4jri6QuIl19Cg -->

## 11:49 KST · Contextra canonical image incremental rebuild와 static/import 검증

Receipt: `20260901-contextra-canonical-image-rebuild-r01`

### 결과
- Canonical source commit 기반 image를 BuildKit cache로 생성했다.
- Server-local image tag를 새 image로 전환하고 deployment preflight를 통과했다.
- 기존 running container와 Contextra Docker project 격리를 유지했다.

### 검증
- pip check, exact dependency version, Runtime module과 app.main import, compileall을 통과했다.
- runc 기반 network/GPU/mount/port 미전달 smoke에서 Health route와 Stream 안전 기본값을 확인했다.
- App-owned credential 노출 0건과 rollback image 불변을 확인했다.

### 남은 작업
- 사용자 문서 commit 뒤 PostgreSQL, Redis, Analytics Infra Runtime과 live/ready 검증이 남았다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLWNvbnRleHRyYS1jYW5vbmljYWwtaW1hZ2UtcmVidWlsZC1yMDEiLCJyZW1haW5pbmciOlsi7IKs7Jqp7J6QIOusuOyEnCBjb21taXQg65KkIFBvc3RncmVTUUwsIFJlZGlzLCBBbmFseXRpY3MgSW5mcmEgUnVudGltZeqzvCBsaXZlL3JlYWR5IOqygOymneydtCDrgqjslZjri6QuIl0sInJlc3VsdHMiOlsiQ2Fub25pY2FsIHNvdXJjZSBjb21taXQg6riw67CYIGltYWdl66W8IEJ1aWxkS2l0IGNhY2hl66GcIOyDneyEse2WiOuLpC4iLCJTZXJ2ZXItbG9jYWwgaW1hZ2UgdGFn66W8IOyDiCBpbWFnZeuhnCDsoITtmZjtlZjqs6AgZGVwbG95bWVudCBwcmVmbGlnaHTrpbwg7Ya16rO87ZaI64ukLiIsIuq4sOyhtCBydW5uaW5nIGNvbnRhaW5lcuyZgCBDb250ZXh0cmEgRG9ja2VyIHByb2plY3Qg6rKp66as66W8IOycoOyngO2WiOuLpC4iXSwic2NoZW1hX3ZlcnNpb24iOiJsdGIxMDIxLmNvZGV4X2h1Yi5yZXBvcnRfcmVjZWlwdC52MSIsInNlc3Npb25fYWxpYXMiOiJ3b3JrLXNlc3Npb24iLCJ0YXNrIjoiQ29udGV4dHJhIGNhbm9uaWNhbCBpbWFnZSBpbmNyZW1lbnRhbCByZWJ1aWxk7JmAIHN0YXRpYy9pbXBvcnQg6rKA7KadIiwidGltZXN0YW1wIjoiMjAyNi0wOS0wMVQxMTo0OTowMyswOTowMCIsInZlcmlmeSI6WyJwaXAgY2hlY2ssIGV4YWN0IGRlcGVuZGVuY3kgdmVyc2lvbiwgUnVudGltZSBtb2R1bGXqs7wgYXBwLm1haW4gaW1wb3J0LCBjb21waWxlYWxs7J2EIO2GteqzvO2WiOuLpC4iLCJydW5jIOq4sOuwmCBuZXR3b3JrL0dQVS9tb3VudC9wb3J0IOuvuOyghOuLrCBzbW9rZeyXkOyEnCBIZWFsdGggcm91dGXsmYAgU3RyZWFtIOyViOyghCDquLDrs7jqsJLsnYQg7ZmV7J247ZaI64ukLiIsIkFwcC1vd25lZCBjcmVkZW50aWFsIOuFuOy2nCAw6rG06rO8IHJvbGxiYWNrIGltYWdlIOu2iOuzgOydhCDtmZXsnbjtlojri6QuIl19Cg -->

## 13:02 KST · Contextra PostgreSQL·Redis·Analytics 첫 Infra Runtime과 live/ready 검증

Receipt: `20260901-contextra-first-infra-runtime-r01`

### 결과
- Canonical Compose로 PostgreSQL, Redis, Analytics를 순차 기동하고 모두 healthy를 확인했다.
- FastAPI live/ready/health와 Triton RFDETRMedium readiness를 확인했다.
- 기존 SSIMS container 상태를 유지한 채 READY_FOR_MANUAL_FASTAPI_SMOKE에 도달했다.

### 검증
- GPU 0 하나, Stream 0, autostart와 Active Learning Off를 확인했다.
- PostgreSQL·Redis·Triton Host port 비공개와 FastAPI loopback 35000만 확인했다.
- 핵심 DeepStream plugin 등록과 기존 non-Contextra container ID·restart·OOM 불변을 확인했다.

### 남은 작업
- 사용자 수동 FastAPI Smoke와 이후 RTSP·inference acceptance가 남았다.
- Redis anonymous volume과 optional Rivermax warning은 장기 실행 전 보완 후보로 남았다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLWNvbnRleHRyYS1maXJzdC1pbmZyYS1ydW50aW1lLXIwMSIsInJlbWFpbmluZyI6WyLsgqzsmqnsnpAg7IiY64-ZIEZhc3RBUEkgU21va2XsmYAg7J207ZuEIFJUU1DCt2luZmVyZW5jZSBhY2NlcHRhbmNl6rCAIOuCqOyVmOuLpC4iLCJSZWRpcyBhbm9ueW1vdXMgdm9sdW1l6rO8IG9wdGlvbmFsIFJpdmVybWF4IHdhcm5pbmfsnYAg7J6l6riwIOyLpO2WiSDsoIQg67O07JmEIO2bhOuztOuhnCDrgqjslZjri6QuIl0sInJlc3VsdHMiOlsiQ2Fub25pY2FsIENvbXBvc2XroZwgUG9zdGdyZVNRTCwgUmVkaXMsIEFuYWx5dGljc-ulvCDsiJzssKgg6riw64-Z7ZWY6rOgIOuqqOuRkCBoZWFsdGh566W8IO2ZleyduO2WiOuLpC4iLCJGYXN0QVBJIGxpdmUvcmVhZHkvaGVhbHRo7JmAIFRyaXRvbiBSRkRFVFJNZWRpdW0gcmVhZGluZXNz66W8IO2ZleyduO2WiOuLpC4iLCLquLDsobQgU1NJTVMgY29udGFpbmVyIOyDge2DnOulvCDsnKDsp4DtlZwg7LGEIFJFQURZX0ZPUl9NQU5VQUxfRkFTVEFQSV9TTU9LReyXkCDrj4Tri6ztlojri6QuIl0sInNjaGVtYV92ZXJzaW9uIjoibHRiMTAyMS5jb2RleF9odWIucmVwb3J0X3JlY2VpcHQudjEiLCJzZXNzaW9uX2FsaWFzIjoid29yay1zZXNzaW9uIiwidGFzayI6IkNvbnRleHRyYSBQb3N0Z3JlU1FMwrdSZWRpc8K3QW5hbHl0aWNzIOyyqyBJbmZyYSBSdW50aW1l6rO8IGxpdmUvcmVhZHkg6rKA7KadIiwidGltZXN0YW1wIjoiMjAyNi0wOS0wMVQxMzowMjo1MCswOTowMCIsInZlcmlmeSI6WyJHUFUgMCDtlZjrgpgsIFN0cmVhbSAwLCBhdXRvc3RhcnTsmYAgQWN0aXZlIExlYXJuaW5nIE9mZuulvCDtmZXsnbjtlojri6QuIiwiUG9zdGdyZVNRTMK3UmVkaXPCt1RyaXRvbiBIb3N0IHBvcnQg67mE6rO16rCc7JmAIEZhc3RBUEkgbG9vcGJhY2sgMzUwMDDrp4wg7ZmV7J247ZaI64ukLiIsIu2VteyLrCBEZWVwU3RyZWFtIHBsdWdpbiDrk7HroZ3qs7wg6riw7KG0IG5vbi1Db250ZXh0cmEgY29udGFpbmVyIElEwrdyZXN0YXJ0wrdPT00g67aI67OA7J2EIO2ZleyduO2WiOuLpC4iXX0K -->

## 15:16 KST · 진해신항 Capacity B 선박 Queue 10ms 계측

Receipt: `20260901-jinhae-capacity-b-queue10-r01`

### 결과
- ch20+44 조건의 2분 안정화와 10분 120표본 측정을 완료했다.
- ch44가 평균 10.026 FPS를 유지했고 Queue 50ms 대비 Triton wait와 Processing이 감소했다.
- Thread·GPU·HDD 계측에서 단일 Core, GPU, Disk 포화를 확인하지 않았다.

### 검증
- ch20·44 running/health ok/ownership match 120/120과 restart·OOM 0을 확인했다.
- 선박 Triton Queue 평균 10.336ms와 Model READY를 확인했다.
- git diff --check와 Assessment 재독을 완료했다.

### 남은 작업
- 사용자 ch44 수동 Stop과 ROI Cache·단일 Blend 상세 잠금 또는 C 조건 진행이 남았다.
- Detection 10ms 배포 SOT 반영은 Model 변환·배포 Template 단계로 보류한다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLWppbmhhZS1jYXBhY2l0eS1iLXF1ZXVlMTAtcjAxIiwicmVtYWluaW5nIjpbIuyCrOyaqeyekCBjaDQ0IOyImOuPmSBTdG9w6rO8IFJPSSBDYWNoZcK364uo7J28IEJsZW5kIOyDgeyEuCDsnqDquIgg65iQ64qUIEMg7KGw6rG0IOynhO2WieydtCDrgqjslZjri6QuIiwiRGV0ZWN0aW9uIDEwbXMg67Cw7Y-sIFNPVCDrsJjsmIHsnYAgTW9kZWwg67OA7ZmYwrfrsLDtj6wgVGVtcGxhdGUg64uo6rOE66GcIOuztOulmO2VnOuLpC4iXSwicmVzdWx0cyI6WyJjaDIwKzQ0IOyhsOqxtOydmCAy67aEIOyViOygle2ZlOyZgCAxMOu2hCAxMjDtkZzrs7gg7Lih7KCV7J2EIOyZhOujjO2WiOuLpC4iLCJjaDQ06rCAIO2Pieq3oCAxMC4wMjYgRlBT66W8IOycoOyngO2WiOqzoCBRdWV1ZSA1MG1zIOuMgOu5hCBUcml0b24gd2FpdOyZgCBQcm9jZXNzaW5n7J20IOqwkOyGjO2WiOuLpC4iLCJUaHJlYWTCt0dQVcK3SEREIOqzhOy4oeyXkOyEnCDri6jsnbwgQ29yZSwgR1BVLCBEaXNrIO2PrO2ZlOulvCDtmZXsnbjtlZjsp4Ag7JWK7JWY64ukLiJdLCJzY2hlbWFfdmVyc2lvbiI6Imx0YjEwMjEuY29kZXhfaHViLnJlcG9ydF9yZWNlaXB0LnYxIiwic2Vzc2lvbl9hbGlhcyI6Indvcmstc2Vzc2lvbiIsInRhc2siOiLsp4TtlbTsi6Dtla0gQ2FwYWNpdHkgQiDshKDrsJUgUXVldWUgMTBtcyDqs4TsuKEiLCJ0aW1lc3RhbXAiOiIyMDI2LTA5LTAxVDE1OjE2OjQ0KzA5OjAwIiwidmVyaWZ5IjpbImNoMjDCtzQ0IHJ1bm5pbmcvaGVhbHRoIG9rL293bmVyc2hpcCBtYXRjaCAxMjAvMTIw6rO8IHJlc3RhcnTCt09PTSAw7J2EIO2ZleyduO2WiOuLpC4iLCLshKDrsJUgVHJpdG9uIFF1ZXVlIO2Pieq3oCAxMC4zMzZtc-yZgCBNb2RlbCBSRUFEWeulvCDtmZXsnbjtlojri6QuIiwiZ2l0IGRpZmYgLS1jaGVja-yZgCBBc3Nlc3NtZW50IOyerOuPheydhCDsmYTro4ztlojri6QuIl19Cg -->

## 16:22 KST · Contextra 첫 RTSP Smoke 실패와 RF-DETR Adapter·SSIMS 재사용 경계 문서 잠금

Receipt: `20260901-contextra-rtsp-adapter-reuse-docs-r01`

### 결과
- 첫 RTSP Smoke 실패 원인과 Stream stopped 상태를 durable Owner에 기록했다.
- RF-DETR C++ Adapter와 Python Metadata 경계, SSIMS 선별 재사용 계약을 잠갔다.

### 검증
- 세 저장소 Work Gate와 Runtime stopped·healthy readback을 통과했다.
- Markdown 재독, git diff --check와 민감정보 경계 검증을 통과했다.

### 남은 작업
- RF-DETR Custom Processor 재현 가능한 image build와 Stream failure propagation 구현 전 잠금이 남았다.
- Portfolio Log 현대화는 별도 분석 작업으로 대기한다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLWNvbnRleHRyYS1ydHNwLWFkYXB0ZXItcmV1c2UtZG9jcy1yMDEiLCJyZW1haW5pbmciOlsiUkYtREVUUiBDdXN0b20gUHJvY2Vzc29yIOyerO2YhCDqsIDriqXtlZwgaW1hZ2UgYnVpbGTsmYAgU3RyZWFtIGZhaWx1cmUgcHJvcGFnYXRpb24g6rWs7ZiEIOyghCDsnqDquIjsnbQg64Ko7JWY64ukLiIsIlBvcnRmb2xpbyBMb2cg7ZiE64yA7ZmU64qUIOuzhOuPhCDrtoTshJ0g7J6R7JeF7Jy866GcIOuMgOq4sO2VnOuLpC4iXSwicmVzdWx0cyI6WyLssqsgUlRTUCBTbW9rZSDsi6TtjKgg7JuQ7J246rO8IFN0cmVhbSBzdG9wcGVkIOyDge2DnOulvCBkdXJhYmxlIE93bmVy7JeQIOq4sOuhne2WiOuLpC4iLCJSRi1ERVRSIEMrKyBBZGFwdGVy7JmAIFB5dGhvbiBNZXRhZGF0YSDqsr3qs4QsIFNTSU1TIOyEoOuzhCDsnqzsgqzsmqkg6rOE7JW97J2EIOyeoOqwlOuLpC4iXSwic2NoZW1hX3ZlcnNpb24iOiJsdGIxMDIxLmNvZGV4X2h1Yi5yZXBvcnRfcmVjZWlwdC52MSIsInNlc3Npb25fYWxpYXMiOiJ3b3JrLXNlc3Npb24iLCJ0YXNrIjoiQ29udGV4dHJhIOyyqyBSVFNQIFNtb2tlIOyLpO2MqOyZgCBSRi1ERVRSIEFkYXB0ZXLCt1NTSU1TIOyerOyCrOyaqSDqsr3qs4Qg66y47IScIOyeoOq4iCIsInRpbWVzdGFtcCI6IjIwMjYtMDktMDFUMTY6MjI6MzgrMDk6MDAiLCJ2ZXJpZnkiOlsi7IS4IOyggOyepeyGjCBXb3JrIEdhdGXsmYAgUnVudGltZSBzdG9wcGVkwrdoZWFsdGh5IHJlYWRiYWNr7J2EIO2GteqzvO2WiOuLpC4iLCJNYXJrZG93biDsnqzrj4UsIGdpdCBkaWZmIC0tY2hlY2vsmYAg66-86rCQ7KCV67O0IOqyveqzhCDqsoDspp3snYQg7Ya16rO87ZaI64ukLiJdfQo -->

## 16:34 KST · SSIMS Static ROI Render Cache 구현과 자동검증

Receipt: `20260901-ssims-roi-render-cache-implementation-r01`

### 결과
- Base·Marine Static ROI용 channel-scoped Render Cache와 Legacy fallback을 구현했다.
- 빈 Area Hint/Event 구간의 불필요한 full-frame copy·blend를 제거했다.
- Feature Flag 기본 Off와 ch44 Canary 재개 Gate를 Owner 문서에 기록했다.

### 검증
- ROI Cache·Marine·Frame Geometry 관련 pytest 66개를 통과했다.
- Python compile, Docker Compose 정적 파싱, JSON 파싱과 git diff --check를 통과했다.

### 남은 작업
- ai-worker reflection과 ch44 Canary, 동일 조건 Capacity B 재측정이 남았다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLXNzaW1zLXJvaS1yZW5kZXItY2FjaGUtaW1wbGVtZW50YXRpb24tcjAxIiwicmVtYWluaW5nIjpbImFpLXdvcmtlciByZWZsZWN0aW9u6rO8IGNoNDQgQ2FuYXJ5LCDrj5nsnbwg7KGw6rG0IENhcGFjaXR5IEIg7J6s7Lih7KCV7J20IOuCqOyVmOuLpC4iXSwicmVzdWx0cyI6WyJCYXNlwrdNYXJpbmUgU3RhdGljIFJPSeyaqSBjaGFubmVsLXNjb3BlZCBSZW5kZXIgQ2FjaGXsmYAgTGVnYWN5IGZhbGxiYWNr7J2EIOq1rO2YhO2WiOuLpC4iLCLruYggQXJlYSBIaW50L0V2ZW50IOq1rOqwhOydmCDrtojtlYTsmpTtlZwgZnVsbC1mcmFtZSBjb3B5wrdibGVuZOulvCDsoJzqsbDtlojri6QuIiwiRmVhdHVyZSBGbGFnIOq4sOuzuCBPZmbsmYAgY2g0NCBDYW5hcnkg7J6s6rCcIEdhdGXrpbwgT3duZXIg66y47ISc7JeQIOq4sOuhne2WiOuLpC4iXSwic2NoZW1hX3ZlcnNpb24iOiJsdGIxMDIxLmNvZGV4X2h1Yi5yZXBvcnRfcmVjZWlwdC52MSIsInNlc3Npb25fYWxpYXMiOiJ3b3JrLXNlc3Npb24iLCJ0YXNrIjoiU1NJTVMgU3RhdGljIFJPSSBSZW5kZXIgQ2FjaGUg6rWs7ZiE6rO8IOyekOuPmeqygOymnSIsInRpbWVzdGFtcCI6IjIwMjYtMDktMDFUMTY6MzQ6NTArMDk6MDAiLCJ2ZXJpZnkiOlsiUk9JIENhY2hlwrdNYXJpbmXCt0ZyYW1lIEdlb21ldHJ5IOq0gOugqCBweXRlc3QgNjbqsJzrpbwg7Ya16rO87ZaI64ukLiIsIlB5dGhvbiBjb21waWxlLCBEb2NrZXIgQ29tcG9zZSDsoJXsoIEg7YyM7IuxLCBKU09OIO2MjOyLseqzvCBnaXQgZGlmZiAtLWNoZWNr66W8IO2GteqzvO2WiOuLpC4iXX0K -->

## 17:04 KST · SSIMS ROI Render Cache ch44 Canary worker reflection

Receipt: `20260901-ssims-roi-cache-canary-worker-reflection-r01`

### 결과
- ch20 수동 Stop 확인 뒤 ai-worker 한 개만 기존 image로 recreate했다.
- 현재 worker generation에 ROI Cache enabled=1, channel allowlist=44를 반영했다.
- ch20 자동 복구와 ch44 Start 없이 사용자 수동 복구 대기 상태에서 중단했다.

### 검증
- ROI Cache import, 32 MiB cap, ch44 true와 ch20 false 해석을 확인했다.
- CUDA, Triton live/ready, Celery ping, prefork 16개와 restart/OOM 0을 확인했다.
- api-endpoint, Triton, Redis와 Fileserver generation이 유지됐고 Git은 clean이다.

### 남은 작업
- 사용자 ch20 수동 복구, ch44 Start·시각 확인과 동일 조건 Capacity B 재측정이 남았다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLXNzaW1zLXJvaS1jYWNoZS1jYW5hcnktd29ya2VyLXJlZmxlY3Rpb24tcjAxIiwicmVtYWluaW5nIjpbIuyCrOyaqeyekCBjaDIwIOyImOuPmSDrs7XqtawsIGNoNDQgU3RhcnTCt-yLnOqwgSDtmZXsnbjqs7wg64-Z7J28IOyhsOqxtCBDYXBhY2l0eSBCIOyerOy4oeygleydtCDrgqjslZjri6QuIl0sInJlc3VsdHMiOlsiY2gyMCDsiJjrj5kgU3RvcCDtmZXsnbgg65KkIGFpLXdvcmtlciDtlZwg6rCc66eMIOq4sOyhtCBpbWFnZeuhnCByZWNyZWF0Ze2WiOuLpC4iLCLtmITsnqwgd29ya2VyIGdlbmVyYXRpb27sl5AgUk9JIENhY2hlIGVuYWJsZWQ9MSwgY2hhbm5lbCBhbGxvd2xpc3Q9NDTrpbwg67CY7JiB7ZaI64ukLiIsImNoMjAg7J6Q64-ZIOuzteq1rOyZgCBjaDQ0IFN0YXJ0IOyXhuydtCDsgqzsmqnsnpAg7IiY64-ZIOuzteq1rCDrjIDquLAg7IOB7YOc7JeQ7IScIOykkeuLqO2WiOuLpC4iXSwic2NoZW1hX3ZlcnNpb24iOiJsdGIxMDIxLmNvZGV4X2h1Yi5yZXBvcnRfcmVjZWlwdC52MSIsInNlc3Npb25fYWxpYXMiOiJ3b3JrLXNlc3Npb24iLCJ0YXNrIjoiU1NJTVMgUk9JIFJlbmRlciBDYWNoZSBjaDQ0IENhbmFyeSB3b3JrZXIgcmVmbGVjdGlvbiIsInRpbWVzdGFtcCI6IjIwMjYtMDktMDFUMTc6MDQ6MTkrMDk6MDAiLCJ2ZXJpZnkiOlsiUk9JIENhY2hlIGltcG9ydCwgMzIgTWlCIGNhcCwgY2g0NCB0cnVl7JmAIGNoMjAgZmFsc2Ug7ZW07ISd7J2EIO2ZleyduO2WiOuLpC4iLCJDVURBLCBUcml0b24gbGl2ZS9yZWFkeSwgQ2VsZXJ5IHBpbmcsIHByZWZvcmsgMTbqsJzsmYAgcmVzdGFydC9PT00gMOydhCDtmZXsnbjtlojri6QuIiwiYXBpLWVuZHBvaW50LCBUcml0b24sIFJlZGlz7JmAIEZpbGVzZXJ2ZXIgZ2VuZXJhdGlvbuydtCDsnKDsp4DrkJDqs6AgR2l07J2AIGNsZWFu7J2064ukLiJdfQo -->

## 17:15 KST · SSIMS ROI Render Cache ch44 2분 안정화 Gate

Receipt: `20260901-ssims-roi-cache-ch44-stabilization-r01`

### 결과
- ch20 보호 상태에서 ch44 ROI Cache Canary를 5초 간격 2분 측정했다.
- ch44 Visualization 평균은 28.244ms로 기존 B 대비 잠정 20.772% 감소했다.
- 최신 Frame에서 Marine ROI·Horizon·Label과 LetterBox 유지 상태를 확인했다.

### 검증
- ch20·44 모두 25/25 running, health ok, ownership 일치와 약 10 FPS를 확인했다.
- Queue drop, inference timeout, Triton error, FFmpeg restart와 H.264 error는 모두 0이었다.
- Cache apply timing이 지속 관측됐고 fallback log와 worker restart/OOM은 0이었다.

### 남은 작업
- 사용자 시각 확인과 동일 조건 10분 Capacity B 최종 acceptance가 남았다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLXNzaW1zLXJvaS1jYWNoZS1jaDQ0LXN0YWJpbGl6YXRpb24tcjAxIiwicmVtYWluaW5nIjpbIuyCrOyaqeyekCDsi5zqsIEg7ZmV7J246rO8IOuPmeydvCDsobDqsbQgMTDrtoQgQ2FwYWNpdHkgQiDstZzsooUgYWNjZXB0YW5jZeqwgCDrgqjslZjri6QuIl0sInJlc3VsdHMiOlsiY2gyMCDrs7TtmLgg7IOB7YOc7JeQ7IScIGNoNDQgUk9JIENhY2hlIENhbmFyeeulvCA17LSIIOqwhOqyqSAy67aEIOy4oeygle2WiOuLpC4iLCJjaDQ0IFZpc3VhbGl6YXRpb24g7Y-J6reg7J2AIDI4LjI0NG1z66GcIOq4sOyhtCBCIOuMgOu5hCDsnqDsoJUgMjAuNzcyJSDqsJDshoztlojri6QuIiwi7LWc7IugIEZyYW1l7JeQ7IScIE1hcmluZSBST0nCt0hvcml6b27Ct0xhYmVs6rO8IExldHRlckJveCDsnKDsp4Ag7IOB7YOc66W8IO2ZleyduO2WiOuLpC4iXSwic2NoZW1hX3ZlcnNpb24iOiJsdGIxMDIxLmNvZGV4X2h1Yi5yZXBvcnRfcmVjZWlwdC52MSIsInNlc3Npb25fYWxpYXMiOiJ3b3JrLXNlc3Npb24iLCJ0YXNrIjoiU1NJTVMgUk9JIFJlbmRlciBDYWNoZSBjaDQ0IDLrtoQg7JWI7KCV7ZmUIEdhdGUiLCJ0aW1lc3RhbXAiOiIyMDI2LTA5LTAxVDE3OjE1OjI2KzA5OjAwIiwidmVyaWZ5IjpbImNoMjDCtzQ0IOuqqOuRkCAyNS8yNSBydW5uaW5nLCBoZWFsdGggb2ssIG93bmVyc2hpcCDsnbzsuZjsmYAg7JW9IDEwIEZQU-ulvCDtmZXsnbjtlojri6QuIiwiUXVldWUgZHJvcCwgaW5mZXJlbmNlIHRpbWVvdXQsIFRyaXRvbiBlcnJvciwgRkZtcGVnIHJlc3RhcnTsmYAgSC4yNjQgZXJyb3LripQg66qo65GQIDDsnbTsl4jri6QuIiwiQ2FjaGUgYXBwbHkgdGltaW5n7J20IOyngOyGjSDqtIDsuKHrkJDqs6AgZmFsbGJhY2sgbG9n7JmAIHdvcmtlciByZXN0YXJ0L09PTeydgCAw7J207JeI64ukLiJdfQo -->

## 17:25 KST · Portfolio Log v2 Core와 자동 후보 판정·안전 Append·Skill Trigger 현대화

Receipt: `20260901-portfolio-log-v2-core-r01`

### 결과
- PORTMOD-01~16과 HIGH/MEDIUM/LOW 자동 후보 판정을 canonical Owner에 반영했다.
- v1 호환 v2 Schema, Candidate, transaction append와 audience별 요청형 Report 경계를 구현했다.
- portfolio-log Skill을 backup 후 installed source와 동일하게 반영했다.

### 검증
- Portfolio·Skill regression 31건과 final Portfolio v2 fixture 11건을 통과했다.
- 동시 writer, no-op, conflict, rollback, byte preservation과 secret boundary를 검증했다.
- 기존 Portfolio 240 entries·67 tracks와 Contextra source·Runtime mutation은 0이다.

### 남은 작업
- RF-DETR Custom Processor actual Frame PASS 뒤 Contextra 첫 HIGH pilot이 남았다.
- 다른 서버 Candidate relay wrapper와 과거 Contextra backfill은 별도 WAIT다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLXBvcnRmb2xpby1sb2ctdjItY29yZS1yMDEiLCJyZW1haW5pbmciOlsiUkYtREVUUiBDdXN0b20gUHJvY2Vzc29yIGFjdHVhbCBGcmFtZSBQQVNTIOuSpCBDb250ZXh0cmEg7LKrIEhJR0ggcGlsb3TsnbQg64Ko7JWY64ukLiIsIuuLpOuluCDshJzrsoQgQ2FuZGlkYXRlIHJlbGF5IHdyYXBwZXLsmYAg6rO86rGwIENvbnRleHRyYSBiYWNrZmlsbOydgCDrs4Trj4QgV0FJVOuLpC4iXSwicmVzdWx0cyI6WyJQT1JUTU9ELTAxfjE26rO8IEhJR0gvTUVESVVNL0xPVyDsnpDrj5kg7ZuE67O0IO2MkOygleydhCBjYW5vbmljYWwgT3duZXLsl5Ag67CY7JiB7ZaI64ukLiIsInYxIO2YuO2ZmCB2MiBTY2hlbWEsIENhbmRpZGF0ZSwgdHJhbnNhY3Rpb24gYXBwZW5k7JmAIGF1ZGllbmNl67OEIOyalOyyre2YlSBSZXBvcnQg6rK96rOE66W8IOq1rO2YhO2WiOuLpC4iLCJwb3J0Zm9saW8tbG9nIFNraWxs7J2EIGJhY2t1cCDtm4QgaW5zdGFsbGVkIHNvdXJjZeyZgCDrj5nsnbztlZjqsowg67CY7JiB7ZaI64ukLiJdLCJzY2hlbWFfdmVyc2lvbiI6Imx0YjEwMjEuY29kZXhfaHViLnJlcG9ydF9yZWNlaXB0LnYxIiwic2Vzc2lvbl9hbGlhcyI6Indvcmstc2Vzc2lvbiIsInRhc2siOiJQb3J0Zm9saW8gTG9nIHYyIENvcmXsmYAg7J6Q64-ZIO2bhOuztCDtjJDsoJXCt-yViOyghCBBcHBlbmTCt1NraWxsIFRyaWdnZXIg7ZiE64yA7ZmUIiwidGltZXN0YW1wIjoiMjAyNi0wOS0wMVQxNzoyNTo1MCswOTowMCIsInZlcmlmeSI6WyJQb3J0Zm9saW_Ct1NraWxsIHJlZ3Jlc3Npb24gMzHqsbTqs7wgZmluYWwgUG9ydGZvbGlvIHYyIGZpeHR1cmUgMTHqsbTsnYQg7Ya16rO87ZaI64ukLiIsIuuPmeyLnCB3cml0ZXIsIG5vLW9wLCBjb25mbGljdCwgcm9sbGJhY2ssIGJ5dGUgcHJlc2VydmF0aW9u6rO8IHNlY3JldCBib3VuZGFyeeulvCDqsoDspp3tlojri6QuIiwi6riw7KG0IFBvcnRmb2xpbyAyNDAgZW50cmllc8K3NjcgdHJhY2tz7JmAIENvbnRleHRyYSBzb3VyY2XCt1J1bnRpbWUgbXV0YXRpb27snYAgMOydtOuLpC4iXX0K -->

## 17:31 KST · SSIMS ROI Render Cache ch44 Canary와 Capacity B 재측정

Receipt: `20260901-ssims-roi-cache-ch44-capacity-b-pass-r01`

### 결과
- ch44 ROI 시각 확인과 2분 안정화 뒤 10분 120표본 측정을 완료했다.
- ch44 Visualization 평균은 35.649 ms에서 23.934 ms로 32.9% 감소했다.
- ch20 보호, ch44 처리 FPS, Queue와 오류 무회귀 조건을 충족했다.

### 검증
- ch20과 ch44의 running, health, ownership이 120/120 유지됐다.
- worker와 핵심 Container restart 및 OOM이 없고 Runtime mutation은 없었다.
- 진해신항 Assessment와 Checklist에 Runtime PASS와 persistent 승격 대기를 분리 기록했다.

### 남은 작업
- Persistent 기본 On 승격과 임시 Feature Flag 종료 closeout이 남았다.
- Capacity C와 D 측정은 후속이다.

<!-- codex-report-receipt-v1:eyJjb21taXRzIjpbXSwicmVjZWlwdF9pZCI6IjIwMjYwOTAxLXNzaW1zLXJvaS1jYWNoZS1jaDQ0LWNhcGFjaXR5LWItcGFzcy1yMDEiLCJyZW1haW5pbmciOlsiUGVyc2lzdGVudCDquLDrs7ggT24g7Iq56rKp6rO8IOyehOyLnCBGZWF0dXJlIEZsYWcg7KKF66OMIGNsb3Nlb3V07J20IOuCqOyVmOuLpC4iLCJDYXBhY2l0eSBD7JmAIEQg7Lih7KCV7J2AIO2bhOyGjeydtOuLpC4iXSwicmVzdWx0cyI6WyJjaDQ0IFJPSSDsi5zqsIEg7ZmV7J246rO8IDLrtoQg7JWI7KCV7ZmUIOuSpCAxMOu2hCAxMjDtkZzrs7gg7Lih7KCV7J2EIOyZhOujjO2WiOuLpC4iLCJjaDQ0IFZpc3VhbGl6YXRpb24g7Y-J6reg7J2AIDM1LjY0OSBtc-yXkOyEnCAyMy45MzQgbXProZwgMzIuOSUg6rCQ7IaM7ZaI64ukLiIsImNoMjAg67O07Zi4LCBjaDQ0IOyymOumrCBGUFMsIFF1ZXVl7JmAIOyYpOulmCDrrLTtmozqt4Ag7KGw6rG07J2EIOy2qeyhse2WiOuLpC4iXSwic2NoZW1hX3ZlcnNpb24iOiJsdGIxMDIxLmNvZGV4X2h1Yi5yZXBvcnRfcmVjZWlwdC52MSIsInNlc3Npb25fYWxpYXMiOiJ3b3JrLXNlc3Npb24iLCJ0YXNrIjoiU1NJTVMgUk9JIFJlbmRlciBDYWNoZSBjaDQ0IENhbmFyeeyZgCBDYXBhY2l0eSBCIOyerOy4oeyglSIsInRpbWVzdGFtcCI6IjIwMjYtMDktMDFUMTc6MzE6MDArMDk6MDAiLCJ2ZXJpZnkiOlsiY2gyMOqzvCBjaDQ07J2YIHJ1bm5pbmcsIGhlYWx0aCwgb3duZXJzaGlw7J20IDEyMC8xMjAg7Jyg7KeA65CQ64ukLiIsIndvcmtlcuyZgCDtlbXsi6wgQ29udGFpbmVyIHJlc3RhcnQg67CPIE9PTeydtCDsl4bqs6AgUnVudGltZSBtdXRhdGlvbuydgCDsl4bsl4jri6QuIiwi7KeE7ZW07Iug7ZWtIEFzc2Vzc21lbnTsmYAgQ2hlY2tsaXN07JeQIFJ1bnRpbWUgUEFTU-yZgCBwZXJzaXN0ZW50IOyKueqyqSDrjIDquLDrpbwg67aE66asIOq4sOuhne2WiOuLpC4iXX0K -->
