{"commit":{"body":[{"label":"Why","text":"목표10 FPS와 실제 처리량을 구분하고 과도한 관측 부하 없이 지연 위치를 확인할 필요가 있었다."},{"label":"What","text":"Frame identity 뒤 PTS 선택·settings CAS·run-local 비차단 계측과 임시 On/Off API를 구현했다. 저부하 계측과 디버그/업무 Event 분리 합의를 Owner에 반영했다."},{"label":"Impact","text":"기본10 FPS 선택과 ByteTrack frame_rate 환산을 연결하고 threshold·RTP·모델·인증을 보존한다. 현재 canonical single-frame Det 경로만 지원하며 공통720p/DetPose join 완료는 아니다."},{"label":"Verify","text":"source/image 각43 tests·SDK copy/drop PASS. build1/live1에서 Off1.038/On0.956 FPS로 목표 미달을 공개했다. Triton compute8.54ms와 queue 포함 초 단위 지연을 구분하고 cleanup2.606초를 확인했다."},{"label":"Rollback","text":"private CAS 이전값과 이전 image를 보존했다. 새 image healthy/stopped·상세 계측Off·시각 mount 제거·restart 복원이며 다음은 retrieve/Snapshot/SDK queue 대기 구분이다."}],"title":"feat(runtime): PTS 기반 FPS 제어와 bounded 계측 연결"},"created_at":"2026-09-12T12:21:33+00:00","expires_at":"2026-09-19T12:21:33+00:00","job_id":"ltb1021-fps-metrics-20260912","paths":[{"change":"added","content_sha256":"d221520133fdd918cca42f07ef4a97eddc8bbb44b2a314149034904db88a466d","path":"app/analysis_metrics.py"},{"change":"modified","content_sha256":"a300dcc37183ad33fcb2b0a138c908852b028dec05c5095163e8ab3752f9b0f2","path":"app/api/streams.py"},{"change":"modified","content_sha256":"b5ccc6764f78901752c165a5df8ac69c48c6dcb3e1e6cf222fd74496649a85a7","path":"app/frame_ingress.py"},{"change":"modified","content_sha256":"d88e4c57b18bd1e5880d0611bc9374d160fcb078ed7d90a24bfa4a1a70e30520","path":"app/stream_manager.py"},{"change":"modified","content_sha256":"cfd826b2ca64e1ca7419f44656b9c94b5ed9f3d8204ff637bf2cd48b1a2441e4","path":"app/stream_settings.py"},{"change":"modified","content_sha256":"535be280701ba9ea9c0686fdb6a6d2ac6a190105fe4a6a4174503f679fcd05b6","path":"app/multi_pipeline.py"},{"change":"modified","content_sha256":"03018c8227574e8a939ea62614e8156bcaeda273249db4d101682bfa3b74c638","path":"app/det_result_path.py"},{"change":"added","content_sha256":"9748389bd9941f7a7eb991e0d232d98e89333adf75dc23c979a250a8ac19e661","path":"tests/test_analysis_metrics.py"},{"change":"modified","content_sha256":"3d9a32e7a1c834d09cfca84932dad03a461032f0043a24ba7b0910e6fff5cda5","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"added","content_sha256":"d73c9544ab0b6ecac2797ceb72bb882bc4639a7af7774f19ab42f25da736014c","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/decision/20260912T211644+0900-decision-fps-bounded-observation.md"},{"change":"added","content_sha256":"d51eafba78473e5d95b729546a17c5ec7bd90dc5d566996fb65484104329cdc0","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/runs/20260912T211644+0900-run-fps-metrics.md"}],"plan_hash":"8ec09fb81434555823cd5e6d06af5c794be5afff874e24f161abe3314eeeae1e","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"474f4e7a99ab2240fbe5d3355ea48dc0d35d4f57","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"474f4e7a99ab2240fbe5d3355ea48dc0d35d4f57","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":["43 targeted tests source/image; SDK copy/drop; actual Off/On/control/cleanup PASS; effective10 FPS WAIT; source pin/docs/diff/actual SOT PASS"]}
