mirror of https://github.com/garrytan/gstack.git
The gate was rejecting any PR VERSION below the util's next-slot recommendation, even when the lower slot was unclaimed. This blocked PRs that legitimately want to land at an unclaimed slot below the queue max — which is what /ship should pick when the goal is monotonic version ordering on main (lower-numbered PRs landing first preserves order; the util's "advance past max claimed" semantics only optimizes for fresh runs picking unique slots, not for queue ordering on merge). New gate logic: 1. Hard-fail if PR VERSION <= base VERSION (no actual bump). 2. Hard-fail if PR VERSION exactly matches another open PR's VERSION (real collision). 3. Pass otherwise. If the PR is below the util's suggestion, emit an informational ::notice:: explaining the slot is unclaimed. The util's output stays informational — it tells fresh /ship runs what the next-up slot should be, but the gate only blocks actual conflicts. This is a strict relaxation: every PR that passed the old gate also passes the new one. Confirmed by dry-run against the current queue (4 open PRs claiming 1.17.0.0, 1.19.0.0, 1.21.1.0, 1.22.0.0): - v1.16.0.0 → pass with informational notice (unclaimed) - v1.17.0.0 → fail (collision with #1234) - v1.15.0.0 → fail (no bump from base) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| host-adapters | ||
| resolvers | ||
| analytics.ts | ||
| archetypes.ts | ||
| build-app.sh | ||
| compare-pr-version.ts | ||
| detect-bump.ts | ||
| dev-skill.ts | ||
| discover-skills.ts | ||
| eval-compare.ts | ||
| eval-list.ts | ||
| eval-select.ts | ||
| eval-summary.ts | ||
| eval-watch.ts | ||
| garry-output-comparison.ts | ||
| gen-skill-docs.ts | ||
| host-config-export.ts | ||
| host-config.ts | ||
| jargon-list.json | ||
| models.ts | ||
| one-way-doors.ts | ||
| preflight-agent-sdk.ts | ||
| psychographic-signals.ts | ||
| question-registry.ts | ||
| setup-scc.sh | ||
| skill-check.ts | ||
| slop-diff.ts | ||
| update-readme-throughput.ts | ||