← back to Tk11438 Postgres Migration
next-batch.json
70 lines
{
"ticket": "TK-11438",
"status": "APPLIED_VERIFIED_WITH_DOCUMENTED_LIMITS",
"scope": "Ken application and its two known explicit-TCP scheduled consumers only",
"file_changes": [
{
"path": "/Users/macstudio3/Projects/Ken/kalshi-dash/follow-the-winners-check.sh",
"sha256": "04a512566936f561c7c37d623e26ec8bb0e2ec507607dbd5db5c8f5e19d5b5b9",
"old": "KEN_DATABASE_URL=\"postgresql://localhost:5432/ken\"",
"new": "KEN_DATABASE_URL=\"postgresql://localhost:5432/ken?host=/tmp\"",
"occurrences": 1
}
],
"environment_changes": [
{
"path": "/Users/macstudio3/Projects/Ken/kalshi-dash/.env",
"sha256": "07e8091a1cc0d968cef79612ba91a4d4a177975d666967e6054c5ef8199203b1",
"keys": [
"DATABASE_URL",
"KEN_DATABASE_URL"
],
"operation": "Set URI query parameter host=/tmp, preserving database, role, credentials, port, and other options",
"precedence": "sourced by start.sh overrides inherited PM2 environment"
},
{
"path": "/Users/macstudio3/Library/LaunchAgents/com.steve.ken-reconcile-canary.plist",
"sha256": "5bae8a547e6680e2ac071a95ad0e57c74aa89449c4aaffc2540f40d0934f18f5",
"keys": [
"EnvironmentVariables.KEN_DATABASE_URL"
],
"operation": "Set URI query parameter host=/tmp, preserving database, role, credentials, port, and other options",
"precedence": "launchd supplies independent environment"
},
{
"path": "existing PM2 ken entry and ~/.pm2/dump.pm2 ken entry only",
"keys": [
"DATABASE_URL",
"KEN_DATABASE_URL",
"env.DATABASE_URL",
"env.KEN_DATABASE_URL"
],
"operation": "Match .env socket URLs; require unique cwd/script/name and hash guard; preserve every other field and service"
}
],
"gates": [
"Ken service restart may resume autonomous market work and existing configured external activity; needs explicit approval",
"reconcile-canary launchd reload is gated",
"Do not invoke follow-the-winners wrapper during verification: can send email on signal transition",
"TCP shutdown excluded",
"No Gracie restart: mounted vendor module calls canonical CREATE TABLE IF NOT EXISTS on startup"
],
"result": {
"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."
]
}
}