KB-7848

04 - Transfer / Deploy Execution Log (O6B)

4 min read Revision 1
dot-iu-cutterv0.6O6BG4deploytransferside-by-side

04 - Transfer / Deploy Execution Log

O6B · doc 4 of 8 · 2026-05-21 · Gate G4 — transfer + deploy side-by-side. This is an EXECUTION LOG — the host was mutated (one new dir created).

1. Transfer

step:        scp /Users/nmhuyen/iu-cutter-build/o6b-artifact/iu-cutter-v0.6-6625f76.tar.gz
                 contabo:/tmp/iu-cutter-v0.6-6625f76.tar.gz
result:      OK
size_on_contabo: 176544 bytes
integrity:   sha256 verified identical end-to-end
  local : b2c11e505fa2a28500317911da38dbeb93c8ccbda381ac8ff734222ce3557b6b
  remote: b2c11e505fa2a28500317911da38dbeb93c8ccbda381ac8ff734222ce3557b6b

2. Extract + forbidden-file scan (staging)

extract:        tar -xzf /tmp/iu-cutter-v0.6-6625f76.tar.gz -C /tmp/o6b-stage
staged_tree:    /tmp/o6b-stage/iu-cutter-v0.6/
staged_files:   80
forbidden_scan: .env* / *.pyc / __pycache__ / .git / *.pem / *.key -> CLEAN

3. Promote side-by-side

deploy_utc:           2026-05-21T03:55:23Z
target_pre_exists:    NO (re-confirmed immediately before mv)
promote:              mv /tmp/o6b-stage/iu-cutter-v0.6
                         -> /opt/incomex/dot/iu-cutter-v0.6
result:               /opt/incomex/dot/iu-cutter-v0.6  created (drwxrwxr-x)

4. DEPLOY-MANIFEST.txt (written inside the target dir)

dot-iu-cutter v0.6 side-by-side deployment (macro O6B)
source_repo_HEAD   : 6625f768841dd80a9d524fb722889731edc53c07 (6625f76)
source_branch      : main == feature/constitution-snapshot-mark-dryrun
artifact           : iu-cutter-v0.6-6625f76.tar.gz
artifact_sha256    : b2c11e505fa2a28500317911da38dbeb93c8ccbda381ac8ff734222ce3557b6b
deployed_utc       : 2026-05-21T03:55:23Z
deployed_by        : O6B devhost->Contabo deploy macro (from developer Mac)
deploy_method      : git archive of HEAD 6625f76 -> scp -> tar extract -> mv promote
deploy_target      : /opt/incomex/dot/iu-cutter-v0.6 (side-by-side)
v0.4_skeleton      : /opt/incomex/dot/iu-cutter -- left intact, untouched
execution_enabled  : False (kill-switch OFF -- cutter_agent/orchestrator/__init__.py)
service_state      : none installed; no systemd/cron/docker service; no restart
rollback           : rm -rf /opt/incomex/dot/iu-cutter-v0.6

5. v0.4 untouched — proven by anchor equality

v0.4_tree_sha256_before:  be65de80f6632edbe51f13c59975376c936b2ac12cb8e86577a4c15c0ea173b3
v0.4_tree_sha256_after:   be65de80f6632edbe51f13c59975376c936b2ac12cb8e86577a4c15c0ea173b3
verdict:                  IDENTICAL — v0.4 skeleton 100% untouched

6. Host-mutation ledger (exactly what changed)

created:
  - /opt/incomex/dot/iu-cutter-v0.6/        (new dir, 80 files + DEPLOY-MANIFEST.txt)
  - /tmp/iu-cutter-v0.6-6625f76.tar.gz      (artifact, kept for audit)
removed:
  - /tmp/o6b-stage/                          (staging dir, cleaned post-promote)
NOT changed:
  - /opt/incomex/dot/iu-cutter   (v0.4)      — untouched (anchor proof above)
  - /opt/incomex/dot git repo                — iu-cutter-v0.6 left UNTRACKED
                                               (not committed -> rollback is pure rm -rf)
  - no service, no .env, no DB, no restart

7. Result

G4_verdict:   PASS — v0.6 deployed side-by-side, v0.4 preserved
deploy_target: /opt/incomex/dot/iu-cutter-v0.6
proceed_to:   G5 post-deploy checks
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-o6b-devhost-deploy-postdeploy-smoke/04-transfer-deploy-execution-log-2026-05-21.md