{"commit":{"body":[{"label":"Why","text":"provider child의 불필요한 정렬과 결과 재생성을 줄이고 완료 대기 완화와 누적 지연의 관계를 확인한다."},{"label":"What","text":"300개 이하 정렬 fast path, 단일 FrameResult 재사용과 NMS 진단 보존, cameraId 검증, 유한 queue 옵션과 동일 Frame 송신 나이 계측을 추가했다."},{"label":"Impact","text":"객체/모델/시나리오/전송 보호는 유지한다. 사용자 최종 결정으로 test queue1초를 유지하며 Artifact Off C와 복합 B는 생략했다. Snapshot 공유나 따라잡기는 미적용이다."},{"label":"Verify","text":"Python3.12 44PASS 및 추가52PASS(중복),6subtest. API fingerprint 1실패는 이전image에서도 재현. Pose A/B6,8,12,16과추가1,6,8 RTP관측 완료.40child exit0/unforced/reap,36stopped/WSS/모델4READY.2초는지연도증가했으며개별효과확정안함."},{"label":"Rollback","text":"이전 image와 전체 private Compose/env 보존. 정상Stop/reap 뒤 명시 승인된 조합으로 복귀하며 원본Artifact/학습/원장은 삭제하지 않는다. 자동rollback/재Start 없음."}],"title":"fix(runtime): 단일 결과 후처리를 간소화하고 queue 지연 계측 추가"},"created_at":"2026-09-27T06:58:27+00:00","expires_at":"2026-09-28T06:58:27+00:00","job_id":"20260927-contextra-result-queue-r01","paths":[{"change":"modified","content_sha256":"47c13fe09538efd0ef0034532c185312f467f79ecedf93822262ecd765f598a6","path":"app/event_capture.py"},{"change":"modified","content_sha256":"501c525ab6391105bf769650df2c027e5efce7b7cf6e8c92eee277df1c71c148","path":"app/metadata_publisher.py"},{"change":"modified","content_sha256":"0627e0c369e895eed1c34e14b3b0c49c9434d88b2022f6e92086a659ed2078c4","path":"app/multi_provider_results.py"},{"change":"modified","content_sha256":"680f91dfc5efce283c5f6f0daf655d57f83dab7eb9b2916f4c2783d4792a8b74","path":"app/pipeline_diagnostics.py"},{"change":"modified","content_sha256":"d9ddc48a03df84f81e73147c079d3f0793f0e0ca2b2872c8e805ed1e06f2cd2e","path":"app/provider_linear_results.py"},{"change":"modified","content_sha256":"d95ae3201b78e2c58c22ebe1df952f678884d327a1d8fa754cb5c7854840cc96","path":"app/publisher_metrics.py"},{"change":"modified","content_sha256":"f6e45cafe0daf89ca77b9f08bb4606c21d01e6710aaf8b7bab3c8775d0754416","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"added","content_sha256":"16569392034a4f37b6ff4ccf3b658907024297b3b52f10f969349de4470dfc0c","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/analysis/20260927T153547+0900-analysis-result-queue.md"},{"change":"added","content_sha256":"50129ee73cc6d01b4818558456a40b3f57ee3e46a54d1d20329551557b10a982","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/validation/20260927T153547+0900-validation-result-queue.md"},{"change":"modified","content_sha256":"c49c08a267ecbce65016d179ed076cece41d09c65801c6b0eb7cc4a701ccdf51","path":"docs/scenarios/PROVIDER_PROCESS_RUNTIME.ko.md"},{"change":"added","content_sha256":"a6350309cfeb8a204a548522e75d097befa59d3e6e3a8ee13aefeccb0e259ca8","path":"tests/test_result_queue_b.py"}],"plan_hash":"ec9d44b9d4aab271d16e9ad58cd7a8f68429f244cf25640f9e978c2f1a5fd00a","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"06c3cf692bc9b8e5de454f359d40054ffc518f61","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"06c3cf692bc9b8e5de454f359d40054ffc518f61","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":["44 and 52 targeted passes (overlap), 6 subtests; baseline OpenAPI failure unchanged; source/image hash and doc links checked","Pose queue1/2 at6,8,12,16; continuous RTP1,6,8; all40 children reaped; queue1/WSS/final settings verified"]}
