feat(builder): bounded model requests, a safety check, and a clearer PR summary
- The drafter no longer grows one conversation. Each request is the rules and facts, the model's latest template, what is wrong now and one line per earlier round, so long builds can't push the facts out of the model's 32K context (Ollama drops the oldest part silently). The image's scripts in the facts are capped at 24000 characters in all, and diagnosis check results at 16000. - Every model call logs its prompt and answer tokens, with a warning near the context limit. - unsafeCommands: a draft whose startup command or installConfig pipes a download into a shell, decodes base64, uses eval, raw network tools or /dev/tcp, sudo/su, setuid bits, writes /etc, touches cron/systemd/firewall, or looks like a miner goes back to the model. AUTHORING.md has the rule. - The PR summary lists every address nodes would download from under "Review carefully", marks the measured checks as measured, and labels the research notes as the model's reading, not checked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0a80a6ebc5
commit
00cc61aba2
7 files changed
+249
-24
No files matched your search
@@ -61,6 +61,10 @@ Know this before writing anything:
|
||||
- Quote text settings where they're used: `-name "${SERVER_NAME}"`. `ARGS="-name ${SERVER_NAME}"; ./server $ARGS`
|
||||
splits "GBRHosting - My Server" into words; build optional arguments in a bash array instead
|
||||
(`args=(-name "$SERVER_NAME"); [ -n "$PASSWORD" ] && args+=(-password "$PASSWORD"); ./server "${args[@]}"`).
|
||||
- Templates run on players' own machines. The startup command and install never pipe a download into a
|
||||
shell, decode hidden (base64) content, use `eval`, raw network tools or `/dev/tcp`, become another user,
|
||||
or touch the machine (`/etc`, cron, systemd, firewall). Files a server needs come from `installMethod`
|
||||
or `installConfig.files`, from the game's official source; every download address is listed for review.
|
||||
- If the image installs the game itself on start, make sure a failed install is retried rather than
|
||||
starting a server that isn't there: log in to SteamCMD once (`+login anonymous +quit`) before the
|
||||
install, and retry the install a few times until the server's executable exists.
|
||||
|
||||
Reference in new issue
Block a user