Skip to content

fix: 6 critical fixes + community PR guardrails (v0.13.2.0)#602

Merged
garrytan merged 12 commits intomainfrom
garrytan/fix-issues-batch
Mar 28, 2026
Merged

fix: 6 critical fixes + community PR guardrails (v0.13.2.0)#602
garrytan merged 12 commits intomainfrom
garrytan/fix-issues-batch

Conversation

@garrytan
Copy link
Copy Markdown
Owner

Summary

Six fixes from community PRs and bug reports, plus a CLAUDE.md guardrail for voice/ETHOS protection.

Supply Chain

Crash Fixes

Platform

Correctness

Docs

  • 9530c29 Community PR guardrails in CLAUDE.md — protect ETHOS.md and voice

Pre-Landing Review

No issues found. All changes are surgical bug fixes (one-line to ~7-line changes each).

Test plan

  • bun test passes (all failures pre-existing on main, verified)
  • git ls-files bun.lock → tracked
  • grep "simultaneously" autoplan/SKILL.md → 0 matches in dual-voice context
  • grep "gstack/projects" ship/SKILL.md → found
  • CLAUDE.md contains "Community PR guardrails" section

After merge

🤖 Generated with Claude Code

garrytan and others added 9 commits March 28, 2026 08:10
Remove bun.lock from .gitignore and commit the lockfile. Every bun install
now uses exact pinned versions instead of resolving floating ^ ranges from
npm fresh. Closes the supply-chain vector from #566.

Co-Authored-By: boinger <boinger@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…sent

Add || true to git commands and fallback defaults so gstack-slug works
outside git repos. Prevents unbound variable crash that kills every
review skill when no git context exists.

Co-Authored-By: collinstraka-clov <collinstraka-clov@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add -t 10 to the read command in the skill-prefix prompt. In CI, Docker,
and Conductor workspaces where a TTY exists but nobody is watching, the
prompt now auto-selects short names after 10 seconds instead of blocking
forever.

Co-Authored-By: stedfn <stedfn@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… constants

Bun compiled binaries on Windows don't handle numeric fs.constants
correctly. The string flag 'wx' is semantically identical to
O_CREAT | O_EXCL | O_WRONLY per Node docs and works on all platforms.

Fixes #599

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
/office-hours writes design docs to ~/.gstack/projects/$SLUG/ but /ship
and /review only searched ~/.claude/plans, ~/.codex/plans, and .gstack/plans.
Add the project-scoped directory as the first search location so plan
validation finds design docs created by the standard workflow.

Fixes #591

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… broken parallel

Background subagents don't inherit tool permissions in Claude Code, so the
Claude subagent in dual-voice mode was silently failing on every invocation.
Every autoplan run was degrading to single-reviewer mode without warning.

Change all three phases (CEO, Design, Eng) from "simultaneously" to
sequential foreground execution: Claude subagent first (Agent tool,
foreground), then Codex (Bash). Both complete before the consensus table.

Fixes #497

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Regenerated from autoplan/SKILL.md.tmpl (dual-voice fix) and
scripts/resolvers/review.ts (plan search path fix).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add explicit CLAUDE.md rule requiring AskUserQuestion before accepting
any community PR that touches ETHOS.md, removes promotional material,
or changes Garry's voice. No exceptions, no auto-merging.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 28, 2026

E2E Evals: ✅ PASS

35/35 tests passed | $4.13 total cost | 12 parallel runners

Suite Result Status Cost
e2e-browse 7/7 $0.35
e2e-deploy 5/5 $0.82
e2e-design 3/3 $0.54
e2e-plan 7/7 $1.1
e2e-qa-workflow 2/2 $0.46
e2e-review 5/5 $0.63
e2e-workflow 2/2 $0.15
llm-judge 4/4 $0.08

12x ubicloud-standard-2 (Docker: pre-baked toolchain + deps) | wall clock ≈ slowest suite

garrytan and others added 3 commits March 28, 2026 09:27
Main added v0.13.2.0 (User Sovereignty / autoplan user challenges).
Our branch also used v0.13.2.0. Bumped ours to v0.13.3.0 and kept both
CHANGELOG entries. Autoplan template merged cleanly — main added User
Challenge classification, our branch changed dual-voice to foreground
execution. Both changes coexist.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…writes Claude SKILL.md

When .agents/skills/gstack is symlinked to the repo root (vendored dev mode),
gen-skill-docs --host codex was writing the Codex-transformed SKILL.md through
the symlink, overwriting the Claude version. This caused SKILL.md and
agents/openai.yaml to silently revert to Codex paths after every build.

Now detects when the codex output path resolves to the same real file as the
Claude output and skips the write. Content is still generated for token budget
tracking. The openai.yaml write is also skipped for the same symlink case.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ink-aware codex tests

1. package.json version synced with VERSION file (0.13.3.0)
2. design-shotgun/SKILL.md.tmpl: added setopt +o nomatch guard to
   bash block with variant-*.png glob
3. Codex generation tests: skip skills where .agents/skills/{name}
   is a symlink back to repo root (vendored dev mode). These can't
   have proper codex content since gen-skill-docs skips the write
   to avoid overwriting the Claude SKILL.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@garrytan garrytan merged commit cd66fc2 into main Mar 28, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant