79 lines
2.1 KiB
Markdown
79 lines
2.1 KiB
Markdown
# 2026-03-01 – Upload Pipeline + Filesystem Consolidation
|
||
|
||
**Type:** Implementation + Architecture Consolidation
|
||
**Status:** Upload implemented, transport tuning in progress
|
||
|
||
---
|
||
|
||
## Completed
|
||
|
||
### Upload Model
|
||
- Implemented direct runtime upload model
|
||
- Removed staging and symlink exploration entirely
|
||
- Uploads write atomically to runtime root
|
||
- Enforced by strict allowlist (`mods/*.jar`, `world/datapacks/*.zip`)
|
||
- No directory creation, no staging folders, no symlinks
|
||
|
||
### Provenance
|
||
- Added `.zlh_metadata.json` provenance tracking
|
||
- Extended `stat` response with `source` field (`"user" | null`)
|
||
- No curated inference implemented (intentional)
|
||
|
||
### API Transport
|
||
- Identified `fetch()` streaming as source of upload proxy timing issues
|
||
- Switched to raw `http.request` piping:
|
||
```
|
||
req.pipe(proxyReq)
|
||
proxyRes.pipe(res)
|
||
```
|
||
- Confirmed agent upload via direct curl
|
||
- Upload timeout tuning identified as remaining work
|
||
|
||
### Documentation
|
||
- Consolidated filesystem architecture docs (`filesystem-and-file-browser.md`, `mod-deployment-safety.md`)
|
||
- Full grind repo consolidation pass (README, CONSTRAINTS, OPEN_THREADS, SESSION_START, ANTI_DRIFT, UPSTREAMS)
|
||
|
||
---
|
||
|
||
## System State
|
||
|
||
- Read: Stable
|
||
- Write: Stable with shadow backup
|
||
- Delete: Constrained and safe
|
||
- Upload: Implemented, transport tuning in progress
|
||
- Console: Stable
|
||
|
||
---
|
||
|
||
## Known Architectural Decisions Locked In
|
||
|
||
- Direct runtime upload — no staging, no symlinks
|
||
- `.zlh_metadata.json` is the provenance layer; `stat` returns `source`
|
||
- Raw `http.request` piping for upload proxy — no `fetch()` streaming
|
||
- Upload allowlist enforced by agent, not API
|
||
|
||
---
|
||
|
||
## Remaining Issues
|
||
|
||
### Upload Transport Timeout
|
||
- Upload route timeout not yet increased
|
||
- Need to distinguish:
|
||
- client abort
|
||
- upstream timeout
|
||
- socket reset
|
||
- Upload route should log explicit error categories
|
||
|
||
### Dev Server Filesystem Model
|
||
- Not yet designed
|
||
- Game server model is complete and stable
|
||
- Dev runtime layout, artifact promotion strategy, and file editing scope all TBD
|
||
|
||
---
|
||
|
||
## Next Steps
|
||
|
||
1. Increase upload route timeout
|
||
2. Add explicit error category logging to upload route
|
||
3. Begin dev server filesystem model planning
|