mirror of
https://github.com/garrytan/gstack.git
synced 2026-08-19 04:27:19 +02:00
Merge branch 'main' into garrytan/team-supabase-store
Resolved 15 conflicts: - session-runner.ts: kept both costs array (ours) and model/timing telemetry (main), renamed loop var to avoid shadowing model param - skill-e2e.test.ts: accepted deletion (main split into separate files) - gen-skill-docs.ts: kept our codex review flow with $PROJECTS_DIR paths - plan review templates: took main + re-applied $PROJECTS_DIR paths, replaced gstack-review-log with inline approach - TODOS.md: took main's shipped status for E2E model pinning - Generated SKILL.md + .agents/ files: regenerated from resolved templates Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,19 @@
|
||||
# TODOS
|
||||
|
||||
## Builder Ethos
|
||||
|
||||
### First-time Search Before Building intro
|
||||
|
||||
**What:** Add a `generateSearchIntro()` function (like `generateLakeIntro()`) that introduces the Search Before Building principle on first use, with a link to the blog essay.
|
||||
|
||||
**Why:** Boil the Lake has an intro flow that links to the essay and marks `.completeness-intro-seen`. Search Before Building should have the same pattern for discoverability.
|
||||
|
||||
**Context:** Blocked on a blog post to link to. When the essay exists, add the intro flow with a `.search-intro-seen` marker file. Pattern: `generateLakeIntro()` at gen-skill-docs.ts:176.
|
||||
|
||||
**Effort:** S
|
||||
**Priority:** P2
|
||||
**Depends on:** Blog post about Search Before Building
|
||||
|
||||
## Browse
|
||||
|
||||
### Bundle server.ts into compiled binary
|
||||
@@ -163,17 +177,6 @@
|
||||
**Priority:** P2
|
||||
**Depends on:** None
|
||||
|
||||
### Post-deploy verification (ship + browse)
|
||||
|
||||
**What:** After push, browse staging/preview URL, screenshot key pages, check console for JS errors, compare staging vs prod via snapshot diff. Include verification screenshots in PR body. STOP if critical errors found.
|
||||
|
||||
**Why:** Catch deployment-time regressions (JS errors, broken layouts) before merge.
|
||||
|
||||
**Context:** Requires S3 upload infrastructure for PR screenshots. Pairs with visual PR annotations.
|
||||
|
||||
**Effort:** L
|
||||
**Priority:** P2
|
||||
**Depends on:** /setup-gstack-upload, visual PR annotations
|
||||
|
||||
### Visual verification with screenshots in PR body
|
||||
|
||||
@@ -445,14 +448,6 @@ No S3 needed.
|
||||
**Priority:** P3
|
||||
**Depends on:** Video recording
|
||||
|
||||
### Deploy-verify skill
|
||||
|
||||
**What:** Lightweight post-deploy smoke test: hit key URLs, verify 200s, screenshot critical pages, console error check, compare against baseline snapshots. Pass/fail with evidence.
|
||||
|
||||
**Why:** Fast post-deploy confidence check, separate from full QA.
|
||||
|
||||
**Effort:** M
|
||||
**Priority:** P2
|
||||
|
||||
### GitHub Actions eval upload
|
||||
|
||||
@@ -466,16 +461,11 @@ No S3 needed.
|
||||
**Priority:** P2
|
||||
**Depends on:** Eval persistence (shipped in v0.3.6)
|
||||
|
||||
### E2E model pinning
|
||||
### E2E model pinning — SHIPPED
|
||||
|
||||
**What:** Pin E2E tests to claude-sonnet-4-6 for cost efficiency, add retry:2 for flaky LLM responses.
|
||||
~~**What:** Pin E2E tests to claude-sonnet-4-6 for cost efficiency, add retry:2 for flaky LLM responses.~~
|
||||
|
||||
**Why:** Reduce E2E test cost and flakiness.
|
||||
|
||||
**Status:** Model pinning shipped (session-runner.ts passes `--model` from `EVAL_TIER` env). Retry:2 still TODO.
|
||||
|
||||
**Effort:** XS
|
||||
**Priority:** P2
|
||||
Shipped: Default model changed to Sonnet for structure tests (~30), Opus retained for quality tests (~10). `--retry 2` added. `EVALS_MODEL` env var for override. `test:e2e:fast` tier added. Rate-limit telemetry (first_response_ms, max_inter_turn_ms) and wall_clock_ms tracking added to eval-store.
|
||||
|
||||
### Eval web dashboard
|
||||
|
||||
@@ -585,17 +575,6 @@ Shipped in v0.8.3. Step 8.5 added to `/ship` — after creating the PR, `/ship`
|
||||
**Priority:** P3
|
||||
**Depends on:** gstack-diff-scope (shipped)
|
||||
|
||||
### /merge skill — review-gated PR merge
|
||||
|
||||
**What:** Create a `/merge` skill that merges an approved PR, but first checks the Review Readiness Dashboard and runs `/review` (Fix-First) if code review hasn't been done. Separates "ship" (create PR) from "merge" (land it).
|
||||
|
||||
**Why:** Currently `/review` runs inside `/ship` Step 3.5 but isn't tracked as a gate. A `/merge` skill ensures code review always happens before landing, and enables workflows where someone else reviews the PR first.
|
||||
|
||||
**Context:** `/ship` creates the PR. `/merge` would: check dashboard → run `/review` if needed → `gh pr merge`. This is where code review tracking belongs — at merge time, not at plan time.
|
||||
|
||||
**Effort:** M
|
||||
**Priority:** P2
|
||||
**Depends on:** Ship Confidence Dashboard (shipped)
|
||||
|
||||
## Completeness
|
||||
|
||||
@@ -647,6 +626,17 @@ Shipped in v0.6.5. TemplateContext in gen-skill-docs.ts bakes skill name into pr
|
||||
|
||||
## Completed
|
||||
|
||||
### Deploy pipeline (v0.9.8.0)
|
||||
- /land-and-deploy — merge PR, wait for CI/deploy, canary verification
|
||||
- /canary — post-deploy monitoring loop with anomaly detection
|
||||
- /benchmark — performance regression detection with Core Web Vitals
|
||||
- /setup-deploy — one-time deploy platform configuration
|
||||
- /review Performance & Bundle Impact pass
|
||||
- E2E model pinning (Sonnet default, Opus for quality tests)
|
||||
- E2E timing telemetry (first_response_ms, max_inter_turn_ms, wall_clock_ms)
|
||||
- test:e2e:fast tier, --retry 2 on all E2E scripts
|
||||
**Completed:** v0.9.8.0
|
||||
|
||||
### Phase 1: Foundations (v0.2.0)
|
||||
- Rename to gstack
|
||||
- Restructure to monorepo layout
|
||||
|
||||
Reference in New Issue
Block a user