{"commit":{"body":[{"label":"Why","text":"현장 주소와 계정 변경을 직접 편집하더라도 유지보수 도구 전체가 지문 불일치로 막히지 않아야 한다."},{"label":"What","text":"환경별 설정 원본과 계정 및 CA 분리, 명시적 준비와 연결 및 적용, CAS 재개와 복구, 반출 기록, 네트워크 대기60초를 구현하고 서버 도구에 반영했다."},{"label":"Impact","text":"현재 DHCP와 SSH1023, 기존 Runtime 이미지와 인증 및 정지 상태를 유지한다. 실제 네트워크 전환과 로그인 및 카메라 조작은 수행하지 않았다."},{"label":"Verify","text":"Python3.12 표적52건 및 후속2건 통과, source58파일 지문 검증, 서버 설치10파일 일치, 메뉴와 운영자 접근권한 및 wait-online60초 확인, diff-check 통과."},{"label":"Rollback","text":"서버 도구의 root 전용 설치 백업과 개별 변경 기록을 확인해 필요한 파일만 복구한다. 실제 설정 적용 후에는 ct config restore로 로컬 설정만 복구하며 원격 세션과 자료는 일괄 복구하지 않는다."}],"title":"feat(field-maintenance): 환경 프로필과 긴급 설정 수용 및 복구 도구 추가"},"created_at":"2026-09-30T02:51:49+00:00","expires_at":"2026-10-01T02:51:49+00:00","job_id":"ltb1021-field-maintenance-ab-20260930","paths":[{"change":"modified","content_sha256":"eb4a85da4fb4d786da8e4a70a8ec3babb2733caa8a124e3f7d0c43ad8b1110d3","path":"docs/deployment/ICERTI_OFFLINE_MAINTENANCE.ko.md"},{"change":"modified","content_sha256":"2cefba074e01300d56a01fae3eec5edb2213cb0e9c29093525060c970a155498","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"added","content_sha256":"63f811a52bce9cb3bb2a752bae9e328f26a3a42f134f520d38b213f9a87cad04","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/validation/20260930T114810+0900-validation-field-maintenance-ab.md"},{"change":"added","content_sha256":"c3b823de56f53c57046049cfbb5727bd237d7f9640543aab6582f0e986ac5350","path":"tools/icerti_offline/install_field.py"},{"change":"modified","content_sha256":"e594a24843fd65262fec84d8dd913a38f60d82a7c7d4f4d543ba36c50d7c9c59","path":"tools/icerti_offline/maintenance/apply_source.py"},{"change":"modified","content_sha256":"cde7e89a5253f1034f51a71ad43dc82e0a9998f14da056566bb927ef1d343150","path":"tools/icerti_offline/maintenance/ct.py"},{"change":"added","content_sha256":"80b3be5e373dc8286f384dba99139f4beb89ebae85678d4225ff6775da365012","path":"tools/icerti_offline/maintenance/field_ca.py"},{"change":"added","content_sha256":"8e31474659ce546b207004aa5171436702ab45d22491a236b487cad8f1f64c0a","path":"tools/icerti_offline/maintenance/field_cli.py"},{"change":"added","content_sha256":"4682a08034b476edc810bfd6d8ba024f226c5c21bb89d3fef53d029adc7ded45","path":"tools/icerti_offline/maintenance/field_network.py"},{"change":"added","content_sha256":"dfd709c60c9fe6112cbc3ab5cf7ab458abf40e482f410e4670f8ad5444556e20","path":"tools/icerti_offline/maintenance/field_profiles.py"},{"change":"added","content_sha256":"ebb5ea5407104bfa599fca7304f02ed6999152c063f471b83da0bfb0f5145fdc","path":"tools/icerti_offline/maintenance/field_runtime.py"},{"change":"modified","content_sha256":"367424221c035b0f0915cb11bfd12cbd8aeee7b881c226debaf5b0b86652848f","path":"tools/icerti_offline/maintenance/maintenance_guard.py"},{"change":"modified","content_sha256":"6483706f4121c77093d87481989b1000f46ad7746568d4a08f93f1ffdbd7c6b6","path":"tools/icerti_offline/maintenance/network_apply.py"},{"change":"modified","content_sha256":"7a44189974d12e60bbaa8fdf219ccb6443706ea16d5e9ab8d1301eb6a281b6bb","path":"tools/icerti_offline/maintenance/network_prepare.py"},{"change":"added","content_sha256":"b9a9032fc791dcddd4607800781f6ebf59cd1e40075f21dade3061ea1fd61b4a","path":"tools/icerti_offline/maintenance/test_field.py"},{"change":"modified","content_sha256":"3a5027918d8a6e42c6e698514e8a2f759b8571390e961e485e84d52e75ff4aed","path":"tools/icerti_offline/source-manifest.json"},{"change":"modified","content_sha256":"809f27ed6d97534f31d292f4a1a0ba98ad51beb19506930a7e9cefb2ce8faffb","path":"tools/icerti_offline/test_verify_sources.py"}],"plan_hash":"7953a8bdd020b87f5873e5712cc1283e1f3a188fd88022d03979dfcee3ddb91e","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"bbfbd13d5e8b723460882fe69fe415aec30104d1","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"bbfbd13d5e8b723460882fe69fe415aec30104d1","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":["표적54건 PASS; source58파일 PASS; 서버 메뉴 및 설치 지문 PASS; 실연동과 재부팅 미실행; active/site/Compose/unit 지문 보존"]}
