# ct field fixes implementation checkpoint

- Closeout 완료: 운영 가이드/Owner/validation 갱신, Report Inbox receipt 기록, Portfolio MEDIUM 후보와 exact24파일 Git Closeout batch 준비. 실제 add/commit/push는 실행하지 않았다. 수동시험은 이전 manual-acceptance checkpoint에서 status/version status부터 재개한다. 아래 단계별 과거 메모보다 이 완료 상태를 우선한다.
- 사용자 추가 응답: Developer: Restart Extension Host 실행 완료, 화면 정상. Human Visual Evidence로 수용. 기존 자동 PID/RSS 확인과 구분하며 IDE 전체·장시간·재부팅 시험으로 확대하지 않는다.
- 2026-09-30 15:39 KST completion update: source/tool installation completed,72 targeted tests PASS,10 installed commands/menu checks PASS,18 installed source hashes match. Pending/active/profile/Netplan/containers unchanged and both Runtime projects stopped. source-only manifest66files PASS. Docs/Report/Git Closeout are the remaining closeout actions.
- Remote VSCode settings applied persistently under si Machine/settings.json. User-approved extensionHost19084 exited with SIGTERM and a new host73511 was observed at~574MB RSS instead of~16.32GB. No full VSCode/SSH/terminal stop. Screenshot/UI acceptance and reboot remain deferred. Selected USB unmount feature added by latest user request; no actual unmount executed, backup/training mounts intact.
- Current manual starting point: ct config status / ct config version status. Preserve legacy failed pending, then user-confirmed cancel -> version NUMBER -> prepare -> connect. No new login or prepare performed in this task. No source/Runtime rollback or sudo-file deletion.
- Profile ltb1021 / task/runtime-lifecycle-refactor / baseline f5b8b978e08311e8c5410e62320851ed5fb28c7e. Worktree was clean before this task; all current changes are this task's edits.
- Approved: ct version/diagnostics/recovery, VSCode root-safe settings and selective resource recovery, USB mount/unmount, language/paths/next-step UX, bounded stop/ARP diagnostics. User additionally approved extensionHost restart after saving files and requested Python/Pylance coverage.
- Preserve test+ICERTI Contextra stopped, company DHCP/SSH1023, existing failed pending stage, credentials/CA/model/image/data. No actual login/CSR issuance/WSS/Redis/camera/reboot/IP switch. Web101 stays read-only. Preserve SSH key and ALL temporary sudo files until user directs removal.
- Implemented source: new connection_versions, field_diagnostics/resources/ui/usb, maintenance_process, vscode_safety. Dispatcher/field modules/enrollment safe error parser integrated. USB unmount cannot target backup/training/system disks or nested mounts, no force/lazy.
- Existing+new maintenance tests:70 passed, plus2 newly added targeted tests passed. No production install yet. Remaining: final source review/tests, source manifest, bundle CAS installation, VSCode settings + approved extensionHost-only restart, installed readback/invariants, Owner/Report/Git Closeout.
- VSCode evidence: npm activation12:38:41, old runaway rg started12:38:45, installed npm code enumerates workspace **/package.json without result cap; root workspace / enables virtual filesystem traversal. This is a strong attribution, not a captured caller stack. Cline was not disabled. Python/Pylance installed by user mid-task; local package confirms light/openFilesOnly/indexing settings.
- Proposed persistent remote settings: npm.autoDetect off, search.followSymlinks false, search/watch exclusions, Git openEditors only, Pylance light/openFilesOnly/indexing false/exclude **, Python env search paths empty. Root Explorer access remains. Parent memory last observed~16.3GB. User approved saved-file extensionHost restart, not full VSCode/SSH/terminal restart.
- Gateway: no live test allowed. ct stop now surfaces forced137/OOM after completing other cleanup instead of claiming graceful PASS. Actual root cause remains WSS shutdown-wait candidate; no runtime template/image modification.
- Sources/pending details and sudo SSH helper: prior /tmp/codex/ltb1021/2026-09-30_icerti-manual-acceptance_r01/resume-private.ko.md. Helper /tmp/codex/ltb1021/2026-09-30_icerti-maintenance-ab_r01/remote.py. Do not reuse old install_bundle.py unchanged; it targets earlier baseline. New bundle must use f5b8b978 source/actual expected hashes.
