← 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"
}