docs: replace with current upstream dependencies (portal, API, agent, Modrinth, artifact store)

This commit is contained in:
jester 2026-03-01 23:18:15 +00:00
parent c297bbcadf
commit e615d09b68

View File

@ -1,39 +1,29 @@
# Upstreams — zlh-grind
# Upstream Dependencies
This repository tracks GPT execution work across upstream projects.
## Portal
- Next.js 15 (App Router)
- TypeScript
- Axios (API calls)
- WebSocket console (`TerminalView` / `ServerConsole`)
- Multipart `FormData` upload
## Rules
- This file is a registry of upstream repos used during execution.
- Do not duplicate canonical documentation here; link to it.
## API
- Node.js (ESM)
- Express
- Raw `http.request` for upload proxy (not `fetch`)
- Prisma (DB ORM)
- JWT token auth
- Redis (agent telemetry cache)
---
## ZeroLagHub Knowledge Base (Canonical)
- Repo: `https://git.zerolaghub.com/jester/knowledge-base`
- Role: Canonical architecture, decisions, procedures, handovers
## zlh-grind (Execution Ledger)
- Repo: `https://git.zerolaghub.com/jester/zlh-grind`
- Role: GPT execution notes, session logs, drift prevention
## zlh-api / zpack-api (API / Control Plane)
- Repo: `https://git.zerolaghub.com/jester/zlh-api`
- Role: Control-plane orchestration (instance lifecycle, DB writes, agent coordination)
- Notes: Game telemetry routes live under `/api/game/*`. Full mod lifecycle routes added Feb 2026.
## Portal / Frontend (Next.js)
- Repo: `https://git.zerolaghub.com/jester/zlh-portal`
- Role: Customer portal (dashboard, console UX, mod management UI)
## zlh-agent (Go Agent)
- Repo: `https://git.zerolaghub.com/jester/zlh-agent`
- Role: Agent runtime for provisioning/install/verify/start workflows + console PTY
- Notes: Periodic update checks + Phase 1 mod management + process metrics added Feb 2026. Host allowlist includes `cdn.modrinth.com` and `artifacts.zerolaghub.com`.
## Artifacts (Minecraft zpack tree)
- Location (VM filesystem): `/opt/zlh/zpacks/minecraft/`
- Role: Local-first artifacts for vanilla/paper/purpur/fabric/forge/**neoforge** installs.
- Notes: Phase 1 contract normalizes certain installer filenames for predictable installs.
## Agent
- Go
- Runtime root sandboxing (`internal/files`)
- Atomic file writes (`os.Rename`)
- `.zlh_metadata.json` provenance tracking
- Shadow backup system (`.zlh-shadow`)
- PTY-backed console over WebSocket
- Mod management endpoints
- Agent update system (versioned, SHA-verified)
---
@ -41,36 +31,35 @@ This repository tracks GPT execution work across upstream projects.
Used for mod resolution and search.
**Endpoints used:**
- `GET /v2/project/{id}/version` — fetch compatible versions for a mod
- `GET /v2/search?facets=` — search mods by loader + game version
**Host allowlist:**
- `cdn.modrinth.com` — artifact downloads (agent-level)
- `api.modrinth.com` — API calls (API-level resolver)
**Constraints:**
- Base: `api.modrinth.com/v2`
- Rate limit: 300 req/min
- Requires `User-Agent` header
- Search is loader + game version filtered
- SHA512 provided on all artifacts (SHA1 fallback)
- No API key required for public endpoints
- SHA512 provided on all artifacts (SHA1 fallback)
Agent host allowlist:
- `cdn.modrinth.com` — artifact downloads
- `api.modrinth.com` — search/resolve (API-level)
---
## Authentication Ownership
## Artifact Store
### Portal
- Owns identity UX (login, logout, session handling)
- Stores JWT token
- Attaches Authorization header to API calls
Location (VM filesystem): `/opt/zlh/zpacks/minecraft/`
### APIv2
- Validates credentials
- Issues JWT tokens
- Verifies tokens for protected routes
- Persists user records
Loader coverage:
- Vanilla, Paper, Purpur, Forge, Quilt, NeoForge
### Explicit Non-Responsibilities
- API does not manage frontend sessions
- Portal does not validate credentials directly
No external reverse proxy required for internal upload path.
---
## Repo Registry
| Repo | Role |
|------|------|
| `zlh-grind` | Architecture alignment, session logs, constraints, open threads |
| `zlh-api` | Control plane (Node + Express) |
| `zlh-portal` | Frontend (Next.js) |
| `zlh-agent` | Go runtime inside containers |
| `knowledge-base` | Canonical architecture docs |