Skip to content

B-17 P0 · RAILWAY_TOKEN_ACC1/ACC2 expired — ALL healer workflows blocked at Sanity-check tokens #158

@gHashTag

Description

@gHashTag

B-17 · RAILWAY_TOKEN_ACC1 / ACC2 expired — ALL healer workflows blocked

R5-verified evidence (2026-05-14 06:01 UTC, cycle 14)

Symptom

Writer service ssot.bpb_samples frozen for 10h 34m:

Probe Value
MAX(ts) on SHORT-WAVE-MATRIX canons 2026-05-13T19:26:40.738Z
stale_sec 38095
rows_1h 0
rows_6h 0
rows_24h 877 (all before 19:26 UTC)
Non-matrix canons last_ts 2026-05-12T17:00:38.059Z (stale 37h)

Root cause

Every healer workflow that calls Railway team GraphQL fails at the first step (Sanity-check tokens):

##[error]token ACC1 failed sanity check
##[error]Process completed with exit code 3.

The sanity check curls https://backboard.railway.com/graphql/v2 with RAILWAY_TOKEN_ACC1 and expects .data.projects.edges — receives empty/null instead, meaning the team token is revoked or expired on Railway side.

Affected workflow runs (R5-verified)

Workflow Latest run Conclusion Failed step
writer-env-fix.yml 25844596039 (2026-05-14 06:00 UTC, dispatch this cycle) ❌ failure Sanity-check tokens
writer-env-fix.yml 25843795652 (2026-05-14 05:35 UTC) ❌ failure Sanity-check tokens
mcp-emergency-redeploy.yml 25843877778 (2026-05-14 05:38 UTC) ❌ failure

Last good token use

  • refresh-acc47.yml run 25754312720 at 2026-05-12 18:31 UTC = ✅ success
  • Token last rotated in repo secrets: 2026-05-12 14:44:43 UTC (RAILWAY_TOKEN_ACC1)

→ Token worked for ~4 hours after rotation, then stopped. Likely:

  1. Team membership change on Railway side revoked the token, OR
  2. Token expired (Railway team tokens have ≤ 30-day TTL by default), OR
  3. Token scope was narrowed and projects { edges } query no longer returns rows.

Why this is a hard blocker

Cure (operator-only)

# On Railway dashboard, rotate team tokens for all 7 ACC1-7 accounts,
# OR generate new project-access-tokens scoped to IGLA + ACC2-RP projects.
# Then update repo secrets:

gh secret set RAILWAY_TOKEN_ACC1 --repo gHashTag/trios-railway --body "$NEW_TOKEN_ACC1"
gh secret set RAILWAY_TOKEN_ACC2 --repo gHashTag/trios-railway --body "$NEW_TOKEN_ACC2"
# ... ACC3..ACC7 similarly

# Verify with sanity-check workflow dispatch:
gh workflow run writer-env-fix.yml --repo gHashTag/trios-railway -f confirm=PHI
gh run watch  # expect Sanity-check tokens ✅

Verification gates (post-fix)

  1. writer-env-fix.yml workflow_dispatch → ✅ success (currently fails at Sanity-check)
  2. ssot.bpb_samples writes resume → stale_sec < 600 within T+15min
  3. Gardener-loop Stage 2d wake_effective=true on next hourly tick

Anchors

  • Anchor: φ² + φ⁻² = 3 · TRINITY · NEVER STOP
  • DOI: 10.5281/zenodo.19227877
  • Cycle 14 NASA report: DOCTOR-CYCLE-14-RVR-001

cc: B-12 (#151 gas-lighting), B-16 (Stage 2d claim vs reality), PR #149 (merged), PR #155 (doctor Layer-2 pending)

Metadata

Metadata

Assignees

No one assigned

    Labels

    blockerauto-created by gardener v2.7

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions