{"commit":{"body":[{"label":"Why","text":"승인 영상을 사용자가 직접 반복 시험하면서 운영 AI와 기존 송출 서비스를 보존할 수 있는 최소 도구가 필요하다."},{"label":"What","text":"기존 FFmpeg/GstRtspServer의 stream-copy 경로, 영상 매핑과 owned container 수명, continuous/once, 한글 경로 및4개 상한을 구현했다."},{"label":"Impact","text":"운영 변경과 GPU추론 없이 localhost 시험만 제공한다. 기본 sample01 등록/송출0이며 Event/Artifact 승인값은 기록만 했다."},{"label":"Verify","text":"표적11 tests PASS. once30Frame/정상 EOF, 실제2개 동시 수신과 독립 Stop, 반복 경계 RTP90000/9000 및 역행0. 기존16개 container 불변과 cleanup 확인. 실제4개/AI/Web 동기화는 미검증."},{"label":"Rollback","text":"동일 registry stop-all 후 CLI 사용을 중단하고 이번 source만 되돌린다. 운영 image와 모델 및 원본은 변경하지 않았다."}],"title":"feat(rtsp-test): 독립 반복 송출 CLI와 수명 및 시간축 검증 추가"},"created_at":"2026-09-14T06:35:27+00:00","expires_at":"2026-09-15T06:35:27+00:00","job_id":"contextra-rtsp-cli-20260914-152947","paths":[{"change":"modified","content_sha256":"1638116276ce1beba1df770c5e8dac60ce08f7cb901b0e457093f717733ac92e","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"added","content_sha256":"eee42ad9b76710c39cfc9e8633619ec84d1033233cf7e038579c19326e7e4660","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/decision/20260914T152947+0900-decision-rtsp-test-event-artifact.md"},{"change":"added","content_sha256":"2d2a1d1681cef7aa4dc7ac9dc9bbd8bbc943cacd04e5737353b1dbac33ad9086","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/runs/20260914T152947+0900-run-rtsp-test-cli.md"},{"change":"added","content_sha256":"8bcd3eade1dfb5f7c9e7d01200c9d8510200002a5fe5bc7f7de22f3726addd3f","path":"tests/test_rtsp_test_manager.py"},{"change":"added","content_sha256":"83725af9ac8f3d53797b22c07aabcbd59303ad8aab98553b0132469d5b4aaa5e","path":"tools/RTSP_TEST_GUIDE.ko.md"},{"change":"added","content_sha256":"a56e68507010c2959f7162486f80f3cfd30f3fc245e3ff4c43aff6e2c3e5df21","path":"tools/rtsp_test.py"},{"change":"added","content_sha256":"ff4eaad9d10b4a0443c142299ea53f3bb54fbf55733eb89e5b41c291bfa36f90","path":"tools/rtsp_test_manager.py"},{"change":"added","content_sha256":"ed8d12719833cc63e824eb3c45eec3addd859385c418c54bc01d23b47db683cf","path":"tools/rtsp_test_worker.py"}],"plan_hash":"f15bf6018d74187524b3997e28e27beeec24437ddfb51382fc530be478f8a4a5","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"fae05fabf1669a6f8ef34a592b9422ba9628cd3f","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"fae05fabf1669a6f8ef34a592b9422ba9628cd3f","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":["11 unit tests PASS; MPEG4 once30frames EOS; two concurrent RTP receivers; loop delta9000 at clock90000; no backward or observed gaps; owned cleanup PASS; existing16 containers unchanged; help/AST/diff PASS"]}
