{"commit":{"body":[{"label":"Why","text":"single-decode multi-provider와 새 Web parameters를 통합하되 Frame/Event/Stop 경계와 실제 GPU 검증을 구분한다."},{"label":"What","text":"독립 leaky queue/native relay, FINALIZING 인계, FIRE gap, public300 참조/대표 보존과 사용/복귀 문서를 보완했다."},{"label":"Impact","text":"Web confidence 제거, parameters 추가, FIRE Smoke OR, channel limit0. test image만 반영했으며 현장/관제/비대상 서비스는 보존했다."},{"label":"Verify","text":"Python3.12 표적108+18subtests/Web22/최종영향45 PASS(중복 있음), 문서범위20 PASS. 4모델READY. Pose+Fire GPU는 ServiceMaker native crash로 FAIL, 3-provider NOT RUN. 25채널stopped/원장보존. Web-ready 아님."},{"label":"Rollback","text":"자동rollback 없음. 이전 image/전체Compose/private baseline 보존. flag false는 Web/FIRE/저장값 전체원복이 아니다. Gateway는 GPU blocker 해결까지 maintenance stopped."},{"label":"Related","text":"PR13 e514252; PR13-INTEGRATION-01; GPU crash 원인 미확정/아이서티 미반영"}],"title":"feat(runtime): PR13 통합 보완과 GPU 수용 실패 경계 기록"},"created_at":"2026-09-23T02:20:32+00:00","expires_at":"2026-09-24T02:20:32+00:00","job_id":"20260923-contextra-pr13-r01","paths":[{"change":"modified","content_sha256":"cdb0608dd6ffdb789cd5414380b5c38fd64b4888b80acc0fc85802e74328fc63","path":"app/channel_process.py"},{"change":"modified","content_sha256":"08bc704eb57497928c529002a70aafde265719b7714418b31f66a8147b5d8933","path":"app/crowd_runtime.py"},{"change":"modified","content_sha256":"0f9a9bd32b89631d05a150173a90882c9d0501edd2452d62ddd5305e7fee8505","path":"app/fire_config.py"},{"change":"modified","content_sha256":"d8876d8886c678bb50fd6a0364b30981639435a497cd552315acf7c55e72135d","path":"app/fire_result.py"},{"change":"modified","content_sha256":"8e2ebc13c9929c626caf7a17c992a7b05f317b9280e2800aaeb9908aa96bf564","path":"app/fire_scenario.py"},{"change":"modified","content_sha256":"2a22168010ad97a960dba58d8323ddf6f24bc6e6f8bb7213020e4f8a677ca317","path":"app/inference_profiles.py"},{"change":"added","content_sha256":"00bdbd5e86e38ea17e1f0bad03bf19584f455b841b0a6d2ed16de8576db8acfa","path":"app/multi_provider_results.py"},{"change":"modified","content_sha256":"b99720b5060397685eec0e4b32ec1ccd289102a789b5ebd84504a52ea88d69fa","path":"app/pose_config.py"},{"change":"added","content_sha256":"e6222125b01dc033e9794136e3ff885470d5b26b94efd3f64ddc405785d5754d","path":"app/provider_branch.py"},{"change":"added","content_sha256":"9c2a4bf36f43e92b771c90eadbf9682cddfdc0e8953488c754b7c0c460ee58bc","path":"app/provider_plan.py"},{"change":"modified","content_sha256":"d2c2b1b60ab198e5293965ca82412cdc11b5cb7c8b4c531f428243ec7bc44df6","path":"app/region_scenario.py"},{"change":"added","content_sha256":"59bdbdf0337f27efd122e5fc872205930a5e6fd1931bc273c679c066fb0c5fa3","path":"app/scenario_parameters.py"},{"change":"modified","content_sha256":"f7e07dd91eb27d9539a44d4d6b6df0624fcf921de2aa793ac0090da23dec91f3","path":"app/secure_control.py"},{"change":"added","content_sha256":"2266db32d3e5423c0be9957c7da5e753ed52cc6ea1ddaaf7453f9db2743239ca","path":"app/single_decode_pipeline.py"},{"change":"modified","content_sha256":"1124c31b183224b009fef3d6b97ae94bdf4e0614cf3780e2b5b800d0baa664d5","path":"app/stream_manager.py"},{"change":"modified","content_sha256":"83af7ece4b878264c0375e61d845f94e410a44540ce0f3160cd2a4b7e3c486ef","path":"app/stream_settings.py"},{"change":"modified","content_sha256":"9ca8c21645e43f19817a7021ccc9b0ee5484dd85c022ce5fe68881e9da29e209","path":"docker/Dockerfile"},{"change":"modified","content_sha256":"3fdce1dadd48553b5770ec7a42a082ec9bd4cb563dfa8bc4e70d3c001e66f91a","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"added","content_sha256":"5e6788fdc3ece625a6fabb571f5ffdcfa457309e33e4998ddad1397bfab15726","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/decision/20260923T111525+0900-decision-pr13-integration.md"},{"change":"added","content_sha256":"541fb5a3e467c837da68e983065eb8d56dd402d31d0dff2fb74e24716eec5dcd","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/runs/20260923T111525+0900-run-pr13-integration.md"},{"change":"added","content_sha256":"2220f874836cfa0ac4de749dcba198e13ac47fa77eb2f5c6c0171ca06743524a","path":"docs/scenarios/SCENARIO_PARAMETERS_INTERNAL.ko.md"},{"change":"added","content_sha256":"2fd0ba7f4128bd07625710e987d238a9456b2c2fc77de9c8d3dbb8cd51785a0d","path":"docs/scenarios/SCENARIO_TUNING_GUIDE.ko.md"},{"change":"modified","content_sha256":"df52ab41f828afea2eb662fca67cf261801ad41c16cf994693e123142ff15f57","path":"docs/scenarios/SCENARIO_WEB_READY.ko.md"},{"change":"added","content_sha256":"62e75f31b2aabea1bbcd2708bde8720d457cba1c2d6a45bee12024bb746d7e2e","path":"native/provider_branch/Makefile"},{"change":"added","content_sha256":"990cc353b3fe701acb572916a7a985e1064ee4129a14f6187940bcf1323401f6","path":"native/provider_branch/flight.cpp"},{"change":"modified","content_sha256":"3bc66e068682b697fa6f74dc10e107c55f568c99088189d63cd544972c2c513a","path":"tests/test_channel_process.py"},{"change":"modified","content_sha256":"6a53b2b04ab31281924cc3ef626c4acce0b2b08dcb24c210e7f446379a8c7c8c","path":"tests/test_crowd_admission.py"},{"change":"modified","content_sha256":"3199bcca5e2b5ffe07d1d364023aa4e1f5c4212e885b659558d2ec50bbefd610","path":"tests/test_fight_crowd_integration.py"},{"change":"modified","content_sha256":"6c33cf3322637f8baaf4732494e129585913458e5b032f79097fe3fc4a5ca937","path":"tests/test_fire_path.py"},{"change":"modified","content_sha256":"50836d68924d53e322024ab969a14b18802f1e092e0be15c1e32088a1b06f455","path":"tests/test_fire_scenario.py"},{"change":"modified","content_sha256":"c3be4561e60a11830ae65cf1ef98443f2b9cf5a7b03f4b3ab955b81843201b60","path":"tests/test_loitering_settings.py"},{"change":"added","content_sha256":"9eec5711136937b5b0ef19bdac8cc661845bffcb966f17e7602f466e4ebb73e5","path":"tests/test_pr13_boundaries.py"},{"change":"added","content_sha256":"56a0d300d09edc7e4a064e4eb6348acac1116ae1daa036d41b5cb91189d3169d","path":"tests/test_pr13_multi_provider.py"},{"change":"modified","content_sha256":"bf6da47e0cecd457fe007f73fc85823f88c9130536c2da1b5d3dbf077fda64c4","path":"tests/test_scenario_integration.py"},{"change":"modified","content_sha256":"fbbf4120a447d91480cd4b699dee31af80d6d73a27021d749aaafaa547156f35","path":"tests/test_secure_bridge.py"}],"plan_hash":"d9e215ea1183c2e54c927e77a1e02dc943255eb1465fa4603214b70d635c667a","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"0a0856418be61f7510f2c1c45957691aa6788bb4","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"0a0856418be61f7510f2c1c45957691aa6788bb4","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":["Python3.12 targeted 108+18 subtests; Web22; final45 (overlap); guide20 checks PASS","GPU Pose+Fire FAIL(native segmentation fault); three-provider NOT RUN; all25 stopped and child reaped; 4models READY","git diff --check and changed doc links PASS; ledger/non-target preserved; Gateway stopped/WSS disconnected; no readiness acceptance"]}
