mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-07 22:16:52 +02:00
docs: v0.9.8.0 — deploy pipeline + E2E performance + pre-merge gate
CHANGELOG: added v0.9.8.0 entry covering /land-and-deploy, /canary, /benchmark, /setup-deploy, /review perf pass, E2E model pinning, and 3 test fixes. README: added 4 new skills to tables and install instructions, updated specialist/tool counts (18+7), added deploy pipeline to "What's new" section. /land-and-deploy: added Step 3.5 pre-merge readiness gate that checks review dashboard, E2E results, free tests, and doc-release status before merging. Uses AskUserQuestion for explicit confirmation. VERSION: 0.9.7.0 → 0.9.8.0 TODOS: updated deploy pipeline to Completed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -286,11 +286,14 @@ When the user types `/land-and-deploy`, run this skill.
|
||||
- `/land-and-deploy #123` — specific PR number
|
||||
- `/land-and-deploy #123 <url>` — specific PR + verification URL
|
||||
|
||||
## Non-interactive philosophy (like /ship)
|
||||
## Non-interactive philosophy (like /ship) — with one critical gate
|
||||
|
||||
This is a **non-interactive, fully automated** workflow. Do NOT ask for confirmation at any step except the ones listed below. The user said `/land-and-deploy` which means DO IT.
|
||||
This is a **mostly automated** workflow. Do NOT ask for confirmation at any step except
|
||||
the ones listed below. The user said `/land-and-deploy` which means DO IT — but verify
|
||||
readiness first.
|
||||
|
||||
**Only stop for:**
|
||||
**Always stop for:**
|
||||
- **Pre-merge readiness gate (Step 3.5)** — this is the ONE confirmation before merge
|
||||
- GitHub CLI not authenticated
|
||||
- No PR found for this branch
|
||||
- CI failures or merge conflicts
|
||||
@@ -300,7 +303,6 @@ This is a **non-interactive, fully automated** workflow. Do NOT ask for confirma
|
||||
|
||||
**Never stop for:**
|
||||
- Choosing merge method (auto-detect from repo settings)
|
||||
- Confirming the merge
|
||||
- Timeout warnings (warn and continue gracefully)
|
||||
|
||||
---
|
||||
@@ -365,6 +367,85 @@ If timeout (15 min): **STOP.** "CI has been running for 15 minutes. Investigate
|
||||
|
||||
---
|
||||
|
||||
## Step 3.5: Pre-merge readiness gate
|
||||
|
||||
**This is the critical safety check before an irreversible merge.** Gather ALL evidence,
|
||||
present it to the user, and get explicit confirmation before merging.
|
||||
|
||||
### 3.5a: Review Readiness Dashboard
|
||||
|
||||
```bash
|
||||
~/.codex/skills/gstack/bin/gstack-review-read 2>/dev/null
|
||||
```
|
||||
|
||||
Parse the output. Find the most recent entry for each review skill within the last 7 days.
|
||||
Check staleness: compare each review's commit hash against the current HEAD.
|
||||
|
||||
Display the dashboard:
|
||||
|
||||
```
|
||||
PRE-MERGE READINESS CHECK
|
||||
══════════════════════════
|
||||
Review | Status | Last Run | Stale?
|
||||
----------------|-----------|---------------------|--------
|
||||
Eng Review | CLEAR/— | 2026-03-21 15:00 | N commits behind
|
||||
CEO Review | CLEAR/— | — | —
|
||||
Design Review | CLEAR/— | — | —
|
||||
Codex Review | CLEAR/— | — | —
|
||||
```
|
||||
|
||||
### 3.5b: Test results
|
||||
|
||||
Check for recent E2E eval results:
|
||||
|
||||
```bash
|
||||
ls -t ~/.gstack-dev/evals/*-e2e-*-$(date +%Y-%m-%d)*.json 2>/dev/null | head -20
|
||||
```
|
||||
|
||||
For each eval file found from today, parse pass/fail counts and show a summary:
|
||||
|
||||
```
|
||||
E2E Tests | 52/52 pass | 25 min ago | $8.50
|
||||
Free Tests | (run bun test to check)
|
||||
```
|
||||
|
||||
If no E2E results from today exist, note: "No E2E tests run today."
|
||||
|
||||
Also run free tests inline:
|
||||
|
||||
```bash
|
||||
bun test 2>&1 | tail -5
|
||||
```
|
||||
|
||||
### 3.5c: Document-release check
|
||||
|
||||
Check if `/document-release` has been run on this branch:
|
||||
|
||||
```bash
|
||||
git log --oneline --grep="docs: update project documentation" HEAD~5..HEAD
|
||||
```
|
||||
|
||||
If no doc update commit found: flag "WARNING: /document-release has not been run."
|
||||
|
||||
### 3.5d: Merge confirmation
|
||||
|
||||
Present all evidence in a single AskUserQuestion:
|
||||
|
||||
- **Re-ground:** "About to merge PR #NNN on branch X to base branch Y."
|
||||
- Show the review dashboard, test results, and doc-release status from above.
|
||||
- If ANY of these are red flags (eng review missing/stale, E2E failures, no doc update),
|
||||
list them explicitly as warnings.
|
||||
- **RECOMMENDATION:** Choose A if everything is green. Choose B if there are warnings
|
||||
to address first. Choose C to skip checks and merge anyway.
|
||||
- A) Merge — all checks look good
|
||||
- B) Don't merge yet — fix the flagged issues first
|
||||
- C) Merge anyway — I accept the risks
|
||||
|
||||
If the user chooses B: **STOP** with a summary of what needs to be done.
|
||||
If the user chooses A or C: continue to Step 4.
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Merge the PR
|
||||
|
||||
Record the start timestamp for timing data.
|
||||
|
||||
Reference in New Issue
Block a user