KB-6F9D

O8D Mac patch / deploy / multi-gap proof — 07-vps-deploy-log

3 min read Revision 1
dieu44iu-cutterv0.6o8dmac-patchdeploycontabomulti-gap-proof

O8D Report 07 — VPS deploy log (G6)

  • macro: v0.6-o8d-mac-patch-deploy-multigap-proof
  • date_utc: 2026-05-21 · host: Contabo vmi3080463
  • gate covered: G6 deploy to VPS
  • result: G6 PASS

1. Transfer + sha-verify

transferred_to:    /root/o8d-deploy/  (iu-cutter-v0.6-cad989a.tar.gz + manifest)
artifact_sha256:   44cb586a020c893ae01f1d05a98a87172c791681c7cc56a9f4ad3fba422e5d8e
verify_on_vps:     MATCH — sha256 identical to the Mac-built artifact

2. Staging extraction + manifest verify

extracted_to:      /root/o8d-deploy/staging/iu-cutter-v0.6/
manifest_added:    DEPLOY-MANIFEST.txt  (from DEPLOY-MANIFEST-cad989a.txt)
staged_file_count: 84  (83 tracked + DEPLOY-MANIFEST.txt)
manifest_verify:   83 / 83 OK   (sha256sum -c)
staged_killswitch: __execution_enabled__ = False
staged_py_compile: OK (orchestrator package)

3. Backup + atomic promote

deploy_ts:         20260521T062850Z
backup:            mv /opt/incomex/dot/iu-cutter-v0.6
                   -> /opt/incomex/dot/iu-cutter-v0.6.pre-o8d-20260521T062850Z
promote:           mv staging/iu-cutter-v0.6
                   -> /opt/incomex/dot/iu-cutter-v0.6
service_restart:   NONE — no systemd/cron/docker service consumes the tree

4. Post-promote state

/opt/incomex/dot/iu-cutter                                    present (v0.4 skeleton)
/opt/incomex/dot/iu-cutter-v0.6                               present (O8D — cad989a)
/opt/incomex/dot/iu-cutter-v0.6.pre-o8d-20260521T062850Z      present (O8B rollback anchor)
/opt/incomex/dot/iu-cutter-v0.6.pre-o8b-20260521T053334Z      present (prior O6B anchor)

active_tree_artifact:   iu-cutter-v0.6-cad989a.tar.gz
active_tree_commit:     cad989a7c7c37c1b042778f0b601a599a6d04ee3
active_manifest_verify: 83 / 83 OK
active_killswitch:      __execution_enabled__ = False
active_milestone:       O8B
active_version:         0.6.0-O8B-live-execution-wiring
v0.4_HEAD:              e93424b5ff7fa5e4b8406131977ce4339cd0856a   (unchanged)

Note: a find -type f count of the active tree shows 109 (84 source + __pycache__/*.pyc regenerated on the staging py_compile + import) — bytecode cache only; the 83 manifest entries verify byte-for-byte.

5. Rollback / disable plan (NOT executed — recorded for safety)

# revert the deploy:
ssh contabo 'mv /opt/incomex/dot/iu-cutter-v0.6 /opt/incomex/dot/iu-cutter-v0.6.o8d-reverted \
  && mv /opt/incomex/dot/iu-cutter-v0.6.pre-o8d-20260521T062850Z /opt/incomex/dot/iu-cutter-v0.6'
# revert the commit (Mac):
git -C /Users/nmhuyen/iu-cutter-build/repo/iu-cutter reset --hard 703559c

6. G6 verdict

transfer_sha_verified:    YES — 44cb586a…e5d8e
staging_manifest_verify:  83 / 83 OK
backup_created:           pre-o8d-20260521T062850Z
promote:                  done — side-by-side, v0.4 preserved
service_restart:          none (none exists)
execution_enabled:        False
g6:                       PASS
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-o8d-mac-patch-deploy-multigap-proof/07-vps-deploy-log.md