Skip to content

docs(examples): unblock 3 up canaries (compose layout, env-var, stderr capture)#121

Merged
pofallon merged 1 commit into
mainfrom
fix-compose-canary-layout
May 28, 2026
Merged

docs(examples): unblock 3 up canaries (compose layout, env-var, stderr capture)#121
pofallon merged 1 commit into
mainfrom
fix-compose-canary-layout

Conversation

@pofallon
Copy link
Copy Markdown
Contributor

Three small canary fixture fixes found while running the up suite post-#120.

Summary

Test plan

  • All 3 canaries run end-to-end with exit 0:
    • `examples/up/compose-basic/exec.sh`
    • `examples/up/compose-profiles/exec.sh` (5 profile scenarios)
    • `examples/up/gpu-modes/exec.sh` (none/detect/all)

🤖 Generated with Claude Code

…r capture)

- compose-basic, compose-profiles: rename `devcontainer.json` →
  `.devcontainer.json` so config discovery finds them (same pattern as
  #104/#110/#116).
- compose-profiles: `run COMPOSE_PROFILES=… cmd` doesn't propagate the
  env var because `run` sees it as a positional. Use `env` to set it.
- gpu-modes: redirect stderr to a temp log instead of `2>&1` inside
  `$( … )` — post-#114, stderr no longer accidentally contains the
  result JSON, so the prior captures muddled the JSON with logs and
  defeated python's parse.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions github-actions Bot added the docs Documentation changes label May 28, 2026
@pofallon pofallon merged commit 121e33a into main May 28, 2026
10 checks passed
@pofallon pofallon deleted the fix-compose-canary-layout branch May 28, 2026 19:13
pofallon added a commit that referenced this pull request May 28, 2026
Four additions captured from a 13-PR / 13-issue spec-compliance grind:

- "Canary Patterns" under Examples Hygiene — the four bash/python fixture
  pitfalls fixed in #104/#110/#115/#121 (config layout, heredoc vs `-c`,
  `2>&1` inside `$(...)`, env-var wrapping).
- "Verified Non-Bugs" — three cases that look like bugs but aren't,
  with the empirical / spec rationale (ContainerIdentity walking,
  enum-like fields not substituted, down leaving markers). Prevents
  the rediscover-and-investigate loop.
- "Cross-Cutting Audits" under Common Development Tasks — the parallel-
  Explore-agent pattern that produced PRs #125 and #127, plus the five
  pattern axes worth re-running and a "verify empirically" caveat for
  agent claims.
- New-string-field checklist under Pre-Implementation Checklist — when
  adding `String`/`Option<String>` to `DevContainerConfig` or
  `FeatureMetadata`, decide template vs identifier, and substitute via
  the pattern from #122 / #125.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant