From 8203c8a6e0bebd93be3d08215a6e2b252fe9db68 Mon Sep 17 00:00:00 2001 From: jester Date: Sat, 14 Mar 2026 22:30:37 +0000 Subject: [PATCH] =?UTF-8?q?Remove=20misplaced=20file=20=E2=80=94=20belongs?= =?UTF-8?q?=20in=20knowledge-base=20not=20zlh-grind?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...pload-Pipeline-Filesystem-Consolidation.md | 62 ------------------- 1 file changed, 62 deletions(-) delete mode 100644 Session_Summaries/2026-03-01_Upload-Pipeline-Filesystem-Consolidation.md diff --git a/Session_Summaries/2026-03-01_Upload-Pipeline-Filesystem-Consolidation.md b/Session_Summaries/2026-03-01_Upload-Pipeline-Filesystem-Consolidation.md deleted file mode 100644 index 7b39528..0000000 --- a/Session_Summaries/2026-03-01_Upload-Pipeline-Filesystem-Consolidation.md +++ /dev/null @@ -1,62 +0,0 @@ -# Session Summary: Upload Pipeline & Filesystem Consolidation - -Date: 2026-03-01 - ---- - -## Summary - -This session consolidated the file system architecture and resolved issues in the upload pipeline from browser to agent. - ---- - -## Filesystem Architecture - -Game server filesystem operations are handled exclusively by the agent. The API proxies all requests — it never touches the filesystem directly. - -Capabilities documented: - -- Read (list, stat, read, download) -- Write (server.properties, config/*.toml, config/*.json, config/*.properties) -- Delete (constrained to mods-removed/, mods-uploaded/, logs/) -- Upload (mods/*.jar, world/datapacks/*.zip) -- Revert (shadow backup restore) - -Shadow backups created on first write. 7-day retention, 6h cleanup cycle. - ---- - -## Provenance Tracking - -`.zlh_metadata.json` written after every upload: - -```json -{ - "mods/sodium.jar": { - "source": "user", - "uploaded_at": "2026-03-01T22:37:01Z" - } -} -``` - -`stat` responses include `source: "user" | null`. No curated inference implemented. - ---- - -## Upload Transport Fix (API Layer) - -Uploads initially failed with `502` errors when proxied from the API to the agent. - -Root cause: -The Node API upload proxy was forwarding `Content-Length` incorrectly while streaming the request body. - -Resolution: -The upload route now uses a raw Node `http.request` stream: - -- `req.pipe(proxyReq)` -- `proxyRes.pipe(res)` -- `Content-Type` preserved -- `Content-Length` not forwarded -- Upload timeout extended to 5 minutes - -This allows large multipart uploads to stream directly from the client → API → agent without buffering.