Bugfix: Why did platform generation fail to commit files to Hetzner?...
Documentation for Sessions
π Bugfix: Why did platform generation fail to commit files to Hetzner?...
Date: 2026-03-21
Time: 16:47:29 UTC
Session: gspace1-253.3
Agent: angular
Confidence: 97%
Status: β
Documented
π Decision Context
Question:
Why did platform generation fail to commit files to Hetzner? The pipeline reported success but no files were persisted.
Task: S251: Fix Hetzner git generation pipeline end-to-end
π― Decision Made
Chosen:
Fixed Express body parser limit (100KBβ50MB) in sandbox-orchestrator main.ts and NGINX client_max_body_size (defaultβ50m). Also fixed parseRepoPath() in RemoteGitProviderService and LocalGitProviderService to take last 2 path segments instead of first 2.
Options Considered:
- Only fix body parser (would miss path mismatch)
- Add chunked upload API (over-engineering)
- Route file reads through backend-vitto-api instead of backend-api (adds coupling)
π Reasoning
THREE root causes found: (1) Express body parser default 100KB limit silently rejected 136-file payloads (~120KB) with 413. The deploy phase catch block logged the error but never emitted to SSE, so the pipeline appeared to succeed. (2) NGINX also had no client_max_body_size, defaulting to 1MB which would block larger payloads. (3) parseRepoPath('gograbspace/chrome-space-1/conejo') took first 2 parts ['gograbspace','chrome-space-1'] instead of last 2 ['chrome-space-1','conejo'], causing all VFS file-reads through the remote provider to target the wrong repo. This would have broken Studio file browsing for any Hetzner-backed generation.
π Files Involved
APIs/sandbox-orchestrator/src/main.tsAPIs/backend-api/src/app/git-provider/remote-git-provider.service.tsAPIs/backend-api/src/app/git-provider/local-git-provider.service.tsAPIs/backend-vitto-api/src/app/module-generation/phases/module-gen-phase.executor.ts
π Related
- Decision ID:
dev_1774111649848_2r1kx44 - Session: 253
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation