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:
Garry Tan
2026-03-21 14:39:23 -07:00
parent 00bc482fe1
commit 9dcbf484ad
8 changed files with 301 additions and 24 deletions
+85 -4
View File
@@ -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.