Skip to content

fix(railway): rename Dockerfile → Dockerfile.mcp#38

Closed
hwesterb wants to merge 2 commits intomainfrom
fix/railway-dockerfile-rename
Closed

fix(railway): rename Dockerfile → Dockerfile.mcp#38
hwesterb wants to merge 2 commits intomainfrom
fix/railway-dockerfile-rename

Conversation

@hwesterb
Copy link
Copy Markdown
Member

Problem

Railway's web deploy failed on the merge of #37 because it auto-detected the canonical-name `Dockerfile` at repo root and switched to Docker build strategy — overriding our explicit `"builder": "NIXPACKS"` in `railway.json`. The MCP Dockerfile runs `sema mcp` on stdio, which is obviously wrong for the public website (which needs `sema serve --host 0.0.0.0 --port $PORT`).

Previous successful deploy is still serving traffic at semahash.org (Railway keeps the last good deploy running when the new one fails), so the site itself isn't down. But all future deploys from main would keep failing until we address the Dockerfile detection.

Fix

Rename `Dockerfile` → `Dockerfile.mcp`. Railway's auto-detection only matches the canonical name; Nixpacks takes over again.

Why this is safe for Glama

Glama stores the Dockerfile in their own admin system based on the form submission — they don't scrape the repo root. Confirmed via their docs: "navigate to the admin Dockerfile page and add a Dockerfile". Renaming our repo file doesn't affect their build check.

Follow-ups

  • If Glama ever complains that the repo doesn't have a canonical Dockerfile, we can either rename back (and find a different fix for Railway) or add a README pointer.
  • Longer-term, we might want a single unified Dockerfile that can serve either mode via a build arg / env var, so Railway and Glama can share one artifact. Not blocking.

hwesterb and others added 2 commits April 18, 2026 18:05
- Abstract scope-softened (collisions detected by applied audits)
- §3.4 fail-closed scope paragraph (compliant deployments)
- §3.5 type system reframed as one particular system; dialects + invitation
- §3.5 hash-is-word precision (syntactic + cryptographic split)
- §4.1 minting rule + broad-use test + sema apply gate stated in body
- §4.2 Refinement subsection with concrete decisions
- §4.3 Distribution subsection + decentralized governance paths
- §4.4 mechanism-sufficiency test + 8 new Physics primitives named
- §6 Implementation promoted to own section with Deployment Paths
- §7 compression table tokenized (live via tiktoken); per-layer table added
- §8 Limitations consolidated; Empirical Pattern Validation added
- Retired-pattern refs swapped for default-library equivalents
- All 'Sema library' → 'bootstrap library'; 'compile-time gate' → 'sema apply gate'
Railway auto-detected the canonical-name Dockerfile and switched to Docker
build strategy for the web deploy, overriding the explicit `"builder":
"NIXPACKS"` in railway.json. The MCP Dockerfile (runs `sema mcp` on stdio)
is obviously wrong for the public website (which needs `sema serve`), so
the deploy failed.

The Dockerfile is only needed for Glama's registry check — and Glama stores
it in their own admin system based on our submission, not by scraping the
repo root. Renaming to a non-canonical path stops Railway's detection
without affecting Glama.

Previous successful deploy (0.2.3 from earlier today) is still serving at
semahash.org; this unblocks future deploys from main.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hwesterb
Copy link
Copy Markdown
Member Author

Holding on this — unclear whether Glama needs the Dockerfile at the canonical repo path. Will revisit after clarifying with Glama, or fix Railway a different way.

@hwesterb hwesterb closed this Apr 18, 2026
@hwesterb hwesterb deleted the fix/railway-dockerfile-rename branch April 18, 2026 16:14
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