Skip to content

fix(status): remove fabricated uptime + gate payment-rail claims on real flag#28

Merged
WayforthOfficial merged 1 commit into
mainfrom
fix/honest-status-rails
Jun 20, 2026
Merged

fix(status): remove fabricated uptime + gate payment-rail claims on real flag#28
WayforthOfficial merged 1 commit into
mainfrom
fix/honest-status-rails

Conversation

@WayforthOfficial

Copy link
Copy Markdown
Owner

Two false-live claims on public status endpoints — same family as the status banner we already fixed.

1. /system/status — fabricated uptime + "zero incidents"

Returned a hardcoded uptime_30d: 99.97 and incidents: []. The "real source" query referenced service_probes.outcome / .created_atcolumns that don't exist (actual: probed_at, reachable, …), so it threw UndefinedColumnError on every call, hit except: pass, and always returned the literal. Confirmed live: prod returns 99.97 / [].

→ Now uptime_30d: null, uptime_source: "unmeasured", incidents: null until a real source exists. status + components stay real, live-measured.

2. /status — payment rails claimed live while RAILS_LIVE is off

Advertised payment_rails {card:true, usdc_subscription:true, x402_pay_per_call:true} + an x402 block claiming Base mainnet & testnet_active:true. x402_pay_per_call was keyed off the mere presence of WAYFORTH_BASE_WALLET (set in prod) → read true while the rail is dark.

→ All three now read from the single source of truth (core.rails.rail_live); x402 also requires funded settlement. With the flag off they correctly report false. The x402 block's mainnet_active/testnet_active now require the rail to actually be live on that chain.

Tests

Updated to the honest contract (uptime_30d null-or-numeric, incidents null-or-list) — the old tests asserted the fabrication. Permissive both pre- and post-deploy.

Note (separate, optional)

A real in-house uptime/incident recorder (scheduled self-health → table → real % "since ") is the follow-up that would populate these honestly. Tracked, not in this PR.

🤖 Generated with Claude Code

…eal flag

Two false-live claims on public status endpoints.

1. /system/status returned a hardcoded uptime_30d=99.97 + incidents=[] ("99.97%
   uptime, zero incidents") with NO measurement behind it. The "real source"
   query referenced service_probes.outcome / .created_at — columns that do not
   exist (actual cols: probed_at, reachable, ...), so it raised
   UndefinedColumnError on every call, hit `except: pass`, and always returned
   the literal. Now reports uptime_30d=null, uptime_source="unmeasured",
   incidents=null until a real source exists. status + components stay real,
   live-measured.

2. /status advertised payment_rails {card:true, usdc_subscription:true,
   x402_pay_per_call:true} and an x402 block claiming Base mainnet +
   testnet_active:true — while RAILS_LIVE is off. x402_pay_per_call was keyed off
   the mere presence of WAYFORTH_BASE_WALLET (set in prod), so it read true
   despite the rail being dark. All three now read from the single source of
   truth (core.rails.rail_live); x402 also requires funded settlement. With the
   flag off they correctly report false. Same honesty rule as the status banner.

Tests updated to the honest contract (uptime null-or-numeric, incidents
null-or-list) — the old tests asserted the fabrication.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@WayforthOfficial WayforthOfficial merged commit 1e1247b into main Jun 20, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants