


















@@ -150,6 +150,19 @@ Use these on debugging runs before inventing ad hoc logging:
150150 providers and prints `set len=N secret=true` style summaries. On
151151`blacksmith-testbox`, env forwarding is unsupported; put secrets in the
152152 Testbox workflow instead.
153+- `--env-from-profile <file>` plus `--allow-env NAME`: loads simple
154+`export NAME=value` / `NAME=value` lines from a local profile without
155+ executing it, then forwards only allowlisted names. `--allow-env` is
156+ repeatable and comma-separated. Profile values override ambient allowlisted
157+ env values for that run.
158+- `--script <file>` / `--script-stdin`: upload a local script into
159+`.crabbox/scripts/` and execute it on the remote box. Shebang scripts execute
160+ directly; scripts without a shebang run through `bash`. Arguments after `--`
161+ become script args.
162+- `--fresh-pr owner/repo#123|URL|number`: skip dirty local sync and create a
163+ fresh remote checkout of the GitHub PR. Bare numbers use the current repo's
164+ GitHub origin. Add `--apply-local-patch` only when the current local
165+`git diff --binary HEAD` should be applied on top of that PR checkout.
153166- `--capture-stdout <path>` / `--capture-stderr <path>`: write remote streams to
154167 local files and keep binary/noisy output out of retained logs. Parent
155168 directories must already exist. These are direct-provider only.
@@ -165,9 +178,10 @@ Live-provider debug template for direct AWS/Hetzner leases:
165178166179```sh
167180mkdir -p .crabbox/logs
168-CRABBOX_ENV_ALLOW=OPENAI_API_KEY,OPENAI_BASE_URL \
169- pnpm crabbox:run -- --provider aws \
181+pnpm crabbox:run -- --provider aws \
170182 --preflight \
183+ --env-from-profile ~/.profile \
184+ --allow-env OPENAI_API_KEY,OPENAI_BASE_URL \
171185 --timing-json \
172186 --capture-stdout .crabbox/logs/live-provider.stdout.log \
173187 --capture-stderr .crabbox/logs/live-provider.stderr.log \
@@ -177,8 +191,9 @@ CRABBOX_ENV_ALLOW=OPENAI_API_KEY,OPENAI_BASE_URL \
177191```
178192179193Do not pass `--capture-*`, `--download`, `--checksum`, `--force-sync-large`, or
180-`--sync-only` to delegated providers. Crabbox rejects them because the provider
181-owns sync or command transport.
194+`--sync-only` to delegated providers. Also do not pass `--script*` or
195+`--fresh-pr` there. Crabbox rejects these because the provider owns sync or
196+command transport.
182197183198## Efficient Bug E2E Verification
184199@@ -221,6 +236,11 @@ Efficient flow:
221236Keep it efficient:
222237223238- Reuse existing E2E scripts and helper assertions before writing ad hoc shell.
239+- Use `--script <file>` or `--script-stdin` for multi-line E2E commands instead
240+ of quote-heavy `--shell` strings on direct SSH providers.
241+- Use `--fresh-pr <pr>` when validating an upstream PR in isolation from the
242+ local dirty tree. Add `--apply-local-patch` only when testing a local fixup on
243+ top of that PR.
224244- Use one-shot Crabbox for a single proof; use a reusable Testbox only when
225245 several commands must share built images, installed packages, or live state.
226246- Prefer `OPENCLAW_CURRENT_PACKAGE_TGZ` with Docker/package lanes when testing a
@@ -327,7 +347,9 @@ Common Crabbox-only failures:
327347- Slug/claim confusion: use the raw `tbx_...` id, or run one-shot without
328348`--id`.
329349- Sync/timing bug: add `--debug --timing-json`; capture the final JSON and the
330- printed Actions URL.
350+ printed Actions URL. Large sync warnings now include top source directories
351+ by file count and a hint to update `.crabboxignore` / `sync.exclude`; inspect
352+ those before reaching for `--force-sync-large`.
331353- Cleanup uncertainty: run `blacksmith testbox list` and stop only boxes you
332354 created.
333355- Testbox queued/capacity pressure: do not convert a broad changed gate or full
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。