{"commit":{"body":[{"label":"Why","text":"첫 현장 배포 전에 실패 재개와 모델/secret 경계를 실제 환경에 맞춘다."},{"label":"What","text":"후보 소스를 통합하고 transaction 소유권, 모델 repository 일치, 출력/진단, Compose 재해석, LAN 옵션과 tooling probe를 보완했다."},{"label":"Impact","text":"현장과 test Runtime은 변경하지 않았다. FULL export는 공간 위험과 사용자 선택으로 보류하고 도구/원본/private 준비를 구분했다."},{"label":"Verify","text":"Python3.12 표적21개, 실제 Compose config 재해석, 세 ONNX CPU 계약, C++ 컴파일/import 및 source148파일 hash/경로 PASS. 대상 GPU/설치/연동은 미실행."},{"label":"Rollback","text":"현재 Runtime 반영이 없어 자동 rollback은 수행하지 않았다. 기존 source baseline과 부분 산출물/원장을 보존한다."}],"title":"feat(deployment): 배포 도구 통합과 현장 사전 준비 보완"},"created_at":"2026-09-19T07:25:02+00:00","expires_at":"2026-09-20T07:25:02+00:00","job_id":"20260919-contextra-deployment-kit-r01","paths":[{"change":"added","content_sha256":"def56b37d35f2b22cf248adb2336184746bab00c144139fe152ea316f71266de","path":"deploy/configs/host-packages.lock.example"},{"change":"added","content_sha256":"e3e1219cfbae4ef044d0183e83448bb76d5ba5ed17814a0933d0ba71dc3c049e","path":"deploy/configs/model-inputs.example"},{"change":"added","content_sha256":"19beeb94e886a688c09e28c2a95c99868942de35e87748a86a2015176dc50312","path":"deploy/configs/release-full.spec.example"},{"change":"modified","content_sha256":"a2b21f20fb177c9397dc4cd68b0e65f0651bcf13054077af9f7e1e6c8932b2d3","path":"deploy/secure-bridge.compose.yml"},{"change":"modified","content_sha256":"ce04f3046a020abf7e9d3b4507a0252e79c69479079d1064201d9b74aeeaaf54","path":"deploy/secure-bridge.env.example"},{"change":"added","content_sha256":"f0c6cfaf67e8f7ce0db1467962336e12b26aa0aa5bab92f0040f0d5aecbe8551","path":"deployctl"},{"change":"added","content_sha256":"9eb33db3b821eec530a22a63e6c4f4e5ff1f323a92b6e0401595fc5e9fa35d05","path":"deployment_kit/ModelTooling.Dockerfile"},{"change":"added","content_sha256":"eb82bb08361569955f5d3d856b2706793db6fb0f40cd4ff2ef393a5b6d207de8","path":"deployment_kit/__init__.py"},{"change":"added","content_sha256":"0896e89b610d726646c300163fd0ac48a0dc3eafb75506b997c38d7ffff77776","path":"deployment_kit/bundle.py"},{"change":"added","content_sha256":"48881ec4fd6f303080f327c32a8dc29841f61f9f1590b1d71f1f60528666beaf","path":"deployment_kit/cli.py"},{"change":"added","content_sha256":"8595e4cf60cad52595ca7f30288d8bd404e24bff4053098bac0d633537d3071f","path":"deployment_kit/compose_snapshot.py"},{"change":"added","content_sha256":"995467ad96e88d85a3da56a2240744248245214fc20196df5ca4fd13f39f048d","path":"deployment_kit/core.py"},{"change":"added","content_sha256":"5ee37178524c6b590692ca81a944119219921b8cedb9db4fa38fc485054d5a5f","path":"deployment_kit/diagnostics.py"},{"change":"added","content_sha256":"d6dca6ddc32dc031d4d6be094786b6778f469bf97dc1a05b68cea67aa1f0b62c","path":"deployment_kit/engine_contract.cpp"},{"change":"added","content_sha256":"2bcf7a7debfaecae93df6315dd614689226520129b169d2e8e736cbe7efbce83","path":"deployment_kit/host.py"},{"change":"added","content_sha256":"e2b8b102298216296755602ecdfdf5007651205ac96d37305a8225c5fca20aaa","path":"deployment_kit/model_probe.py"},{"change":"added","content_sha256":"05dde1c4c4feb2bac0f69c92a88610dab13aa2f076f3884cc6a87895da327626","path":"deployment_kit/models.py"},{"change":"added","content_sha256":"1ad969929b68219b68cce79265b26e425885f11bd598156b0e1c4e42ae8c5252","path":"deployment_kit/release.py"},{"change":"added","content_sha256":"50bb1cdeaba0ad59da2f14fbebe41f8a1407156721dab0f32836d9df9b056c18","path":"deployment_kit/site.py"},{"change":"added","content_sha256":"b7f692a5c752ebdea5863380ba6a374cc9020a1b0864473a1490d00712345d1f","path":"deployment_kit/storage.py"},{"change":"modified","content_sha256":"56c2bc396042ff4bfbc735828235571c476bfb365bea39f170e41199bfcfa7d4","path":"docker/secure-gateway-entrypoint.sh"},{"change":"added","content_sha256":"37e878e9b1c44083b8be82e85a956a8c5f750ac29c48d193bfad5af9b850db12","path":"docs/deployment-review/HANDOFF.ko.md"},{"change":"added","content_sha256":"df8f7e49f058e9ab756fa929b490b64eff073f56767c137c8e1faef64b1fced5","path":"docs/deployment-review/PROGRESS.ko.md"},{"change":"added","content_sha256":"d819641a28083018d4251117bfaee0fd97d501ceb1fa5b6ff1f300d60b1bc02c","path":"docs/deployment-review/VERIFICATION.ko.md"},{"change":"added","content_sha256":"6e09c8dfd78391cd2d8f635df9682cff290a48372f11c6dd2eb264270ddbc98c","path":"docs/deployment/ARCHITECTURE.ko.md"},{"change":"added","content_sha256":"5355023267eee5b5a038d5a170bc12085e55d9524eeec8fc441338ddd51e94c4","path":"docs/deployment/ERROR_CATALOG.ko.md"},{"change":"added","content_sha256":"e0553ffc2edc4592d9256e80a8993f79aa5e3d54af5efa6b8cdfa4a9bcb9e9b7","path":"docs/deployment/FIRST_SITE.ko.md"},{"change":"added","content_sha256":"9238075bd7827f24e39b449893a19619d781c6125cc7bb67f481e7db7c137c5e","path":"docs/deployment/HOST_BOOTSTRAP.ko.md"},{"change":"added","content_sha256":"f670acaa3d1ef4f228a9f9b0401b57a829014c8f6538881bbf280e7c5f9f241a","path":"docs/deployment/LOCAL_PREPARATION.ko.md"},{"change":"added","content_sha256":"832cde7f1a65b42e08194f3ac995cafa8d83a371a7fab13429bcbea58ac20543","path":"docs/deployment/MODEL_TOOLING.ko.md"},{"change":"added","content_sha256":"88bb04e7a960fd766754add5d29b1e9cdb63f4ad1ca84301e3749e8dd11eef5f","path":"docs/deployment/OFFLINE_UPDATE.ko.md"},{"change":"added","content_sha256":"90a5a4fdab761ff79fa6f08ec57e4244b6def8223779b9e2e9cb9de4521ba21a","path":"docs/deployment/QUICK_START.ko.md"},{"change":"added","content_sha256":"5ad1e57346d326e55b1c80e8d531b952547b7571c28121a72fe7f4509d1b6bf6","path":"docs/deployment/README.ko.md"},{"change":"added","content_sha256":"3167b723fca78cfdff416ee6b83eeb935ae6e3c5f83e0b719844d6ded2bcd2f1","path":"docs/deployment/RELEASE_FORMAT.ko.md"},{"change":"added","content_sha256":"6ad9543893d8cb6a99238be1e9308201e2f05cf997310218adc5f4ff1c9f31fd","path":"docs/deployment/ROLLBACK.ko.md"},{"change":"added","content_sha256":"20231f4f657674d7dedd40bc3a70dd39594ea7a9693b6174d23961814a857b0d","path":"docs/deployment/STORAGE.ko.md"},{"change":"added","content_sha256":"3ac772bbde5a901c882e83fa23b3194096ca8cc6724339be57b6e18eb020fbfe","path":"docs/deployment/TROUBLESHOOTING.ko.md"},{"change":"modified","content_sha256":"7b3bc2ab7146696c8aeda3b1735102e304cb25ae0804102e8e7ea864fbe2f46f","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"added","content_sha256":"f136a906a4ea0105a5ff8a334a379fb8a50f7803453ab864d04c7c4f991e7d29","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/runs/20260919T152500+0900-run-deployment-kit-preparation.md"},{"change":"added","content_sha256":"9ee6ec1bd28d84434e1c6dc32efc69819c3aa20620ebd0426579a26d41652ea6","path":"tests/deployment/helpers.py"},{"change":"added","content_sha256":"07d87756bb2fb97461396fefea335e5de5947e533c50dac28fed91dc2a43ed81","path":"tests/deployment/test_boundaries.py"},{"change":"added","content_sha256":"e299e80fd460591d17e3a084f9592f6c5f36dc66d609dee43cd1876b548dae64","path":"tests/deployment/test_bundle.py"},{"change":"added","content_sha256":"da70876f7f1937b608971344d8d3933818fc9bc9801accb7f253a427a168032c","path":"tests/deployment/test_docs.py"},{"change":"added","content_sha256":"94d1727e94184ac58ad183ad2e2b3d78a4bbb9d25a0b4fd2b8e505f0308b5aa7","path":"tests/deployment/test_integration_fixes.py"},{"change":"added","content_sha256":"a18c7fb641726519f2aad77072960d47c4a90c4bfd7efaaa2cda9796dcdd7444","path":"tests/deployment/test_models.py"},{"change":"added","content_sha256":"9c8831f378613a46f23a14399796e6856047ae5cf186fffbfe579ce7c4b5f275","path":"tests/deployment/test_release.py"},{"change":"added","content_sha256":"383f24e090c8dbefda65841e53d2366a459cf175da8bcbecfb38e5a2ef797c26","path":"tests/deployment/test_safety.py"},{"change":"modified","content_sha256":"d5fefc66faa2a12e404fade36092b31f8a94feea50a3587f1f3470da75a5262f","path":"tests/test_secure_bridge_tls_gateway.py"}],"plan_hash":"0252311777e9bbecd263db2dcbb4b656a409d429987180936d9630d990999aa4","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"80ad438fc80b4793760c7365f4a02d29dfea2715","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"80ad438fc80b4793760c7365f4a02d29dfea2715","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":["21 targeted tests PASS; real Compose config roundtrip with explicit fixtures PASS; 3 ONNX CPU contracts PASS","Tooling C++ compilation/import and source archive 148 file hashes PASS; target GPU/runtime/install NOT RUN","Existing container image/start/PID unchanged; FULL export USER_DEFERRED; git diff --check and Markdown links PASS"]}
