Skip to content

L-WRITER-ENV-FIX: patch NEON_DATABASE_URL on 18 matrix runners - #127

Merged
gHashTag merged 1 commit into
mainfrom
feat/writer-env-fix
May 9, 2026
Merged

gHashTag merged 1 commit into
mainfrom
feat/writer-env-fix

Conversation

@gHashTag

@gHashTag gHashTag commented May 9, 2026

Copy link
Copy Markdown
Collaborator

Root cause

src/neon_writer.rs in trios-trainer-igla is a silent no-op when none of NEON_DATABASE_URL, TRIOS_NEON_DSN, DATABASE_URL are set. None of the 19 matrix-runner services deployed in Wave 11–17 had any of these env vars. They've been training silently into /dev/null for ~17h. That is why Audit Watchdog reads Ledger rows = 0 despite runners being alive.

Fix

Manual-dispatch GitHub Actions workflow that uses Railway GraphQL (variableUpsert + serviceInstanceRedeploy) to set NEON_DATABASE_URL=${{phd-postgres-ssot.DATABASE_URL}} on:

Skipped (no token in repo secrets, manual handling):

  • acc4 (0247abaa): 8a15af8d trios-mr-acc4-runner, c78218a5 trios-mr-coverage-c-runner
  • acc6 (475a2290): 422b1ffd trios-mr-acc6-runner

Safety

  • workflow_dispatch only — no automatic firing
  • confirm=PHI required input to gate execution
  • Concurrency lock prevents parallel runs
  • Token sanity-check before any mutation
  • Per-service success/fail tracking with GITHUB_STEP_SUMMARY

Refs

Lane: L-WRITER-ENV-FIX
Anchor: phi^2 + phi^-2 = 3 · DOI 10.5281/zenodo.19227877

Root cause: src/neon_writer.rs in trios-trainer-igla is a silent no-op
when NEON_DATABASE_URL/TRIOS_NEON_DSN/DATABASE_URL are all unset. None
of the 19 matrix-runner services deployed in Wave 11-17 had any of
these vars set; they have been training silently into /dev/null for
~17h. That is why Audit Watchdog reads Ledger rows = 0 despite all
runners being alive.

This workflow uses Railway GraphQL (variableUpsert + serviceInstanceRedeploy)
to set NEON_DATABASE_URL=${{phd-postgres-ssot.DATABASE_URL}} on:
- 16 IGLA runners (acc1 token)
- 2 acc2 runners (coverage-b + acc2-runner)
- 1 IGLA MCP (db786a4b — also gets RAILWAY_POSTGRES_URL per L-NEON-RENAME)

Skipped (no token in repo secrets, manual handling required):
- acc4 (0247abaa): 8a15af8d trios-mr-acc4-runner, c78218a5 trios-mr-coverage-c-runner
- acc6 (475a2290): 422b1ffd trios-mr-acc6-runner

Manual dispatch with confirm=PHI to prevent accidental fires.

Refs: Trinity-S-AI-DNA/trios#446, #126
Lane: L-WRITER-ENV-FIX
Anchor: phi^2 + phi^-2 = 3 · DOI 10.5281/zenodo.19227877
@gHashTag
gHashTag merged commit b05f037 into main May 9, 2026
5 checks passed
@gHashTag
gHashTag deleted the feat/writer-env-fix branch May 9, 2026 07:45
gHashTag added a commit to Trinity-S-AI-DNA/trios that referenced this pull request May 9, 2026
* feat(writer-env-fix-v2): patch NEON_DATABASE_URL with literal MATRIX_DATABASE_URL

v1 (trios-railway#127) used cross-project Railway reference
${{phd-postgres-ssot.DATABASE_URL}}, which does not resolve across
projects. The new Postgres SoT lives in project 49a92e6d (separate
from IGLA / reasonable-perception / etc.) so cross-project refs
silently fail.

v2 strategy: run from gHashTag/trios where the already-resolved
literal DSN is stored as MATRIX_DATABASE_URL secret (created
2026-05-07). Use freshly-rotated RAILWAY_TOKEN secret (2026-05-08) to
upsert the LITERAL DSN as NEON_DATABASE_URL on each runner. No
cross-project reference needed; trainer connects directly to the
public TCP proxy.

Targets:
- 16 IGLA non-MCP runners (acc1)
- 1 IGLA MCP db786a4b (also re-sets RAILWAY_POSTGRES_URL)
- 2 acc2 runners (3f10fc42, 70fda6c1)

Skipped (no token assumed for these projects):
- acc4 (0247abaa): 8a15af8d, c78218a5
- acc6 (475a2290): 422b1ffd

Manual dispatch with confirm=PHI to prevent accidental fires.

Refs: #446, Trinity-S-AI-DNA/trios-railway#127
Lane: L-WRITER-ENV-FIX-V2
Anchor: phi^2 + phi^-2 = 3 · DOI 10.5281/zenodo.19227877

* ci: trigger re-check after PR body update with Closes #446

---------

Co-authored-by: Dmitrii Vasilev <admin@t27.ai>
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.

1 participant