PRD 0038: smolmachines env contract and secret-safe injection #141

Merged
didericis merged 3 commits from prd-0038-smolmachines-env-contract into main 2026-06-02 11:15:17 -04:00
Collaborator

Closes #135.

PRD: https://gitea.dideric.is/didericis/bot-bottle/src/branch/prd-0038-smolmachines-env-contract/docs/prds/0038-smolmachines-env-contract.md

Summary

  • Resolve manifest env through resolve_env() in the smolmachines prepare path, matching Docker's contract
  • Remove env values from smolvm host argv during machine creation and exec
  • Document the smolmachines env contract for literals, ?prompt, and ${HOST_VAR} entries

Changes (1 commit)

  • docs/prds/0038-smolmachines-env-contract.md — add PRD 0038 (Draft)
Closes #135. PRD: https://gitea.dideric.is/didericis/bot-bottle/src/branch/prd-0038-smolmachines-env-contract/docs/prds/0038-smolmachines-env-contract.md ## Summary - Resolve manifest env through `resolve_env()` in the smolmachines prepare path, matching Docker's contract - Remove env values from smolvm host argv during machine creation and exec - Document the smolmachines env contract for literals, `?prompt`, and `${HOST_VAR}` entries ## Changes (1 commit) - `docs/prds/0038-smolmachines-env-contract.md` — add PRD 0038 (Draft)
didericis-claude added 1 commit 2026-06-02 10:28:51 -04:00
docs: add PRD 0038
test / unit (pull_request) Successful in 52s
test / integration (pull_request) Successful in 1m2s
1c242b0ad9
didericis added 2 commits 2026-06-02 10:38:53 -04:00
Before this change smolmachines prepare.py spliced bottle.env directly
into guest_env, so ?prompt and ${HOST_VAR} entries reached the VM as
raw sentinels rather than being prompted or interpolated.

After this change prepare.py calls resolve_env(), matching the Docker
backend's contract. Forwarded (secret/interpolated) values still flow
through smolvm -e K=V argv — the known exposure gap documented in PRD
0038's open question.

Closes #135
docs: mark PRD 0038 Active
test / integration (pull_request) Successful in 56s
test / unit (pull_request) Successful in 38s
test / unit (push) Successful in 31s
test / integration (push) Successful in 42s
717a9126e1
didericis approved these changes 2026-06-02 10:48:03 -04:00
didericis merged commit 717a9126e1 into main 2026-06-02 11:15:17 -04:00
didericis deleted branch prd-0038-smolmachines-env-contract 2026-06-02 11:15:17 -04:00
Sign in to join this conversation.