docs(xce-build): drop redundant manual nix develop wrapper from skill

xce-build.sh has self-wrapped into nix develop since 028d8f6a; this
skill's two example command blocks still showed the old manual
"nix develop ./src --command bash ..." wrapper, now stale (harmless
since a nested nix develop is a no-op, but misleading documentation).
Simplified both to invoke the script directly, matching README.md's
same cleanup.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLfB5uWRdmx2WiZSFC7Fm7
This commit is contained in:
Rongsong Shen 2026-09-08 08:44:54 +00:00
parent 4b2e053c3e
commit 7acf26f290
No known key found for this signature in database
GPG key ID: 5BCDAAE0123E9FE2

View file

@ -40,13 +40,15 @@ This is a judgment call, not a rigid formula — if you notice other heavy build
Examples: `/xce-build controller` (ASAN), `/xce-build controller debug` (gdb/core build), `/xce-build all release`, `/xce-build xceadmin` (build + test + wheel, any profile arg is accepted and ignored), `/xce-build xceadmin --incremental` (same, but keeps other components already built in the same dir).
`xce-build.sh` self-wraps into the hermetic nix dev shell (checks `IN_NIX_SHELL`, re-execs itself under `nix develop` if unset) — invoke it directly, no manual `nix develop ./src --command` wrapper needed.
Run (substituting the parsed component/profile/build_dir, and the `--jobs N` value computed per the section above; omit trailing empty ones; append `--incremental` at the end, anywhere, when requested):
```bash
nix develop ./src --command bash src/tools/xce-build.sh <component> <profile> <build_dir> --jobs <N> [--incremental]
bash src/tools/xce-build.sh <component> <profile> <build_dir> --jobs <N> [--incremental]
```
e.g. for `/xce-build controller` with a computed `N=14`: `nix develop ./src --command bash src/tools/xce-build.sh controller --jobs 14`. For `/xce-build xceadmin --incremental` with `N=8`: `nix develop ./src --command bash src/tools/xce-build.sh xceadmin --jobs 8 --incremental` (`--jobs` and `--incremental` are flags, stripped out from any position before the remaining words are parsed positionally — they don't need to follow profile/build_dir).
e.g. for `/xce-build controller` with a computed `N=14`: `bash src/tools/xce-build.sh controller --jobs 14`. For `/xce-build xceadmin --incremental` with `N=8`: `bash src/tools/xce-build.sh xceadmin --jobs 8 --incremental` (`--jobs` and `--incremental` are flags, stripped out from any position before the remaining words are parsed positionally — they don't need to follow profile/build_dir).
## Run the build via Bash `run_in_background`, not an Agent-tool subagent
@ -55,7 +57,7 @@ e.g. for `/xce-build controller` with a computed `N=14`: `nix develop ./src --co
Instead, run the resolved command directly with the **Bash tool's own `run_in_background: true`**, from the current session, and let the harness's own task-notification mechanism — not a subagent's self-report — tell you when it's done. This has been empirically proven reliable in this exact repo (2026-09-03: both a full `all debug` build and a `controller` ASAN rebuild were driven this way, and each genuinely blocked until real completion).
```bash
nix develop ./src --command bash src/tools/xce-build.sh <component> <profile> <build_dir> --jobs <N> [--incremental] \
bash src/tools/xce-build.sh <component> <profile> <build_dir> --jobs <N> [--incremental] \
> <scratchpad>/xce-build-<component>-<profile>.log 2>&1; \
echo "EXIT_CODE=$?" >> <scratchpad>/xce-build-<component>-<profile>.log
```