Replace SESSION_LOG.md with correct Dec 20-21 chronology (devcontainer provisioning work only)
This commit is contained in:
parent
f04aece118
commit
a2a23d1e1d
@ -5,47 +5,15 @@ Do not rewrite or reorder past entries.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 2025-12-14
|
|
||||||
- Goal: Stabilize zlh-agent provisioning pipeline for game + dev containers + addons without regressing game provisioning.
|
|
||||||
- Scope: Agent routing (ctype=dev), local artifacts strategy, addon skeleton, initial end-to-end tests.
|
|
||||||
- Adopted single base template approach (zlh-agent template) where agent installs roles at runtime.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2025-12-20
|
## 2025-12-20
|
||||||
- Goal: Restore reliable end-to-end provisioning for **game + dev** without regressions; preserve the explicit orchestration steps/logging.
|
|
||||||
|
|
||||||
### Current Architecture Reality (IMPORTANT)
|
|
||||||
- We are on **single base template**: `AGENT_TEMPLATE_VMID` is the only template in `.env`.
|
|
||||||
- In this workflow, **any zlh-agent code change requires rebuilding + pushing the binary into the template container**.
|
|
||||||
- That effectively means: **agent change = new template promotion**.
|
|
||||||
|
|
||||||
### Key Findings / Fixes
|
|
||||||
- Game provisioning steps are functioning again and show clear step-by-step orchestration output (allocate VMID → clone → configure → start → IP → agent config → wait → DB save → edge publish).
|
|
||||||
- Dev provisioning failure was traced to a **wire contract mismatch** between API JSON and agent `state.Config` struct tags:
|
|
||||||
- Agent expects: `container_type` (snake_case) on the JSON wire
|
|
||||||
- API refactors were sending: `ctype` / `containerType` (camelCase) in some variants
|
|
||||||
- Result: `cfg.ContainerType == ""` on decode → agent routes into game path → errors like:
|
|
||||||
- `unsupported container identity (containerType="" game="")`
|
|
||||||
|
|
||||||
### Decision (to minimize churn)
|
|
||||||
- Because agent changes force a template promotion in this pipeline, the correct short-term move is:
|
|
||||||
- **Update API to emit `container_type`** to match the existing agent contract
|
|
||||||
- Avoid touching agent code until we intentionally rev the template
|
|
||||||
|
|
||||||
### Operational Guardrails
|
|
||||||
- Do NOT remove or "simplify" the explicit provisioning steps/logging; they are required for debugging and operator confidence.
|
|
||||||
- Treat `container_type` as the canonical wire key until the next planned template rev.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2025-12-21
|
|
||||||
- Goal: Restore reliable end-to-end provisioning for devcontainers and agent-managed installs.
|
- Goal: Restore reliable end-to-end provisioning for devcontainers and agent-managed installs.
|
||||||
- Observed repeated failures during devcontainer runtime installation (node, python, go, java).
|
- Observed repeated failures during devcontainer runtime installation (node, python, go, java).
|
||||||
- Initial assumption was installer regression; investigation showed installers were enforcing contract correctly.
|
- Initial assumption was installer regression; investigation showed installers were enforcing contract correctly.
|
||||||
- Root cause identified: agent was not exporting required runtime environment variables (notably `RUNTIME_VERSION`).
|
- Root cause identified: agent was not exporting required runtime environment variables (notably `RUNTIME_VERSION`).
|
||||||
|
|
||||||
### Devcontainer provisioning investigation
|
---
|
||||||
|
|
||||||
|
## 2025-12-21
|
||||||
- Deep dive on zlh-agent devcontainer provisioning flow.
|
- Deep dive on zlh-agent devcontainer provisioning flow.
|
||||||
- Confirmed that all devcontainer installers intentionally require `RUNTIME_VERSION` and fail fast if missing.
|
- Confirmed that all devcontainer installers intentionally require `RUNTIME_VERSION` and fail fast if missing.
|
||||||
- Clarified that payload JSON is not read by installers; agent must project intent via environment variables.
|
- Clarified that payload JSON is not read by installers; agent must project intent via environment variables.
|
||||||
@ -66,7 +34,7 @@ Do not rewrite or reorder past entries.
|
|||||||
`/opt/zlh/runtime/<language>/<version>/current`
|
`/opt/zlh/runtime/<language>/<version>/current`
|
||||||
|
|
||||||
### Artifact layout update
|
### Artifact layout update
|
||||||
- Artifact naming and layout standardized to simplified form:
|
- Artifact naming and layout changed to simplified form:
|
||||||
- `node-24.tar.xz`
|
- `node-24.tar.xz`
|
||||||
- `python-3.12.tar.xz`
|
- `python-3.12.tar.xz`
|
||||||
- `go-1.22.tar.gz`
|
- `go-1.22.tar.gz`
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user