← back to IWasCute

verification/e2e-proof.json

70 lines

{
  "intent": "Deploy IWasCute ownership verification without advertising execution while preserving analytics and admin boundaries",
  "ticket": "TK-11380",
  "risk_tier": "R4",
  "timestamp": "2026-09-10T17:42:24.752Z",
  "environment": "Production https://iwascute.com; PM2 gap-iwascute; /root/Projects/iwascute; port 9636",
  "approval": {
    "start": "2026-09-10T17:19:10Z",
    "expires": "2026-09-11T09:19:10Z",
    "scope": "Explicit user authorization relayed by root; targeted IWasCute deployment"
  },
  "identity": {
    "remote_snapshot": "1dd9768",
    "remote_success": "d0dc519",
    "build_id": "CDMq148tzzvoWWsHCxsrN"
  },
  "baseline": "Live HTML contained GA4 and an AdSense preload/RSC loader; no ownership metadata. Remote worktree dirty; preserved by scoped Git snapshot and private source backup.",
  "commands": [
    "bash pre-deploy-check.sh /Users/macstudio3/Projects/IWasCute",
    "ssh kamatera 'bash /tmp/TK11380-iwascute-deploy.sh prepare'",
    "npm ci --ignore-scripts --no-audit --no-fund (isolated remote stage)",
    "NEXT_TELEMETRY_DISABLED=1 npm run build (isolated remote stage)",
    "node verification/TK-11380/rollback-test.cjs",
    "node /tmp/TK11380-iwascute-normalize.cjs /root/Projects/.iwascute-TK11380-20260910T172500Z",
    "node /tmp/TK11380-iwascute-http.cjs http://127.0.0.1:19962 (candidate relocated to a different directory)",
    "ssh kamatera 'bash /tmp/TK11380-iwascute-deploy.sh activate'",
    "VERIFY_URL=https://iwascute.com VERIFY_OUTPUT=verification/TK-11380/live node verification/TK-11380/verify.cjs",
    "node /Users/macstudio3/.agents/skills/3x/run.js --url https://iwascute.com --expect google-adsense-account --selector 'a[href=\"/v1\"]' --click 'a[href=\"/v1\"]' --paths /ads.txt,/login --no-open"
  ],
  "checks": {
    "predeploy_guard": "PASS 5/5",
    "nginx": "PASS syntax; existing unrelated duplicate-name warnings",
    "isolated_build": "PASS",
    "relocated_candidate": "PASS",
    "nine_routes": "PASS metadata and hydrated no-ad boundary",
    "client_navigation": "PASS home to v1 to login",
    "analytics": "PASS existing G-2DHDBP8R78 and executed dataLayer config",
    "admin_unauthenticated": "PASS GET and POST 401",
    "photo_projection": "PASS 22 fields using read-only LIMIT 0, zero user rows",
    "ads_txt": "PASS exact DIRECT record",
    "advertising_requests": "PASS zero attempted requests",
    "three_x": "PASS 4/4 available, Safari and Firefox SKIP engines absent"
  },
  "failure_recovery": {
    "initial_activation": "FAIL admin 500: generated Turbopack pg symlink still referenced stage",
    "response": "Rolled back immediately, verified admin 401",
    "correction": "Normalized one package symlink to ../../node_modules/pg; full candidate relocation rehearsal passed; subsequent activation passed canonical-port and HTTPS checks",
    "rollback_rehearsal": "Actual production rollback plus full/partial filesystem fixture tests (PM2/Git mocked)"
  },
  "artifacts": [
    "TK-11380/PRODUCTION.md",
    "TK-11380/live/results.json",
    "TK-11380/live/post-activation-http.json",
    "TK-11380/live/normalized-links.json",
    "TK-11380/live/login.png",
    "TK-11380/live/3x-render.png",
    "TK-11380/live/3x-e2e.png",
    "TK-11380/live/build-output.txt"
  ],
  "cleanup": "Temporary SSH tunnel and both remote canary processes stopped. Stage source and private rollback artifacts deliberately retained. No DB writes, account changes, photo submissions or ad clicks.",
  "rollback": "/root/.local/state/iwascute-deploy/TK11380-20260910T172500Z/{previous.next,previous.node_modules,source}; saved script /tmp/TK11380-iwascute-deploy.sh rollback",
  "limitations": [
    "No authenticated account or photo workflows exercised",
    "No Google Analytics receipt assertion (third-party requests blocked in primary browser test)",
    "750ms direct-route observation plus real navigation does not prove arbitrary delayed behavior",
    "No Google review submission or AdSense approval; content/privacy readiness remains separate"
  ],
  "verdict": "PASS scoped production deployment; parent independent acceptance pending"
}