{"commit":{"body":[{"label":"Why","text":"부모 공통송신에서 발생한 결과교체를 줄이고 실시간경로를 보호하며 조건부 학습자료를 저장한다."},{"label":"What","text":"child직접Frame송신/부모상태fencing,공유압축cache/학습worker와인증SettingsCAS/owned용량정리,Event별ROI를추가했다."},{"label":"Impact","text":"score만통과한person합집합8개/900초/1280x720/200GB/여유100GB가기본이다.BOff/batch8/instance8/Event10초/Redis300/전송계약은유지한다.외부Webroute는추가하지않았다."},{"label":"Verify","text":"Python3.12표적50+13+19+6PASS중복과4subtest.복합1/8시험,24child exit0/unforced/reap,학습6READY동일PTS,36stopped/WSS복구.8채널Redis40.87->99.27FPS이나완료량하락및비대상시작시각변경으로전체성능개선은미확정."},{"label":"Rollback","text":"이전image와전체privateCompose보존.정상Stop/reap뒤명시원복하며training자료나Event원장/원본은삭제하지않는다.이미자동정리된학습자료는복구불가다.아이서티/전체확장/Web수용은별도승인."}],"title":"feat(runtime): provider 송신 독립화와 조건부 학습 스냅샷 추가"},"created_at":"2026-09-26T15:51:25+00:00","expires_at":"2026-09-27T15:51:25+00:00","job_id":"20260927-contextra-sender-training-r01","paths":[{"change":"modified","content_sha256":"58c03d2fd23fc219e21d411c235265f3c1ecdfe8c317783c944782c8a4a0f49e","path":"app/artifact_media.py"},{"change":"modified","content_sha256":"9607855ac46d1b2f3a40082cdd1d779b4d679a62aa2965dc29d904d03e4401bd","path":"app/channel_child.py"},{"change":"modified","content_sha256":"d997b6f5b8c4f5ee7d8c9dcdcd2591b3972ac0a6b98c25cb0b3894e63bbefc2b","path":"app/event_artifact_service.py"},{"change":"modified","content_sha256":"235e48e6f331152b23f3402ef83dc73a32e36fcaef097895067c626c13239a23","path":"app/event_capture.py"},{"change":"modified","content_sha256":"c81d9e8b43bcde05baf674e446c056390d12c11406b7263e4bae3bfa6bdcb349","path":"app/main.py"},{"change":"modified","content_sha256":"cb3b7e7cb036a4809887b93a8cb6aa5417969f6cec4b58a22f10ee5ff15a2584","path":"app/process_metadata.py"},{"change":"modified","content_sha256":"f42ed38e1f828d70779b92bd537efdb3cc71da6a2a94cb74be98c8faf6517e80","path":"app/provider_process_group.py"},{"change":"modified","content_sha256":"3e31f43f4aa4a04aea893db3269063335b661df35ea8f20ba5ce3d13a1dfb89d","path":"app/secure_control.py"},{"change":"added","content_sha256":"f27065345426cc096b095f5dc4e1f514a312cc042f6d71004ca75c6eacf1fa91","path":"app/training_capture.py"},{"change":"added","content_sha256":"e6a5454f89dcaf7de09b6662375514ef71e0c71732cc15888249bfe728a1924b","path":"app/training_media.py"},{"change":"added","content_sha256":"aaa405ee467c32938527d7dd5ebb341a707895a8893f1fff6a282a20a9ebf0cc","path":"app/training_service.py"},{"change":"added","content_sha256":"061d8fa8b0b6dcf1a9440c94a7dbce5adf696d2c01b9ae1e9eb80da3e815ac49","path":"app/training_store.py"},{"change":"modified","content_sha256":"8349d12af2b53b04465176dbc99f413f6a9ccb541a6843e90dd4d15ba7723e77","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"added","content_sha256":"e69c0c6289656ad637bd60d4ccb227b7bcb4e44bae41d06c2602cb7e01142d5c","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/analysis/20260927T004500+0900-analysis-sender-training.md"},{"change":"added","content_sha256":"143ebe0de72e3025ff8c1710fe6f9976d3929e90a49e3ebf82bd5c72dddab5ff","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/decision/20260927T003655+0900-decision-sender-training.md"},{"change":"added","content_sha256":"92c70dcc7179e43164c0de778dd587cb7a6771769163755067e4b00cabe7b4dc","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/validation/20260927T004500+0900-validation-sender-training.md"},{"change":"modified","content_sha256":"51033bea97d5e57844445be0ac1ec82d944e5577d43b2c674052f082a1440399","path":"docs/scenarios/PROVIDER_PROCESS_RUNTIME.ko.md"},{"change":"added","content_sha256":"9bd72693a9864a56cf3acb8861fd17684e40977c164491a54a41663fc2ab492e","path":"docs/scenarios/TRAINING_SNAPSHOTS.ko.md"},{"change":"modified","content_sha256":"5410d5149a18134657de629ace720cef84932e23b052db0b1ca82fdc1d3558c9","path":"tests/test_artifact_media_runtime.py"},{"change":"modified","content_sha256":"89805f7739bf32fe1e3d285b2974549edab46f4ac8a8967ba59ed64356ad6d0b","path":"tests/test_process_metadata.py"},{"change":"added","content_sha256":"358684d873329003f4d25cff87592e71889350f28b6e9ced5e9dda71b33f5e8a","path":"tests/test_training.py"}],"plan_hash":"4d54d06bcaca2991f368023dc4e3e9600ae79eceb4d9ae52600dea22a64d3493","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"10ddca4635378fadb2effa70f4f3faa2f906ae4e","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"10ddca4635378fadb2effa70f4f3faa2f906ae4e","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":["Targeted Python3.12 50/13/19/6 PASS (overlap); 4 subtests; isolated Redis and codec fixture","Composite1/8 measured; 6 exact-PTS training bundles; 24 children reaped; final model/config/image/WSS verified"]}
