wp-durable · Stage 1 handover (2026-10-10)

Deployment

Item Value
Public URL https://wp-durable-production.up.railway.app
Sign-in page https://wp-durable-production.up.railway.app/auth
Railway workspace stevenevans669's Projects (CLI login stevenevans669@gmail.com)
Project wp-durable · bf1cda11-fb2b-4aa5-aef3-b9edd842f9b3
Environment production · 4fd7a540-5dd8-4602-b98d-37f7f2b70908
Service wp-durable · d903f418-9cd4-48e6-b9f5-f5ffaf21803e
Volume wp-durable-volume · 3c073dfb-0b44-4ff0-87d5-8e471e20140f, mounted at /data (50 GB)
Replicas 1 (numReplicas unset = default 1; railway.json sets numReplicas: 1)
App Sleeping off (railway.json sleepApplication: false; the CLI status JSON has no field for it)
Cron not a cron service (cronSchedule: null)
Health check /healthz, timeout 180 s; restart policy ON_FAILURE, 10 retries
Build Dockerfile, node:22-bookworm-slim, Node 22.22 in the image
Variables WP_DURABLE_TOKEN (random 32 bytes, hex), PORT=8080, WP_DURABLE_MODEL=gpt-6-sol
Bearer token file /Users/steven/DevTemp/wpDurable/.secrets/wp-durable-token (mode 0600, .secrets/ git-ignored)
Model openai-codex / gpt-6-sol (from OPENAI_CODEX_MODELS), ChatGPT subscription via device-code OAuth
Credential /data/credentials.json on the volume, mode 0600, the only copy
Source /Users/steven/DevTemp/wpDurable, git, 3 commits, no remote

Deployments (UTC): f9c98150 01:50 first deploy · 82deaa46 06:19 adds /auth · 25be23c3 06:32 redeploy (T0 step 3) · 6719f8fe 06:34 redeploy requested by piinchrome-48.

T0 results

  1. /healthz → ok: true, storage: "ok" after the first deploy; credential: "present" after sign-in.
  2. POST /v1/submit {"content":"Reply with the single word pong.","requestId":"t0-1"} → submission 8, done after about 4 s, answer pong. Usage of that call: input 39, output 5, total 44 tokens, cost $0.000128.
  3. Redeploy 25be23c3: new container healthy within 30 s, credential: "present", submission 8 still readable. Second redeploy 6719f8fe (requested): healthy at 06:35:10 UTC, credential present.
  4. Re-POST of t0-1 after the redeploy → same submissionId 8, same answer pong, no new generation task. Verified in the database: generation tasks 9, 14, 18 map one-to-one to submissions 8 (t0-1), 13 (acc-20261010-1), 17 (acc-20261010-2). The usage increase observed at that moment (44 → 106 total tokens) came from piinchrome-48's acceptance submission 13, not from a duplicate run.

Sign-in history: the device-code request was accepted on the first attempt (no fallback). Two codes expired unapproved before Steven used the /auth page; the third was approved and stored at 06:31:07 UTC.

Deviations from the brief

Not done / out of scope

Tools, Apify, datavault, timers, Woodpecker registration, multiple conversations, non-root user, log shipping, IaC migration.