{"commit":{"body":[{"label":"Why","text":"동일 URI로 AI와 Web이 현재 영상과 공통 시간 기준을 공유하는 반복 시험을 준비한다."},{"label":"What","text":"LAN bind 설정과 execution/Anchor 조회, 내부 keeper와 RTCP SR 계산, Swagger canonical identity 전달 및 중복 source 차단을 source에 준비했다."},{"label":"Impact","text":"실제 송출과 LAN 반영은 승인 도구 capacity 오류로 보류했다. sample01 교체는 승인만 확보했고 기존 registry/운영 image/AI/Redis는 변경하지 않았다."},{"label":"Verify","text":"표적23 tests와 host 공식 RTP/RTCP parser callback PASS. 실제 shared sender/다중수신/Anchor wire는 미실행이며 API registration2 tests와 후속 image 반영은 대기다."},{"label":"Rollback","text":"운영 반영 전 source 변경만 되돌릴 수 있다. 후속 적용 시 private 원장의 이전 registry/owned sender 조건을 먼저 확인하고 기존 영상과 모델을 보존한다."}],"title":"feat(rtsp-test): 공통 URI와 공유 송출 Anchor 및 Swagger source 준비"},"created_at":"2026-09-14T07:58:40+00:00","expires_at":"2026-09-15T07:58:40+00:00","job_id":"contextra-rtsp-shared-20260914-165217","paths":[{"change":"modified","content_sha256":"a06c0b3f5914493ce3c3ec06ebecec90a0e5c70dd5f84fd2e2c5ece62a1f1c5c","path":"app/api/streams.py"},{"change":"modified","content_sha256":"ae4cd612d3e7d3df849a70b62dee61df2b6ed4edc2be1a9ad5e9e79cb3fb015f","path":"app/stream_manager.py"},{"change":"modified","content_sha256":"9e3864ba4f66431a363c65c066ce23c278ac598a24d037aff2b04c9348c05ac4","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"added","content_sha256":"b8029ec04b8369cf8ba2619e1c486dd2d068d5f20a81c47287ca48ca9fbbbd1f","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/decision/20260914T165217+0900-decision-rtsp-shared-swagger.md"},{"change":"added","content_sha256":"bb79db1f04bd69e571ca10ceb44755cd66c5a31fd6108bf06a0ce5fd51be673a","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/runs/20260914T165217+0900-run-rtsp-shared-swagger.md"},{"change":"modified","content_sha256":"7c02e3822eea9896c40e1bc0467672a93d2be13fe2c894f3c4f5e1d4dd0418e2","path":"tests/test_rtsp_test_manager.py"},{"change":"added","content_sha256":"ecdae957cbf6790cb695c2b95de3c0095e4eadd46e39ffdbf3078af0b442a45f","path":"tests/test_rtsp_test_time.py"},{"change":"added","content_sha256":"b0b7ad05fcb01c0b7d6e3c21d52403bca0734c0c10a69bc84e1c6022613f753d","path":"tests/test_rtsp_test_worker.py"},{"change":"added","content_sha256":"f902ab30964587f6461e2935b8dbd04e73802526a5809d4483f2ad5142734c1b","path":"tests/test_stream_registration_identity.py"},{"change":"added","content_sha256":"7aa83bf189dbb96b1e78f2a7bd35161b792b20473e6393add017a96350cbd743","path":"tools/RTSP_SWAGGER_GUIDE.ko.md"},{"change":"modified","content_sha256":"891ee8f5ecb018331a22929c0591cbb2f371bd800c251f487c65398e419da97b","path":"tools/RTSP_TEST_GUIDE.ko.md"},{"change":"modified","content_sha256":"7ce38537d0df1c595f792e940763eed479b26d1930ab377a586961faa434ff2c","path":"tools/rtsp_test.py"},{"change":"modified","content_sha256":"3773fa28b83684f19f1580b18f43ee071f512bcd184907ed37cb68c4e952d7fd","path":"tools/rtsp_test_manager.py"},{"change":"added","content_sha256":"8e6941ae15dcb7d433734ea21e1baed63b664076e274e9ae3de94b5191ca1961","path":"tools/rtsp_test_time.py"},{"change":"modified","content_sha256":"71415193599555ecadb4e926b9be81f0b5454a6417da31b00e987fe0cc24bee2","path":"tools/rtsp_test_worker.py"}],"plan_hash":"49290612ae4707880a980c363a196e4c38e86ff26ed8a4f73ed9f2a296537df4","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"c2ceb05277dca15292cc25caf9efe93d39f0ee50","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"c2ceb05277dca15292cc25caf9efe93d39f0ee50","branch":"task/runtime-lifecycle-refactor","worktree":"/workspace/contextra-analytics-runtime-lifecycle-refactor"},"schema_version":"ltb1021.codex_hub.git_closeout_manifest.v1","session_alias":"work-session","verify":["23 source tests PASS; installed host Gst1.24.2 RTP/RTCP callbacks PASS; compile/diff PASS; actual shared/LAN/SR wire NOT_RUN approval capacity; API registration2 tests WAIT missing dependency; operating operations0"]}
