{"commit":{"body":[{"label":"Why","text":"현장 연결 버전 충돌과 원격 IDE 과도한 탐색의 안전한 복구 필요"},{"label":"What","text":"수동 버전 및 실패 진단, USB 해제, 언어 선택, VSCode/Python 탐색 보호 추가"},{"label":"Impact","text":"설치 도구와 si 설정 반영; pending/auth 보존; 실제 로그인과 Runtime 기동 미실행"},{"label":"Verify","text":"72 유지보수 및 4 manifest 테스트 PASS; 설치 18파일 hash/10CLI 검사 PASS; 사용자 화면 정상"},{"label":"Rollback","text":"설치 전 파일별 백업과 hash로 도구 복구; ct vscode restore 사용; DB/auth 일괄 rollback 제외"}],"title":"fix(field-maintenance): 연결 버전 복구와 원격 작업 자원 보호 보완"},"created_at":"2026-09-30T06:45:51+00:00","expires_at":"2026-10-01T06:45:51+00:00","job_id":"ltb1021-field-recovery-tools-20260930","paths":[{"change":"modified","content_sha256":"834be9937b392fd20851128cd19f47cb2939c111890213d608e3a704986aca3a","path":"docs/deployment/ICERTI_OFFLINE_MAINTENANCE.ko.md"},{"change":"modified","content_sha256":"8e2037002a01390ff06090bf35113ed922eaa51b0fec7ac4ee29433ce012003a","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"modified","content_sha256":"2783f8de40bf0fdc8f7b84375fb655762df7367a59ded3ac70fbfa035c1ca4c6","path":"tools/icerti_offline/install_field.py"},{"change":"modified","content_sha256":"c52e5715804ebdbfefd4f9ea5b155d1e6e30520081a556a29ce1fef946d0686a","path":"tools/icerti_offline/maintenance/auth_control.py"},{"change":"modified","content_sha256":"bedda78ac83351ef9dbc41837836ac6eafb144aae1644c450a4ca6d1ba0d0ac9","path":"tools/icerti_offline/maintenance/connection.py"},{"change":"modified","content_sha256":"d2755a78b8d5e86e62b056bdb3c2bff07e5b28b854f6664f69418494b94a9470","path":"tools/icerti_offline/maintenance/ct.py"},{"change":"modified","content_sha256":"b2acaf1b20e42b74b6a1dbbf724016856c3b98988d63c9b3293fb401b5b810eb","path":"tools/icerti_offline/maintenance/field_ca.py"},{"change":"modified","content_sha256":"fc2c9a03fe8002d64ad4fda8564bcabb177d37d053d7096bff78faf2b9948629","path":"tools/icerti_offline/maintenance/field_cli.py"},{"change":"modified","content_sha256":"cf60e1fdf564ff785a86d95ae80c413bc091bffc791c11152114f1784ed53de6","path":"tools/icerti_offline/maintenance/field_network.py"},{"change":"modified","content_sha256":"9c0a4e8f4110487c3365d87d934e5078988f18edc14e1200b08e528d9dfeca0f","path":"tools/icerti_offline/maintenance/field_profiles.py"},{"change":"modified","content_sha256":"ae51989e9b355e1fb5071b07d44c0a9f84ad934afc790f0cf00ae05ca554efe9","path":"tools/icerti_offline/maintenance/field_runtime.py"},{"change":"modified","content_sha256":"99c9d62ccc0c0dff68a43ec8d7aa38c0c07e9961af28ac71ea3771468b24fd4f","path":"tools/icerti_offline/maintenance/network_prepare.py"},{"change":"modified","content_sha256":"e3c0f8fb028631fea915d548bed4e2abcb7b2445339dce640c4bbc40009d9ddc","path":"tools/icerti_offline/maintenance/test_field.py"},{"change":"modified","content_sha256":"fa476e629ba6bda391f00ac626678bce8157d2f901fca81fe0fcb45b636302ee","path":"tools/icerti_offline/source-manifest.json"},{"change":"modified","content_sha256":"6be2927b3258e8414a327d7dd84341541e47f08a637ddaf8e997890d3020a1c7","path":"tools/secure_bridge_enroll.py"},{"change":"added","content_sha256":"9f053d6190d042f9b435c0f6698495e9c802aac3175f24494642e5780063db66","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/validation/20260930T153901+0900-validation-field-recovery-tools.md"},{"change":"added","content_sha256":"c8bb2df181e53e4ae9a2c94d506b68c29f9f3890d9bbd6efb6ff20b5e3673a6c","path":"tools/icerti_offline/maintenance/connection_versions.py"},{"change":"added","content_sha256":"0d1c70888dc2cd7bac51e902d917ab79b013c66b18fa28938fffeb9ca4e94102","path":"tools/icerti_offline/maintenance/field_diagnostics.py"},{"change":"added","content_sha256":"1950beff9bc592aa6a73b72ed344878f87176680a32d0fe472e8f7e85e72b7b7","path":"tools/icerti_offline/maintenance/field_resources.py"},{"change":"added","content_sha256":"352a7a1eb52eb10ac4a4517b7c7af4be8aa386498fbf21a5039342aaff406b16","path":"tools/icerti_offline/maintenance/field_ui.py"},{"change":"added","content_sha256":"a336521433ce27265175dac42d0a1dc5e086905ce0796c2dda3f3e2724c6cd3c","path":"tools/icerti_offline/maintenance/field_usb.py"},{"change":"added","content_sha256":"9efdbdfdbdfe0be5a15a0f62b438c40c3238824d542b1d24d063587a338ee58c","path":"tools/icerti_offline/maintenance/maintenance_process.py"},{"change":"added","content_sha256":"7a4891be6de6f5dc2d4154dcd44a2bb538eb06fba768c8023c94211c9892f148","path":"tools/icerti_offline/maintenance/test_field_recovery.py"},{"change":"added","content_sha256":"ce53ea82b8e0efd090acbcbe3144460e74551728713c227123a9f1a5c3f86c4e","path":"tools/icerti_offline/maintenance/vscode_safety.py"}],"plan_hash":"c0affd216a779190009ba3632ab80ceea3aea5dd3a83af74a749ee88e2366e3a","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"f5b8b978e08311e8c5410e62320851ed5fb28c7e","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"f5b8b978e08311e8c5410e62320851ed5fb28c7e","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":["72+4 tests PASS; 18 installed hashes and 10 CLI checks PASS; actual integration deferred"]}
