← back to Tk11438 Postgres Migration

verification/e2e-proof.json

107 lines

{
  "intent": "Migrate every local Postgres TCP consumer to Unix sockets",
  "ticket": "TK-11438",
  "timestamp": "2026-09-11T17:46:09.886710+00:00",
  "risk_tier": "R4 authorized Ken rollout; scoped independent verification complete",
  "build_identity": "Ken source d840eb6; evidence repository commit containing this record",
  "environment": "macstudio3; PostgreSQL 14.23; /tmp socket; existing PM2 daemon",
  "verdict": "PARTIAL_BLOCKED",
  "assertions": [
    {
      "check": "First-batch independent revalidation",
      "verdict": "PASS",
      "evidence": "verification/reverification.json",
      "detail": "15 assertions pass: source/effective socket identity, saved restart configuration, missing socket ENOENT, auth 401/200, DB-backed GETs, no process TCP 5432. Reboot not performed."
    },
    {
      "check": "Ken installed driver preflight",
      "verdict": "PASS",
      "evidence": "verification/ken-driver-proof.json",
      "detail": "Four socket/read-only/no-fallback assertions across ken and bertha_betting; no app boot."
    },
    {
      "check": "Next batch exact scheduler and .env provenance",
      "verdict": "PASS",
      "evidence": "next-batch.json; verification/ken-schedulers.json; verification/env-provenance.json"
    },
    {
      "check": "Complete all consumers and representative scheduled cycles",
      "verdict": "SKIP",
      "reason": "Still incomplete. Active Ken TCP seen; remaining inventory is candidates, not migrated consumers."
    },
    {
      "check": "Approved Ken application and scheduler socket migration",
      "verdict": "PASS",
      "evidence": "verification/ken-rollout/parent-acceptance.json",
      "detail": "Two pools, effective/saved env, real auth boundary, missing sockets, underlying signal module and loaded reconciliation exit0 verified. Independent26/26PASS."
    },
    {
      "check": "Rollback copy rehearsal and launchd failure recovery",
      "verdict": "PASS",
      "evidence": "verification/ken-rollout/rollback-fault-proof.json",
      "detail": "Exact file/four-field dump roundtrips and4failure scenarios passed without induced live faults."
    },
    {
      "check": "All risk_state keys unchanged",
      "verdict": "SKIP",
      "reason": "Full config hash includes volatile weather_cache; uncaptured keys cannot be proven retroactively. Captured trading switches and exact live_run/trade_config hashes match."
    },
    {
      "check": "Full hourly wrapper email branch",
      "verdict": "SKIP",
      "reason": "All emails excluded by current approval; wrapper was not invoked. Transport verified through exact wrapper URI and underlying SELECT module."
    }
  ],
  "commands": [
    "node reverify.cjs (direct getMonitorData RPC, installed pg SELECTs, authenticated GETs, lsof)",
    "node ken-proof.cjs",
    "Read Ken start.sh, two Pool sites, .env key metadata and three launchd plists",
    "psql read-only pg_stat_activity/settings SELECT",
    "node rollout.cjs prepare/apply/verify/reload/observe",
    "node rollback-test.cjs",
    "node independent-check.cjs"
  ],
  "cleanup": "Test connections closed; one authorized Ken restart and one reconciliation reload completed. No email-capable wrapper executed. Private scoped rollback materials retained with0700/0600 permissions and excluded from git.",
  "rollback": "node verification/ken-rollout/rollout.cjs rollback (only on actual regression, guarded file fields and job restore; live rollback not executed)",
  "first_batch": {
    "showroom_commit": "a482499",
    "patterndesignlab_commit": "bf33afd",
    "restart": "individual PM2 restart with socket env",
    "http": {
      "showroom_health": 200,
      "showroom_brands": 200,
      "pdl_health": 200,
      "pdl_designs_auth_boundary": 401
    },
    "db": {
      "pdl_designs": 1694,
      "pdl_socket": true,
      "pdl_read_only": "on",
      "showroom_client_addr": null
    }
  },
  "peer_handoff": {
    "message": "M-03034",
    "peer": "codex-run-11401",
    "change": "Two saved showroom DATABASE_URL fields only, no restart",
    "acceptance": "Fresh independent verification/reverification.json passes"
  },
  "ken_batch": {
    "ticket": "TK-11438",
    "timestamp": "2026-09-11T17:46:09.886710+00:00",
    "verdict": "KEN_BATCH_PASS_FULL_FLEET_INCOMPLETE",
    "source_commit": "d840eb666dbe5986eb48925ef9e694c3c3d450d3",
    "approval": "Steve -> codex-run-11340/TK-11478 -> current session, 2026-09-11; described current Ken batch only; all email sends excluded",
    "parent_acceptance": "Independent 26 PASS assertions inspected against parent baseline, after, stability proofs and exact d840eb6 diff. Accepted.",
    "email_sends_invoked": 0,
    "wrapper_invoked": false,
    "private_backup": "verification/ken-rollout/private/ (0700; files0600; gitignored)",
    "rollback": "node verification/ken-rollout/rollout.cjs rollback (only on actual regression, guarded file fields and job restore; live rollback not executed)",
    "limits": [
      "Only captured operational switches and Ken config hashes proved unchanged; full risk_state hash changed consistently with automatic weather_cache, exclusive cause unproven.",
      "Email-capable hourly wrapper not executed. Exact wrapper URL used with underlying SELECT-only module; normal schedule definition preserved.",
      "No reboot or full-fleet TCP shutdown. Original/expanded inventory remains incomplete."
    ]
  }
}