{"commit":{"body":[{"label":"Why","text":"SDK Stop 실제 호출과 5초 이후 실제 worker 종료를 구분할 직접 관측이 필요했다."},{"label":"What","text":"bounded opt-in 진단, 동일 Pipeline 확인, 실제 handle 생존과 Stop 이후 counter 및 SDK 회귀를 추가했다."},{"label":"Impact","text":"기존 join5초와 sticky cleanup 오류를 유지한다. 새 image 실제 window에서 약39.35초 늦은 종료를 확인했지만 앱 후속 cleanup은 미완료다."},{"label":"Verify","text":"source 및 image 각60 tests PASS, GPU0 SDK Stop 경계 PASS, 실제 Start1 Stop1과60초 관측, Analytics 안전 중지와 restart 복원, 비대상 불변, 문서 링크 및 diff-check PASS."},{"label":"Rollback","text":"관측 source만 되돌릴 수 있다. 이전 image와 모델은 보존하며 실제 배포 복구는 별도 승인으로 수행한다. version1 자동 rollback은 하지 않는다."}],"title":"feat(pipeline): Stop 상관관측과 늦은 worker 종료 확인"},"created_at":"2026-09-11T02:15:32+00:00","expires_at":"2026-09-12T02:15:32+00:00","job_id":"ltb1021-contextra-stop60-20260911","paths":[{"change":"modified","content_sha256":"a588d4a92a2485f7ae2e2d9f432a90744be43f80c2d16e28f1ba5fc5a09cfe45","path":"app/start_diagnostics.py"},{"change":"modified","content_sha256":"6377e5abcb094ec9275a7a124cef47f97f5ee24e84c321bfb40991da0028553d","path":"app/stream_lifecycle.py"},{"change":"modified","content_sha256":"e0086237584c3ad438d4e2ffe72bfa0c12ed88065e85d6572ba6e1921b38b086","path":"app/multi_pipeline.py"},{"change":"modified","content_sha256":"beb340ab15d9dc2662471eb3e8fa81c5137ab8b388a80dc94bacaf0f429990a0","path":"app/stream_manager.py"},{"change":"added","content_sha256":"b42ee614481f2f4cdeb335a09184a7219087c86659ab7da8ebf5a5fa8abe24b4","path":"tests/test_stop_observation.py"},{"change":"added","content_sha256":"62ddeded982c983acefbd7c8ce0abf5da676278c2f65b72bd0a7044a5c7334ec","path":"tests/sdk_stop_observation_probe.py"},{"change":"modified","content_sha256":"17473dc2f845d45bbc9e3a6e3c46f1d7d086d75417354213d853d78373772a83","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"added","content_sha256":"f35f54be85492314e8772264dbb0a8bae4063f2d780aaa52de62e6f5f194da80","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/runs/20260911T111110+0900-run-stop60-late-worker-exit.md"}],"plan_hash":"5764d826b63680669f124999ed65b1bef67b92ee3379dce92b574488eb5fdc4e","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"769ed3a7aad18f06c2bb43e815d36fd630d43f48","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"769ed3a7aad18f06c2bb43e815d36fd630d43f48","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":["source/image 각60 tests PASS; SDK Stop 대상 일치; wait39.354초/worker39.355초 종료; sticky cleanup 미완료 보존; Analytics exited; Owner 링크 및 diff-check PASS"]}
