docs(examples): make exec canaries monorepo-robust and portable#149
Merged
Conversation
- Bake `--mount-workspace-git-root false` into every exec example's `up` invocation so `/workspace/<file>` references resolve when the canary is run inside this monorepo (the git root would otherwise be mounted and the files land under `/workspace/examples/...`). Harmless when run standalone. - id-label-targeting: replace the non-spec `containerLabels` property (which deacon correctly ignores) with the spec-compliant `runArgs: ["--label", "key=value", ...]`, so `exec --id-label app.name=…` can target the container. Update the README note accordingly. - non-interactive-streaming: swap host `xxd` (not always installed) for coreutils `od -An -tx1`; drop the `| head -n 5` on the JSON streaming step (it SIGPIPE-killed the producer under `set -o pipefail`) to match the README, and fix the README's "Forces PTY" framing — a PTY is only allocated for an interactive (terminal) stdin. Flips the nine exec/* rows to ✅ in CANARY_STATUS.md. The exec PTY and env-probe code fixes these depend on are in #148. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixture/portability fixes for the
exec/*canaries (the⚠️ fixturerows inCANARY_STATUS.md), plus the manifest flips to ✅.--mount-workspace-git-root falseinto every exec example'supinvocation. Run inside this monorepo the git root is mounted, so/workspace/<file>references land under/workspace/examples/...; the flag mounts the example folder directly. Harmless standalone.containerLabelsis not a devcontainer.json spec property (confirmed against containers.dev) — deacon correctly ignores it, soexec --id-label app.name=…found no container. Replaced with the spec-compliantrunArgs: ["--label", "key=value", …]. README note updated.xxdisn't always installed → use coreutilsod -An -tx1. Dropped the| head -n 5on the JSON-streaming step (it SIGPIPE-killed the producer — exit 141 — underset -o pipefail; this is correctexecpassthrough, not a deacon bug) to match the README, and corrected the README's "Forces PTY" wording.Dependency
The exec canaries also needed two code fixes (PTY-without-terminal, camelCase env-probe values) — those are in #148 and should merge first. With #148 + this PR at
main, all nineexec/*rows run green end-to-end (verified locally with the release binary).🤖 Generated with Claude Code