{"commit":{"body":[{"label":"Why","text":"Scenario 우선 표시와 디버그 시간 및 ROI 설정을 실제 서비스까지 연결한다."},{"label":"What","text":"카테고리 선택과 ROI 표시 설정, PTS 및 계산 UTC, 실패 포함 캡처3회와 surface 정합, 파일 PTS 재생을 구현한다."},{"label":"Impact","text":"새 image를 유지하고 원래 입력과 시험 설정 및 restart를 복원했다. Event는 NOT_SUBMITTED이며 Artifact와 HTTP 접수는 후속이다."},{"label":"Verify","text":"초기 source/image26 PASS, 교정 source16/image21 PASS. 실제 두 번째 회차에서 Event3개, Redis와 동일 Frame 이미지 JSON2쌍, cleanup0.239초 PASS. 캡처 포함 결과7.5FPS는 성능 PASS가 아니다."},{"label":"Rollback","text":"회차별 private CAS 이전값과 source snapshot 보존. 자동 rollback 없이 별도 승인된 exact source 및 운영 설정 복원 절차를 사용한다."}],"title":"feat(intrusion): 출력 설정과 실제 영상 검증 및 캡처 경계 보완"},"created_at":"2026-09-13T06:22:40+00:00","expires_at":"2026-09-14T06:22:40+00:00","job_id":"contextra-intrusion-live-20260913-151612","paths":[{"change":"modified","content_sha256":"e5231f995ca059727f5956b1f2df534a21f44de18f443a82a9f97a2d0862bca1","path":"app/api/streams.py"},{"change":"modified","content_sha256":"e3a706b2a71f1114a519d4a8d3706f322ea2acd5b8a8bf09c7cc087793ed0657","path":"app/contracts/visualization.py"},{"change":"modified","content_sha256":"774bc06b24b273c2e3c6f3eb28387bdcec5626e9c9d132c099d5e0e49ed7297c","path":"app/det_result_path.py"},{"change":"modified","content_sha256":"2adcd08b2489cdcbd61c692815f515fa98677ad48d4a1ea1d3fe8dc84e43cbdf","path":"app/intrusion.py"},{"change":"modified","content_sha256":"fa9555f96074b5854ec61f350d683d4a7370394c31e3a137c55ac97319c5ace0","path":"app/metadata_render.py"},{"change":"modified","content_sha256":"af3a20ea308ced7551eb392aa129657bcb27b5c54fbff7c9ecbb8a33edf14734","path":"app/metadata_visual.py"},{"change":"modified","content_sha256":"681f027c15668d2b1727b4d57191c5348f2c2746a488ad8798be774af33942c0","path":"app/multi_pipeline.py"},{"change":"modified","content_sha256":"1284de4a97c8357de8dab1841631a794c9b6dbf36da178ad2f0744d37f1fafae","path":"app/stream_manager.py"},{"change":"modified","content_sha256":"4ed182e2c723997f51eeab1aeb8e8739e59410008a66889977e9b4fd810d2d80","path":"app/stream_settings.py"},{"change":"modified","content_sha256":"617f399b6fdade036c9f0bd3a9881bbedef07e2555cdfc3f971a60a21d142837","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"modified","content_sha256":"b0367b1ae26112b23f8d6970b9e194c46856bcc32e2ee43a2d851cb571b43fee","path":"tests/test_metadata_connection.py"},{"change":"added","content_sha256":"1365dd7a247f9382f1ff9d51708b3515b87681c51f1f08a2c005fdcbc0e95eb9","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/decision/20260913T151612+0900-decision-intrusion-output-settings.md"},{"change":"added","content_sha256":"88e11e39c5735730a99de6b2794feadea32626dce5fa2090ed9d0dad33d67717","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/runs/20260913T151612+0900-run-intrusion-offline-output.md"},{"change":"added","content_sha256":"d7a015e8af1b60835a71d5690db8df5a6149088d3c1dcdbafda120f3327c3bfd","path":"tests/test_output_settings.py"}],"plan_hash":"79a8da60dacc09891fcb398c509b53b1e37cc9ee5ad4f6c5e96b35edbbc466ac","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"bc70f1d407cdecb442c35891a9a0c612b2521e80","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"bc70f1d407cdecb442c35891a9a0c612b2521e80","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":["git diff --check: PASS","source/image targeted tests: 26/26, corrected16/21 PASS","Runtime2: functional PASS; 2 matching Frame pairs; cleanup0.239s; current healthy/stopped; capture included result7.500FPS"]}
