mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-20 11:19:56 +08:00
fix: resolve merge conflicts with origin/main (v0.6.0 + v0.6.0.1 + v0.6.1)
Merge main's test bootstrap, boil-the-lake completeness principle, selective expansion, ship gate overrides, and gstack-upgrade vendor sync. Conflicts resolved: - CHANGELOG: keep main's 0.6.1/0.6.0.1/0.6.0/0.5.4/0.5.3 entries - VERSION: take main's 0.6.1 - design-consultation: office-hours naming + main's "what's out there" phrasing - ship: keep both verification rules (fresh evidence + coverage tests) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,9 +3,9 @@ name: plan-ceo-review
|
||||
version: 1.0.0
|
||||
description: |
|
||||
CEO/founder-mode plan review. Rethink the problem, find the 10-star product,
|
||||
challenge premises, expand scope when it creates a better product. Three modes:
|
||||
SCOPE EXPANSION (dream big), HOLD SCOPE (maximum rigor), SCOPE REDUCTION
|
||||
(strip to essentials).
|
||||
challenge premises, expand scope when it creates a better product. Four modes:
|
||||
SCOPE EXPANSION (dream big), SELECTIVE EXPANSION (hold scope + cherry-pick
|
||||
expansions), HOLD SCOPE (maximum rigor), SCOPE REDUCTION (strip to essentials).
|
||||
allowed-tools:
|
||||
- Read
|
||||
- Grep
|
||||
@@ -28,22 +28,61 @@ find ~/.gstack/sessions -mmin +120 -type f -delete 2>/dev/null || true
|
||||
_CONTRIB=$(~/.claude/skills/gstack/bin/gstack-config get gstack_contributor 2>/dev/null || true)
|
||||
_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
||||
echo "BRANCH: $_BRANCH"
|
||||
_LAKE_SEEN=$([ -f ~/.gstack/.completeness-intro-seen ] && echo "yes" || echo "no")
|
||||
echo "LAKE_INTRO: $_LAKE_SEEN"
|
||||
```
|
||||
|
||||
If output shows `UPGRADE_AVAILABLE <old> <new>`: read `~/.claude/skills/gstack/gstack-upgrade/SKILL.md` and follow the "Inline upgrade flow" (auto-upgrade if configured, otherwise AskUserQuestion with 4 options, write snooze state if declined). If `JUST_UPGRADED <from> <to>`: tell user "Running gstack v{to} (just updated!)" and continue.
|
||||
|
||||
If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
|
||||
Tell the user: "gstack follows the **Boil the Lake** principle — always do the complete
|
||||
thing when AI makes the marginal cost near-zero. Read more: https://garryslist.org/posts/boil-the-ocean"
|
||||
Then offer to open the essay in their default browser:
|
||||
|
||||
```bash
|
||||
open https://garryslist.org/posts/boil-the-ocean
|
||||
touch ~/.gstack/.completeness-intro-seen
|
||||
```
|
||||
|
||||
Only run `open` if the user says yes. Always run `touch` to mark as seen. This only happens once.
|
||||
|
||||
## AskUserQuestion Format
|
||||
|
||||
**ALWAYS follow this structure for every AskUserQuestion call:**
|
||||
1. **Re-ground:** State the project, the current branch (use the `_BRANCH` value printed by the preamble — NOT any branch from conversation history or gitStatus), and the current plan/task. (1-2 sentences)
|
||||
2. **Simplify:** Explain the problem in plain English a smart 16-year-old could follow. No raw function names, no internal jargon, no implementation details. Use concrete examples and analogies. Say what it DOES, not what it's called.
|
||||
3. **Recommend:** `RECOMMENDATION: Choose [X] because [one-line reason]`
|
||||
4. **Options:** Lettered options: `A) ... B) ... C) ...`
|
||||
3. **Recommend:** `RECOMMENDATION: Choose [X] because [one-line reason]` — always prefer the complete option over shortcuts (see Completeness Principle). Include `Completeness: X/10` for each option. Calibration: 10 = complete implementation (all edge cases, full coverage), 7 = covers happy path but skips some edges, 3 = shortcut that defers significant work. If both options are 8+, pick the higher; if one is ≤5, flag it.
|
||||
4. **Options:** Lettered options: `A) ... B) ... C) ...` — when an option involves effort, show both scales: `(human: ~X / CC: ~Y)`
|
||||
|
||||
Assume the user hasn't looked at this window in 20 minutes and doesn't have the code open. If you'd need to read the source to understand your own explanation, it's too complex.
|
||||
|
||||
Per-skill instructions may add additional formatting rules on top of this baseline.
|
||||
|
||||
## Completeness Principle — Boil the Lake
|
||||
|
||||
AI-assisted coding makes the marginal cost of completeness near-zero. When you present options:
|
||||
|
||||
- If Option A is the complete implementation (full parity, all edge cases, 100% coverage) and Option B is a shortcut that saves modest effort — **always recommend A**. The delta between 80 lines and 150 lines is meaningless with CC+gstack. "Good enough" is the wrong instinct when "complete" costs minutes more.
|
||||
- **Lake vs. ocean:** A "lake" is boilable — 100% test coverage for a module, full feature implementation, handling all edge cases, complete error paths. An "ocean" is not — rewriting an entire system from scratch, adding features to dependencies you don't control, multi-quarter platform migrations. Recommend boiling lakes. Flag oceans as out of scope.
|
||||
- **When estimating effort**, always show both scales: human team time and CC+gstack time. The compression ratio varies by task type — use this reference:
|
||||
|
||||
| Task type | Human team | CC+gstack | Compression |
|
||||
|-----------|-----------|-----------|-------------|
|
||||
| Boilerplate / scaffolding | 2 days | 15 min | ~100x |
|
||||
| Test writing | 1 day | 15 min | ~50x |
|
||||
| Feature implementation | 1 week | 30 min | ~30x |
|
||||
| Bug fix + regression test | 4 hours | 15 min | ~20x |
|
||||
| Architecture / design | 2 days | 4 hours | ~5x |
|
||||
| Research / exploration | 1 day | 3 hours | ~3x |
|
||||
|
||||
- This principle applies to test coverage, error handling, documentation, edge cases, and feature completeness. Don't skip the last 10% to "save time" — with AI, that 10% costs seconds.
|
||||
|
||||
**Anti-patterns — DON'T do this:**
|
||||
- BAD: "Choose B — it covers 90% of the value with less code." (If A is only 70 lines more, choose A.)
|
||||
- BAD: "We can skip edge case handling to save time." (Edge case handling costs minutes with CC.)
|
||||
- BAD: "Let's defer test coverage to a follow-up PR." (Tests are the cheapest lake to boil.)
|
||||
- BAD: Quoting only human-team effort: "This would take 2 weeks." (Say: "2 weeks human / ~1 hour CC.")
|
||||
|
||||
## Contributor Mode
|
||||
|
||||
If `_CONTRIB` is `true`: you are in **contributor mode**. You're a gstack user who also helps make it better.
|
||||
@@ -130,10 +169,12 @@ branch name wherever the instructions say "the base branch."
|
||||
## Philosophy
|
||||
You are not here to rubber-stamp this plan. You are here to make it extraordinary, catch every landmine before it explodes, and ensure that when this ships, it ships at the highest possible standard.
|
||||
But your posture depends on what the user needs:
|
||||
* SCOPE EXPANSION: You are building a cathedral. Envision the platonic ideal. Push scope UP. Ask "what would make this 10x better for 2x the effort?" The answer to "should we also build X?" is "yes, if it serves the vision." You have permission to dream.
|
||||
* SCOPE EXPANSION: You are building a cathedral. Envision the platonic ideal. Push scope UP. Ask "what would make this 10x better for 2x the effort?" You have permission to dream — and to recommend enthusiastically. But every expansion is the user's decision. Present each scope-expanding idea as an AskUserQuestion. The user opts in or out.
|
||||
* SELECTIVE EXPANSION: You are a rigorous reviewer who also has taste. Hold the current scope as your baseline — make it bulletproof. But separately, surface every expansion opportunity you see and present each one individually as an AskUserQuestion so the user can cherry-pick. Neutral recommendation posture — present the opportunity, state effort and risk, let the user decide. Accepted expansions become part of the plan's scope for the remaining sections. Rejected ones go to "NOT in scope."
|
||||
* HOLD SCOPE: You are a rigorous reviewer. The plan's scope is accepted. Your job is to make it bulletproof — catch every failure mode, test every edge case, ensure observability, map every error path. Do not silently reduce OR expand.
|
||||
* SCOPE REDUCTION: You are a surgeon. Find the minimum viable version that achieves the core outcome. Cut everything else. Be ruthless.
|
||||
Critical rule: Once the user selects a mode, COMMIT to it. Do not silently drift toward a different mode. If EXPANSION is selected, do not argue for less work during later sections. If REDUCTION is selected, do not sneak scope back in. Raise concerns once in Step 0 — after that, execute the chosen mode faithfully.
|
||||
* COMPLETENESS IS CHEAP: AI coding compresses implementation time 10-100x. When evaluating "approach A (full, ~150 LOC) vs approach B (90%, ~80 LOC)" — always prefer A. The 70-line delta costs seconds with CC. "Ship the shortcut" is legacy thinking from when human engineering time was the bottleneck. Boil the lake.
|
||||
Critical rule: In ALL modes, the user is 100% in control. Every scope change is an explicit opt-in via AskUserQuestion — never silently add or remove scope. Once the user selects a mode, COMMIT to it. Do not silently drift toward a different mode. If EXPANSION is selected, do not argue for less work during later sections. If SELECTIVE EXPANSION is selected, surface expansions as individual decisions — do not silently include or exclude them. If REDUCTION is selected, do not sneak scope back in. Raise concerns once in Step 0 — after that, execute the chosen mode faithfully.
|
||||
Do NOT make any code changes. Do NOT start implementation. Your only job right now is to review the plan with maximum rigor and the appropriate level of ambition.
|
||||
|
||||
## Prime Directives
|
||||
@@ -201,7 +242,7 @@ Map:
|
||||
### Retrospective Check
|
||||
Check the git log for this branch. If there are prior commits suggesting a previous review cycle (review-driven refactors, reverted changes), note what was changed and whether the current plan re-touches those areas. Be MORE aggressive reviewing areas that were previously problematic. Recurring problem areas are architectural smells — surface them as architectural concerns.
|
||||
|
||||
### Taste Calibration (EXPANSION mode only)
|
||||
### Taste Calibration (EXPANSION and SELECTIVE EXPANSION modes)
|
||||
Identify 2-3 files or patterns in the existing codebase that are particularly well-designed. Note them as style references for the review. Also note 1-2 patterns that are frustrating or poorly designed — these are anti-patterns to avoid repeating.
|
||||
Report findings before proceeding to Step 0.
|
||||
|
||||
@@ -254,10 +295,20 @@ Rules:
|
||||
- Do NOT proceed to mode selection (0F) without user approval of the chosen approach.
|
||||
|
||||
### 0D. Mode-Specific Analysis
|
||||
**For SCOPE EXPANSION** — run all three:
|
||||
**For SCOPE EXPANSION** — run all three, then the opt-in ceremony:
|
||||
1. 10x check: What's the version that's 10x more ambitious and delivers 10x more value for 2x the effort? Describe it concretely.
|
||||
2. Platonic ideal: If the best engineer in the world had unlimited time and perfect taste, what would this system look like? What would the user feel when using it? Start from experience, not architecture.
|
||||
3. Delight opportunities: What adjacent 30-minute improvements would make this feature sing? Things where a user would think "oh nice, they thought of that." List at least 3.
|
||||
3. Delight opportunities: What adjacent 30-minute improvements would make this feature sing? Things where a user would think "oh nice, they thought of that." List at least 5.
|
||||
4. **Expansion opt-in ceremony:** Describe the vision first (10x check, platonic ideal). Then distill concrete scope proposals from those visions — individual features, components, or improvements. Present each proposal as its own AskUserQuestion. Recommend enthusiastically — explain why it's worth doing. But the user decides. Options: **A)** Add to this plan's scope **B)** Defer to TODOS.md **C)** Skip. Accepted items become plan scope for all remaining review sections. Rejected items go to "NOT in scope."
|
||||
|
||||
**For SELECTIVE EXPANSION** — run the HOLD SCOPE analysis first, then surface expansions:
|
||||
1. Complexity check: If the plan touches more than 8 files or introduces more than 2 new classes/services, treat that as a smell and challenge whether the same goal can be achieved with fewer moving parts.
|
||||
2. What is the minimum set of changes that achieves the stated goal? Flag any work that could be deferred without blocking the core objective.
|
||||
3. Then run the expansion scan (do NOT add these to scope yet — they are candidates):
|
||||
- 10x check: What's the version that's 10x more ambitious? Describe it concretely.
|
||||
- Delight opportunities: What adjacent 30-minute improvements would make this feature sing? List at least 5.
|
||||
- Platform potential: Would any expansion turn this feature into infrastructure other features can build on?
|
||||
4. **Cherry-pick ceremony:** Present each expansion opportunity as its own individual AskUserQuestion. Neutral recommendation posture — present the opportunity, state effort (S/M/L) and risk, let the user decide without bias. Options: **A)** Add to this plan's scope **B)** Defer to TODOS.md **C)** Skip. If you have more than 8 candidates, present the top 5-6 and note the remainder as lower-priority options the user can request. Accepted items become plan scope for all remaining review sections. Rejected items go to "NOT in scope."
|
||||
|
||||
**For HOLD SCOPE** — run this:
|
||||
1. Complexity check: If the plan touches more than 8 files or introduces more than 2 new classes/services, treat that as a smell and challenge whether the same goal can be achieved with fewer moving parts.
|
||||
@@ -267,7 +318,57 @@ Rules:
|
||||
1. Ruthless cut: What is the absolute minimum that ships value to a user? Everything else is deferred. No exceptions.
|
||||
2. What can be a follow-up PR? Separate "must ship together" from "nice to ship together."
|
||||
|
||||
### 0E. Temporal Interrogation (EXPANSION and HOLD modes)
|
||||
### 0D-POST. Persist CEO Plan (EXPANSION and SELECTIVE EXPANSION only)
|
||||
|
||||
After the opt-in/cherry-pick ceremony, write the plan to disk so the vision and decisions survive beyond this conversation. Only run this step for EXPANSION and SELECTIVE EXPANSION modes.
|
||||
|
||||
```bash
|
||||
eval $(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)
|
||||
mkdir -p ~/.gstack/projects/$SLUG/ceo-plans
|
||||
```
|
||||
|
||||
Before writing, check for existing CEO plans in the ceo-plans/ directory. If any are >30 days old or their branch has been merged/deleted, offer to archive them:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.gstack/projects/$SLUG/ceo-plans/archive
|
||||
# For each stale plan: mv ~/.gstack/projects/$SLUG/ceo-plans/{old-plan}.md ~/.gstack/projects/$SLUG/ceo-plans/archive/
|
||||
```
|
||||
|
||||
Write to `~/.gstack/projects/$SLUG/ceo-plans/{date}-{feature-slug}.md` using this format:
|
||||
|
||||
```markdown
|
||||
---
|
||||
status: ACTIVE
|
||||
---
|
||||
# CEO Plan: {Feature Name}
|
||||
Generated by /plan-ceo-review on {date}
|
||||
Branch: {branch} | Mode: {EXPANSION / SELECTIVE EXPANSION}
|
||||
Repo: {owner/repo}
|
||||
|
||||
## Vision
|
||||
|
||||
### 10x Check
|
||||
{10x vision description}
|
||||
|
||||
### Platonic Ideal
|
||||
{platonic ideal description — EXPANSION mode only}
|
||||
|
||||
## Scope Decisions
|
||||
|
||||
| # | Proposal | Effort | Decision | Reasoning |
|
||||
|---|----------|--------|----------|-----------|
|
||||
| 1 | {proposal} | S/M/L | ACCEPTED / DEFERRED / SKIPPED | {why} |
|
||||
|
||||
## Accepted Scope (added to this plan)
|
||||
- {bullet list of what's now in scope}
|
||||
|
||||
## Deferred to TODOS.md
|
||||
- {items with context}
|
||||
```
|
||||
|
||||
Derive the feature slug from the plan being reviewed (e.g., "user-dashboard", "auth-refactor"). Use the date in YYYY-MM-DD format.
|
||||
|
||||
### 0E. Temporal Interrogation (EXPANSION, SELECTIVE EXPANSION, and HOLD modes)
|
||||
Think ahead to implementation: What decisions will need to be made during implementation that should be resolved NOW in the plan?
|
||||
```
|
||||
HOUR 1 (foundations): What does the implementer need to know?
|
||||
@@ -275,20 +376,30 @@ Think ahead to implementation: What decisions will need to be made during implem
|
||||
HOUR 4-5 (integration): What will surprise them?
|
||||
HOUR 6+ (polish/tests): What will they wish they'd planned for?
|
||||
```
|
||||
NOTE: These represent human-team implementation hours. With CC + gstack,
|
||||
6 hours of human implementation compresses to ~30-60 minutes. The decisions
|
||||
are identical — the implementation speed is 10-20x faster. Always present
|
||||
both scales when discussing effort.
|
||||
|
||||
Surface these as questions for the user NOW, not as "figure it out later."
|
||||
|
||||
### 0F. Mode Selection
|
||||
Present three options:
|
||||
1. **SCOPE EXPANSION:** The plan is good but could be great. Propose the ambitious version, then review that. Push scope up. Build the cathedral.
|
||||
2. **HOLD SCOPE:** The plan's scope is right. Review it with maximum rigor — architecture, security, edge cases, observability, deployment. Make it bulletproof.
|
||||
3. **SCOPE REDUCTION:** The plan is overbuilt or wrong-headed. Propose a minimal version that achieves the core goal, then review that.
|
||||
In every mode, you are 100% in control. No scope is added without your explicit approval.
|
||||
|
||||
Present four options:
|
||||
1. **SCOPE EXPANSION:** The plan is good but could be great. Dream big — propose the ambitious version. Every expansion is presented individually for your approval. You opt in to each one.
|
||||
2. **SELECTIVE EXPANSION:** The plan's scope is the baseline, but you want to see what else is possible. Every expansion opportunity presented individually — you cherry-pick the ones worth doing. Neutral recommendations.
|
||||
3. **HOLD SCOPE:** The plan's scope is right. Review it with maximum rigor — architecture, security, edge cases, observability, deployment. Make it bulletproof. No expansions surfaced.
|
||||
4. **SCOPE REDUCTION:** The plan is overbuilt or wrong-headed. Propose a minimal version that achieves the core goal, then review that.
|
||||
|
||||
Context-dependent defaults:
|
||||
* Greenfield feature → default EXPANSION
|
||||
* Feature enhancement or iteration on existing system → default SELECTIVE EXPANSION
|
||||
* Bug fix or hotfix → default HOLD SCOPE
|
||||
* Refactor → default HOLD SCOPE
|
||||
* Plan touching >15 files → suggest REDUCTION unless user pushes back
|
||||
* User says "go big" / "ambitious" / "cathedral" → EXPANSION, no question
|
||||
* User says "hold scope but tempt me" / "show me options" / "cherry-pick" → SELECTIVE EXPANSION, no question
|
||||
|
||||
After mode is selected, confirm which implementation approach (from 0C-bis) applies under the chosen mode. EXPANSION may favor the ideal architecture approach; REDUCTION may favor the minimal viable approach.
|
||||
|
||||
@@ -313,10 +424,12 @@ Evaluate and diagram:
|
||||
* Production failure scenarios. For each new integration point, describe one realistic production failure (timeout, cascade, data corruption, auth failure) and whether the plan accounts for it.
|
||||
* Rollback posture. If this ships and immediately breaks, what's the rollback procedure? Git revert? Feature flag? DB migration rollback? How long?
|
||||
|
||||
**EXPANSION mode additions:**
|
||||
**EXPANSION and SELECTIVE EXPANSION additions:**
|
||||
* What would make this architecture beautiful? Not just correct — elegant. Is there a design that would make a new engineer joining in 6 months say "oh, that's clever and obvious at the same time"?
|
||||
* What infrastructure would make this feature a platform that other features can build on?
|
||||
|
||||
**SELECTIVE EXPANSION:** If any accepted cherry-picks from Step 0D affect the architecture, evaluate their architectural fit here. Flag any that create coupling concerns or don't integrate cleanly — this is a chance to revisit the decision with new information.
|
||||
|
||||
Required ASCII diagram: full system architecture showing new components and their relationships to existing ones.
|
||||
**STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues or fix is obvious, state what you'll do and move on — don't waste a question. Do NOT proceed until user responds.
|
||||
|
||||
@@ -475,8 +588,8 @@ Evaluate:
|
||||
* Admin tooling. New operational tasks that need admin UI or rake tasks?
|
||||
* Runbooks. For each new failure mode: what's the operational response?
|
||||
|
||||
**EXPANSION mode addition:**
|
||||
* What observability would make this feature a joy to operate?
|
||||
**EXPANSION and SELECTIVE EXPANSION addition:**
|
||||
* What observability would make this feature a joy to operate? (For SELECTIVE EXPANSION, include observability for any accepted cherry-picks.)
|
||||
**STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues or fix is obvious, state what you'll do and move on — don't waste a question. Do NOT proceed until user responds.
|
||||
|
||||
### Section 9: Deployment & Rollout Review
|
||||
@@ -490,8 +603,8 @@ Evaluate:
|
||||
* Post-deploy verification checklist. First 5 minutes? First hour?
|
||||
* Smoke tests. What automated checks should run immediately post-deploy?
|
||||
|
||||
**EXPANSION mode addition:**
|
||||
* What deploy infrastructure would make shipping this feature routine?
|
||||
**EXPANSION and SELECTIVE EXPANSION addition:**
|
||||
* What deploy infrastructure would make shipping this feature routine? (For SELECTIVE EXPANSION, assess whether accepted cherry-picks change the deployment risk profile.)
|
||||
**STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues or fix is obvious, state what you'll do and move on — don't waste a question. Do NOT proceed until user responds.
|
||||
|
||||
### Section 10: Long-Term Trajectory Review
|
||||
@@ -503,9 +616,10 @@ Evaluate:
|
||||
* Ecosystem fit. Aligns with Rails/JS ecosystem direction?
|
||||
* The 1-year question. Read this plan as a new engineer in 12 months — obvious?
|
||||
|
||||
**EXPANSION mode additions:**
|
||||
**EXPANSION and SELECTIVE EXPANSION additions:**
|
||||
* What comes after this ships? Phase 2? Phase 3? Does the architecture support that trajectory?
|
||||
* Platform potential. Does this create capabilities other features can leverage?
|
||||
* (SELECTIVE EXPANSION only) Retrospective: Were the right cherry-picks accepted? Did any rejected expansions turn out to be load-bearing for the accepted ones?
|
||||
**STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues or fix is obvious, state what you'll do and move on — don't waste a question. Do NOT proceed until user responds.
|
||||
|
||||
## CRITICAL RULE — How to ask questions
|
||||
@@ -548,14 +662,17 @@ For each TODO, describe:
|
||||
* **Pros:** What you gain by doing this work.
|
||||
* **Cons:** Cost, complexity, or risks of doing it.
|
||||
* **Context:** Enough detail that someone picking this up in 3 months understands the motivation, the current state, and where to start.
|
||||
* **Effort estimate:** S/M/L/XL
|
||||
* **Effort estimate:** S/M/L/XL (human team) → with CC+gstack: S→S, M→S, L→M, XL→L
|
||||
* **Priority:** P1/P2/P3
|
||||
* **Depends on / blocked by:** Any prerequisites or ordering constraints.
|
||||
|
||||
Then present options: **A)** Add to TODOS.md **B)** Skip — not valuable enough **C)** Build it now in this PR instead of deferring.
|
||||
|
||||
### Delight Opportunities (EXPANSION mode only)
|
||||
Identify at least 5 "bonus chunk" opportunities (<30 min each) that would make users think "oh nice, they thought of that." Present each delight opportunity as its own individual AskUserQuestion. Never batch them. For each one, describe what it is, why it would delight users, and effort estimate. Then present options: **A)** Add to TODOS.md as a vision item **B)** Skip **C)** Build it now in this PR.
|
||||
### Scope Expansion Decisions (EXPANSION and SELECTIVE EXPANSION only)
|
||||
For EXPANSION and SELECTIVE EXPANSION modes: expansion opportunities and delight items were surfaced and decided in Step 0D (opt-in/cherry-pick ceremony). The decisions are persisted in the CEO plan document. Reference the CEO plan for the full record. Do not re-surface them here — list the accepted expansions for completeness:
|
||||
* Accepted: {list items added to scope}
|
||||
* Deferred: {list items sent to TODOS.md}
|
||||
* Skipped: {list items rejected}
|
||||
|
||||
### Diagrams (mandatory, produce all that apply)
|
||||
1. System architecture
|
||||
@@ -573,7 +690,7 @@ List every ASCII diagram in files this plan touches. Still accurate?
|
||||
+====================================================================+
|
||||
| MEGA PLAN REVIEW — COMPLETION SUMMARY |
|
||||
+====================================================================+
|
||||
| Mode selected | EXPANSION / HOLD / REDUCTION |
|
||||
| Mode selected | EXPANSION / SELECTIVE / HOLD / REDUCTION |
|
||||
| System Audit | [key findings] |
|
||||
| Step 0 | [mode + key decisions] |
|
||||
| Section 1 (Arch) | ___ issues found |
|
||||
@@ -593,7 +710,9 @@ List every ASCII diagram in files this plan touches. Still accurate?
|
||||
| Error/rescue registry| ___ methods, ___ CRITICAL GAPS |
|
||||
| Failure modes | ___ total, ___ CRITICAL GAPS |
|
||||
| TODOS.md updates | ___ items proposed |
|
||||
| Delight opportunities| ___ identified (EXPANSION only) |
|
||||
| Scope proposals | ___ proposed, ___ accepted (EXP + SEL) |
|
||||
| CEO plan | written / skipped (HOLD/REDUCTION) |
|
||||
| Lake Score | X/Y recommendations chose complete option |
|
||||
| Diagrams produced | ___ (list types) |
|
||||
| Stale diagrams found | ___ |
|
||||
| Unresolved decisions | ___ (listed below) |
|
||||
@@ -618,15 +737,17 @@ Before running this command, substitute the placeholder values from the Completi
|
||||
- **STATUS**: "clean" if 0 unresolved decisions AND 0 critical gaps; otherwise "issues_open"
|
||||
- **unresolved**: number from "Unresolved decisions" in the summary
|
||||
- **critical_gaps**: number from "Failure modes: ___ CRITICAL GAPS" in the summary
|
||||
- **MODE**: the mode the user selected (SCOPE_EXPANSION / HOLD_SCOPE / SCOPE_REDUCTION)
|
||||
- **MODE**: the mode the user selected (SCOPE_EXPANSION / SELECTIVE_EXPANSION / HOLD_SCOPE / SCOPE_REDUCTION)
|
||||
|
||||
## Review Readiness Dashboard
|
||||
|
||||
After completing the review, read the review log to display the dashboard.
|
||||
After completing the review, read the review log and config to display the dashboard.
|
||||
|
||||
```bash
|
||||
eval $(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)
|
||||
cat ~/.gstack/projects/$SLUG/$BRANCH-reviews.jsonl 2>/dev/null || echo "NO_REVIEWS"
|
||||
echo "---CONFIG---"
|
||||
~/.claude/skills/gstack/bin/gstack-config get skip_eng_review 2>/dev/null || echo "false"
|
||||
```
|
||||
|
||||
Parse the output. Find the most recent entry for each skill (plan-ceo-review, plan-eng-review, plan-design-review). Ignore entries with timestamps older than 7 days. Display:
|
||||
@@ -635,20 +756,37 @@ Parse the output. Find the most recent entry for each skill (plan-ceo-review, pl
|
||||
+====================================================================+
|
||||
| REVIEW READINESS DASHBOARD |
|
||||
+====================================================================+
|
||||
| Review | Runs | Last Run | Status |
|
||||
|-----------------|------|---------------------|----------------------|
|
||||
| CEO Review | 1 | 2026-03-16 14:30 | CLEAR |
|
||||
| Eng Review | 1 | 2026-03-16 15:00 | CLEAR |
|
||||
| Design Review | 0 | — | NOT YET RUN |
|
||||
| Review | Runs | Last Run | Status | Required |
|
||||
|-----------------|------|---------------------|-----------|----------|
|
||||
| Eng Review | 1 | 2026-03-16 15:00 | CLEAR | YES |
|
||||
| CEO Review | 0 | — | — | no |
|
||||
| Design Review | 0 | — | — | no |
|
||||
+--------------------------------------------------------------------+
|
||||
| VERDICT: 2/3 CLEAR — Design Review not yet run |
|
||||
| VERDICT: CLEARED — Eng Review passed |
|
||||
+====================================================================+
|
||||
```
|
||||
|
||||
**Review tiers:**
|
||||
- **Eng Review (required by default):** The only review that gates shipping. Covers architecture, code quality, tests, performance. Can be disabled globally with \`gstack-config set skip_eng_review true\` (the "don't bother me" setting).
|
||||
- **CEO Review (optional):** Use your judgment. Recommend it for big product/business changes, new user-facing features, or scope decisions. Skip for bug fixes, refactors, infra, and cleanup.
|
||||
- **Design Review (optional):** Use your judgment. Recommend it for UI/UX changes. Skip for backend-only, infra, or prompt-only changes.
|
||||
|
||||
**Verdict logic:**
|
||||
- **CLEARED TO SHIP (3/3)**: All three have >= 1 entry within 7 days AND most recent status is "clean"
|
||||
- **N/3 CLEAR**: Show count and list which are missing, have open issues, or are stale (>7 days)
|
||||
- Informational only — does NOT block.
|
||||
- **CLEARED**: Eng Review has >= 1 entry within 7 days with status "clean" (or \`skip_eng_review\` is \`true\`)
|
||||
- **NOT CLEARED**: Eng Review missing, stale (>7 days), or has open issues
|
||||
- CEO and Design reviews are shown for context but never block shipping
|
||||
- If \`skip_eng_review\` config is \`true\`, Eng Review shows "SKIPPED (global)" and verdict is CLEARED
|
||||
|
||||
## docs/designs Promotion (EXPANSION and SELECTIVE EXPANSION only)
|
||||
|
||||
At the end of the review, if the vision produced a compelling feature direction, offer to promote the CEO plan to the project repo. AskUserQuestion:
|
||||
|
||||
"The vision from this review produced {N} accepted scope expansions. Want to promote it to a design doc in the repo?"
|
||||
- **A)** Promote to `docs/designs/{FEATURE}.md` (committed to repo, visible to the team)
|
||||
- **B)** Keep in `~/.gstack/projects/` only (local, personal reference)
|
||||
- **C)** Skip
|
||||
|
||||
If promoted, copy the CEO plan content to `docs/designs/{FEATURE}.md` (create the directory if needed) and update the `status` field in the original CEO plan from `ACTIVE` to `PROMOTED`.
|
||||
|
||||
## Formatting Rules
|
||||
* NUMBER issues (1, 2, 3...) and LETTERS for options (A, B, C...).
|
||||
@@ -659,30 +797,37 @@ Parse the output. Find the most recent entry for each skill (plan-ceo-review, pl
|
||||
|
||||
## Mode Quick Reference
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ MODE COMPARISON │
|
||||
├─────────────┬──────────────┬──────────────┬────────────────────┤
|
||||
│ │ EXPANSION │ HOLD SCOPE │ REDUCTION │
|
||||
├─────────────┼──────────────┼──────────────┼────────────────────┤
|
||||
│ Scope │ Push UP │ Maintain │ Push DOWN │
|
||||
│ 10x check │ Mandatory │ Optional │ Skip │
|
||||
│ Platonic │ Yes │ No │ No │
|
||||
│ ideal │ │ │ │
|
||||
│ Delight │ 5+ items │ Note if seen │ Skip │
|
||||
│ opps │ │ │ │
|
||||
│ Complexity │ "Is it big │ "Is it too │ "Is it the bare │
|
||||
│ question │ enough?" │ complex?" │ minimum?" │
|
||||
│ Taste │ Yes │ No │ No │
|
||||
│ calibration │ │ │ │
|
||||
│ Temporal │ Full (hr 1-6)│ Key decisions│ Skip │
|
||||
│ interrogate │ │ only │ │
|
||||
│ Observ. │ "Joy to │ "Can we │ "Can we see if │
|
||||
│ standard │ operate" │ debug it?" │ it's broken?" │
|
||||
│ Deploy │ Infra as │ Safe deploy │ Simplest possible │
|
||||
│ standard │ feature scope│ + rollback │ deploy │
|
||||
│ Error map │ Full + chaos │ Full │ Critical paths │
|
||||
│ │ scenarios │ │ only │
|
||||
│ Phase 2/3 │ Map it │ Note it │ Skip │
|
||||
│ planning │ │ │ │
|
||||
└─────────────┴──────────────┴──────────────┴────────────────────┘
|
||||
┌────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ MODE COMPARISON │
|
||||
├─────────────┬──────────────┬──────────────┬──────────────┬────────────────────┤
|
||||
│ │ EXPANSION │ SELECTIVE │ HOLD SCOPE │ REDUCTION │
|
||||
├─────────────┼──────────────┼──────────────┼──────────────┼────────────────────┤
|
||||
│ Scope │ Push UP │ Hold + offer │ Maintain │ Push DOWN │
|
||||
│ │ (opt-in) │ │ │ │
|
||||
│ Recommend │ Enthusiastic │ Neutral │ N/A │ N/A │
|
||||
│ posture │ │ │ │ │
|
||||
│ 10x check │ Mandatory │ Surface as │ Optional │ Skip │
|
||||
│ │ │ cherry-pick │ │ │
|
||||
│ Platonic │ Yes │ No │ No │ No │
|
||||
│ ideal │ │ │ │ │
|
||||
│ Delight │ Opt-in │ Cherry-pick │ Note if seen │ Skip │
|
||||
│ opps │ ceremony │ ceremony │ │ │
|
||||
│ Complexity │ "Is it big │ "Is it right │ "Is it too │ "Is it the bare │
|
||||
│ question │ enough?" │ + what else │ complex?" │ minimum?" │
|
||||
│ │ │ is tempting"│ │ │
|
||||
│ Taste │ Yes │ Yes │ No │ No │
|
||||
│ calibration │ │ │ │ │
|
||||
│ Temporal │ Full (hr 1-6)│ Full (hr 1-6)│ Key decisions│ Skip │
|
||||
│ interrogate │ │ │ only │ │
|
||||
│ Observ. │ "Joy to │ "Joy to │ "Can we │ "Can we see if │
|
||||
│ standard │ operate" │ operate" │ debug it?" │ it's broken?" │
|
||||
│ Deploy │ Infra as │ Safe deploy │ Safe deploy │ Simplest possible │
|
||||
│ standard │ feature scope│ + cherry-pick│ + rollback │ deploy │
|
||||
│ │ │ risk check │ │ │
|
||||
│ Error map │ Full + chaos │ Full + chaos │ Full │ Critical paths │
|
||||
│ │ scenarios │ for accepted │ │ only │
|
||||
│ CEO plan │ Written │ Written │ Skipped │ Skipped │
|
||||
│ Phase 2/3 │ Map accepted │ Map accepted │ Note it │ Skip │
|
||||
│ planning │ │ cherry-picks │ │ │
|
||||
└─────────────┴──────────────┴──────────────┴──────────────┴────────────────────┘
|
||||
```
|
||||
|
||||
@@ -3,9 +3,9 @@ name: plan-ceo-review
|
||||
version: 1.0.0
|
||||
description: |
|
||||
CEO/founder-mode plan review. Rethink the problem, find the 10-star product,
|
||||
challenge premises, expand scope when it creates a better product. Three modes:
|
||||
SCOPE EXPANSION (dream big), HOLD SCOPE (maximum rigor), SCOPE REDUCTION
|
||||
(strip to essentials).
|
||||
challenge premises, expand scope when it creates a better product. Four modes:
|
||||
SCOPE EXPANSION (dream big), SELECTIVE EXPANSION (hold scope + cherry-pick
|
||||
expansions), HOLD SCOPE (maximum rigor), SCOPE REDUCTION (strip to essentials).
|
||||
allowed-tools:
|
||||
- Read
|
||||
- Grep
|
||||
@@ -23,10 +23,12 @@ allowed-tools:
|
||||
## Philosophy
|
||||
You are not here to rubber-stamp this plan. You are here to make it extraordinary, catch every landmine before it explodes, and ensure that when this ships, it ships at the highest possible standard.
|
||||
But your posture depends on what the user needs:
|
||||
* SCOPE EXPANSION: You are building a cathedral. Envision the platonic ideal. Push scope UP. Ask "what would make this 10x better for 2x the effort?" The answer to "should we also build X?" is "yes, if it serves the vision." You have permission to dream.
|
||||
* SCOPE EXPANSION: You are building a cathedral. Envision the platonic ideal. Push scope UP. Ask "what would make this 10x better for 2x the effort?" You have permission to dream — and to recommend enthusiastically. But every expansion is the user's decision. Present each scope-expanding idea as an AskUserQuestion. The user opts in or out.
|
||||
* SELECTIVE EXPANSION: You are a rigorous reviewer who also has taste. Hold the current scope as your baseline — make it bulletproof. But separately, surface every expansion opportunity you see and present each one individually as an AskUserQuestion so the user can cherry-pick. Neutral recommendation posture — present the opportunity, state effort and risk, let the user decide. Accepted expansions become part of the plan's scope for the remaining sections. Rejected ones go to "NOT in scope."
|
||||
* HOLD SCOPE: You are a rigorous reviewer. The plan's scope is accepted. Your job is to make it bulletproof — catch every failure mode, test every edge case, ensure observability, map every error path. Do not silently reduce OR expand.
|
||||
* SCOPE REDUCTION: You are a surgeon. Find the minimum viable version that achieves the core outcome. Cut everything else. Be ruthless.
|
||||
Critical rule: Once the user selects a mode, COMMIT to it. Do not silently drift toward a different mode. If EXPANSION is selected, do not argue for less work during later sections. If REDUCTION is selected, do not sneak scope back in. Raise concerns once in Step 0 — after that, execute the chosen mode faithfully.
|
||||
* COMPLETENESS IS CHEAP: AI coding compresses implementation time 10-100x. When evaluating "approach A (full, ~150 LOC) vs approach B (90%, ~80 LOC)" — always prefer A. The 70-line delta costs seconds with CC. "Ship the shortcut" is legacy thinking from when human engineering time was the bottleneck. Boil the lake.
|
||||
Critical rule: In ALL modes, the user is 100% in control. Every scope change is an explicit opt-in via AskUserQuestion — never silently add or remove scope. Once the user selects a mode, COMMIT to it. Do not silently drift toward a different mode. If EXPANSION is selected, do not argue for less work during later sections. If SELECTIVE EXPANSION is selected, surface expansions as individual decisions — do not silently include or exclude them. If REDUCTION is selected, do not sneak scope back in. Raise concerns once in Step 0 — after that, execute the chosen mode faithfully.
|
||||
Do NOT make any code changes. Do NOT start implementation. Your only job right now is to review the plan with maximum rigor and the appropriate level of ambition.
|
||||
|
||||
## Prime Directives
|
||||
@@ -94,7 +96,7 @@ Map:
|
||||
### Retrospective Check
|
||||
Check the git log for this branch. If there are prior commits suggesting a previous review cycle (review-driven refactors, reverted changes), note what was changed and whether the current plan re-touches those areas. Be MORE aggressive reviewing areas that were previously problematic. Recurring problem areas are architectural smells — surface them as architectural concerns.
|
||||
|
||||
### Taste Calibration (EXPANSION mode only)
|
||||
### Taste Calibration (EXPANSION and SELECTIVE EXPANSION modes)
|
||||
Identify 2-3 files or patterns in the existing codebase that are particularly well-designed. Note them as style references for the review. Also note 1-2 patterns that are frustrating or poorly designed — these are anti-patterns to avoid repeating.
|
||||
Report findings before proceeding to Step 0.
|
||||
|
||||
@@ -147,10 +149,20 @@ Rules:
|
||||
- Do NOT proceed to mode selection (0F) without user approval of the chosen approach.
|
||||
|
||||
### 0D. Mode-Specific Analysis
|
||||
**For SCOPE EXPANSION** — run all three:
|
||||
**For SCOPE EXPANSION** — run all three, then the opt-in ceremony:
|
||||
1. 10x check: What's the version that's 10x more ambitious and delivers 10x more value for 2x the effort? Describe it concretely.
|
||||
2. Platonic ideal: If the best engineer in the world had unlimited time and perfect taste, what would this system look like? What would the user feel when using it? Start from experience, not architecture.
|
||||
3. Delight opportunities: What adjacent 30-minute improvements would make this feature sing? Things where a user would think "oh nice, they thought of that." List at least 3.
|
||||
3. Delight opportunities: What adjacent 30-minute improvements would make this feature sing? Things where a user would think "oh nice, they thought of that." List at least 5.
|
||||
4. **Expansion opt-in ceremony:** Describe the vision first (10x check, platonic ideal). Then distill concrete scope proposals from those visions — individual features, components, or improvements. Present each proposal as its own AskUserQuestion. Recommend enthusiastically — explain why it's worth doing. But the user decides. Options: **A)** Add to this plan's scope **B)** Defer to TODOS.md **C)** Skip. Accepted items become plan scope for all remaining review sections. Rejected items go to "NOT in scope."
|
||||
|
||||
**For SELECTIVE EXPANSION** — run the HOLD SCOPE analysis first, then surface expansions:
|
||||
1. Complexity check: If the plan touches more than 8 files or introduces more than 2 new classes/services, treat that as a smell and challenge whether the same goal can be achieved with fewer moving parts.
|
||||
2. What is the minimum set of changes that achieves the stated goal? Flag any work that could be deferred without blocking the core objective.
|
||||
3. Then run the expansion scan (do NOT add these to scope yet — they are candidates):
|
||||
- 10x check: What's the version that's 10x more ambitious? Describe it concretely.
|
||||
- Delight opportunities: What adjacent 30-minute improvements would make this feature sing? List at least 5.
|
||||
- Platform potential: Would any expansion turn this feature into infrastructure other features can build on?
|
||||
4. **Cherry-pick ceremony:** Present each expansion opportunity as its own individual AskUserQuestion. Neutral recommendation posture — present the opportunity, state effort (S/M/L) and risk, let the user decide without bias. Options: **A)** Add to this plan's scope **B)** Defer to TODOS.md **C)** Skip. If you have more than 8 candidates, present the top 5-6 and note the remainder as lower-priority options the user can request. Accepted items become plan scope for all remaining review sections. Rejected items go to "NOT in scope."
|
||||
|
||||
**For HOLD SCOPE** — run this:
|
||||
1. Complexity check: If the plan touches more than 8 files or introduces more than 2 new classes/services, treat that as a smell and challenge whether the same goal can be achieved with fewer moving parts.
|
||||
@@ -160,7 +172,57 @@ Rules:
|
||||
1. Ruthless cut: What is the absolute minimum that ships value to a user? Everything else is deferred. No exceptions.
|
||||
2. What can be a follow-up PR? Separate "must ship together" from "nice to ship together."
|
||||
|
||||
### 0E. Temporal Interrogation (EXPANSION and HOLD modes)
|
||||
### 0D-POST. Persist CEO Plan (EXPANSION and SELECTIVE EXPANSION only)
|
||||
|
||||
After the opt-in/cherry-pick ceremony, write the plan to disk so the vision and decisions survive beyond this conversation. Only run this step for EXPANSION and SELECTIVE EXPANSION modes.
|
||||
|
||||
```bash
|
||||
eval $(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)
|
||||
mkdir -p ~/.gstack/projects/$SLUG/ceo-plans
|
||||
```
|
||||
|
||||
Before writing, check for existing CEO plans in the ceo-plans/ directory. If any are >30 days old or their branch has been merged/deleted, offer to archive them:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.gstack/projects/$SLUG/ceo-plans/archive
|
||||
# For each stale plan: mv ~/.gstack/projects/$SLUG/ceo-plans/{old-plan}.md ~/.gstack/projects/$SLUG/ceo-plans/archive/
|
||||
```
|
||||
|
||||
Write to `~/.gstack/projects/$SLUG/ceo-plans/{date}-{feature-slug}.md` using this format:
|
||||
|
||||
```markdown
|
||||
---
|
||||
status: ACTIVE
|
||||
---
|
||||
# CEO Plan: {Feature Name}
|
||||
Generated by /plan-ceo-review on {date}
|
||||
Branch: {branch} | Mode: {EXPANSION / SELECTIVE EXPANSION}
|
||||
Repo: {owner/repo}
|
||||
|
||||
## Vision
|
||||
|
||||
### 10x Check
|
||||
{10x vision description}
|
||||
|
||||
### Platonic Ideal
|
||||
{platonic ideal description — EXPANSION mode only}
|
||||
|
||||
## Scope Decisions
|
||||
|
||||
| # | Proposal | Effort | Decision | Reasoning |
|
||||
|---|----------|--------|----------|-----------|
|
||||
| 1 | {proposal} | S/M/L | ACCEPTED / DEFERRED / SKIPPED | {why} |
|
||||
|
||||
## Accepted Scope (added to this plan)
|
||||
- {bullet list of what's now in scope}
|
||||
|
||||
## Deferred to TODOS.md
|
||||
- {items with context}
|
||||
```
|
||||
|
||||
Derive the feature slug from the plan being reviewed (e.g., "user-dashboard", "auth-refactor"). Use the date in YYYY-MM-DD format.
|
||||
|
||||
### 0E. Temporal Interrogation (EXPANSION, SELECTIVE EXPANSION, and HOLD modes)
|
||||
Think ahead to implementation: What decisions will need to be made during implementation that should be resolved NOW in the plan?
|
||||
```
|
||||
HOUR 1 (foundations): What does the implementer need to know?
|
||||
@@ -168,20 +230,30 @@ Think ahead to implementation: What decisions will need to be made during implem
|
||||
HOUR 4-5 (integration): What will surprise them?
|
||||
HOUR 6+ (polish/tests): What will they wish they'd planned for?
|
||||
```
|
||||
NOTE: These represent human-team implementation hours. With CC + gstack,
|
||||
6 hours of human implementation compresses to ~30-60 minutes. The decisions
|
||||
are identical — the implementation speed is 10-20x faster. Always present
|
||||
both scales when discussing effort.
|
||||
|
||||
Surface these as questions for the user NOW, not as "figure it out later."
|
||||
|
||||
### 0F. Mode Selection
|
||||
Present three options:
|
||||
1. **SCOPE EXPANSION:** The plan is good but could be great. Propose the ambitious version, then review that. Push scope up. Build the cathedral.
|
||||
2. **HOLD SCOPE:** The plan's scope is right. Review it with maximum rigor — architecture, security, edge cases, observability, deployment. Make it bulletproof.
|
||||
3. **SCOPE REDUCTION:** The plan is overbuilt or wrong-headed. Propose a minimal version that achieves the core goal, then review that.
|
||||
In every mode, you are 100% in control. No scope is added without your explicit approval.
|
||||
|
||||
Present four options:
|
||||
1. **SCOPE EXPANSION:** The plan is good but could be great. Dream big — propose the ambitious version. Every expansion is presented individually for your approval. You opt in to each one.
|
||||
2. **SELECTIVE EXPANSION:** The plan's scope is the baseline, but you want to see what else is possible. Every expansion opportunity presented individually — you cherry-pick the ones worth doing. Neutral recommendations.
|
||||
3. **HOLD SCOPE:** The plan's scope is right. Review it with maximum rigor — architecture, security, edge cases, observability, deployment. Make it bulletproof. No expansions surfaced.
|
||||
4. **SCOPE REDUCTION:** The plan is overbuilt or wrong-headed. Propose a minimal version that achieves the core goal, then review that.
|
||||
|
||||
Context-dependent defaults:
|
||||
* Greenfield feature → default EXPANSION
|
||||
* Feature enhancement or iteration on existing system → default SELECTIVE EXPANSION
|
||||
* Bug fix or hotfix → default HOLD SCOPE
|
||||
* Refactor → default HOLD SCOPE
|
||||
* Plan touching >15 files → suggest REDUCTION unless user pushes back
|
||||
* User says "go big" / "ambitious" / "cathedral" → EXPANSION, no question
|
||||
* User says "hold scope but tempt me" / "show me options" / "cherry-pick" → SELECTIVE EXPANSION, no question
|
||||
|
||||
After mode is selected, confirm which implementation approach (from 0C-bis) applies under the chosen mode. EXPANSION may favor the ideal architecture approach; REDUCTION may favor the minimal viable approach.
|
||||
|
||||
@@ -206,10 +278,12 @@ Evaluate and diagram:
|
||||
* Production failure scenarios. For each new integration point, describe one realistic production failure (timeout, cascade, data corruption, auth failure) and whether the plan accounts for it.
|
||||
* Rollback posture. If this ships and immediately breaks, what's the rollback procedure? Git revert? Feature flag? DB migration rollback? How long?
|
||||
|
||||
**EXPANSION mode additions:**
|
||||
**EXPANSION and SELECTIVE EXPANSION additions:**
|
||||
* What would make this architecture beautiful? Not just correct — elegant. Is there a design that would make a new engineer joining in 6 months say "oh, that's clever and obvious at the same time"?
|
||||
* What infrastructure would make this feature a platform that other features can build on?
|
||||
|
||||
**SELECTIVE EXPANSION:** If any accepted cherry-picks from Step 0D affect the architecture, evaluate their architectural fit here. Flag any that create coupling concerns or don't integrate cleanly — this is a chance to revisit the decision with new information.
|
||||
|
||||
Required ASCII diagram: full system architecture showing new components and their relationships to existing ones.
|
||||
**STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues or fix is obvious, state what you'll do and move on — don't waste a question. Do NOT proceed until user responds.
|
||||
|
||||
@@ -368,8 +442,8 @@ Evaluate:
|
||||
* Admin tooling. New operational tasks that need admin UI or rake tasks?
|
||||
* Runbooks. For each new failure mode: what's the operational response?
|
||||
|
||||
**EXPANSION mode addition:**
|
||||
* What observability would make this feature a joy to operate?
|
||||
**EXPANSION and SELECTIVE EXPANSION addition:**
|
||||
* What observability would make this feature a joy to operate? (For SELECTIVE EXPANSION, include observability for any accepted cherry-picks.)
|
||||
**STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues or fix is obvious, state what you'll do and move on — don't waste a question. Do NOT proceed until user responds.
|
||||
|
||||
### Section 9: Deployment & Rollout Review
|
||||
@@ -383,8 +457,8 @@ Evaluate:
|
||||
* Post-deploy verification checklist. First 5 minutes? First hour?
|
||||
* Smoke tests. What automated checks should run immediately post-deploy?
|
||||
|
||||
**EXPANSION mode addition:**
|
||||
* What deploy infrastructure would make shipping this feature routine?
|
||||
**EXPANSION and SELECTIVE EXPANSION addition:**
|
||||
* What deploy infrastructure would make shipping this feature routine? (For SELECTIVE EXPANSION, assess whether accepted cherry-picks change the deployment risk profile.)
|
||||
**STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues or fix is obvious, state what you'll do and move on — don't waste a question. Do NOT proceed until user responds.
|
||||
|
||||
### Section 10: Long-Term Trajectory Review
|
||||
@@ -396,9 +470,10 @@ Evaluate:
|
||||
* Ecosystem fit. Aligns with Rails/JS ecosystem direction?
|
||||
* The 1-year question. Read this plan as a new engineer in 12 months — obvious?
|
||||
|
||||
**EXPANSION mode additions:**
|
||||
**EXPANSION and SELECTIVE EXPANSION additions:**
|
||||
* What comes after this ships? Phase 2? Phase 3? Does the architecture support that trajectory?
|
||||
* Platform potential. Does this create capabilities other features can leverage?
|
||||
* (SELECTIVE EXPANSION only) Retrospective: Were the right cherry-picks accepted? Did any rejected expansions turn out to be load-bearing for the accepted ones?
|
||||
**STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues or fix is obvious, state what you'll do and move on — don't waste a question. Do NOT proceed until user responds.
|
||||
|
||||
## CRITICAL RULE — How to ask questions
|
||||
@@ -441,14 +516,17 @@ For each TODO, describe:
|
||||
* **Pros:** What you gain by doing this work.
|
||||
* **Cons:** Cost, complexity, or risks of doing it.
|
||||
* **Context:** Enough detail that someone picking this up in 3 months understands the motivation, the current state, and where to start.
|
||||
* **Effort estimate:** S/M/L/XL
|
||||
* **Effort estimate:** S/M/L/XL (human team) → with CC+gstack: S→S, M→S, L→M, XL→L
|
||||
* **Priority:** P1/P2/P3
|
||||
* **Depends on / blocked by:** Any prerequisites or ordering constraints.
|
||||
|
||||
Then present options: **A)** Add to TODOS.md **B)** Skip — not valuable enough **C)** Build it now in this PR instead of deferring.
|
||||
|
||||
### Delight Opportunities (EXPANSION mode only)
|
||||
Identify at least 5 "bonus chunk" opportunities (<30 min each) that would make users think "oh nice, they thought of that." Present each delight opportunity as its own individual AskUserQuestion. Never batch them. For each one, describe what it is, why it would delight users, and effort estimate. Then present options: **A)** Add to TODOS.md as a vision item **B)** Skip **C)** Build it now in this PR.
|
||||
### Scope Expansion Decisions (EXPANSION and SELECTIVE EXPANSION only)
|
||||
For EXPANSION and SELECTIVE EXPANSION modes: expansion opportunities and delight items were surfaced and decided in Step 0D (opt-in/cherry-pick ceremony). The decisions are persisted in the CEO plan document. Reference the CEO plan for the full record. Do not re-surface them here — list the accepted expansions for completeness:
|
||||
* Accepted: {list items added to scope}
|
||||
* Deferred: {list items sent to TODOS.md}
|
||||
* Skipped: {list items rejected}
|
||||
|
||||
### Diagrams (mandatory, produce all that apply)
|
||||
1. System architecture
|
||||
@@ -466,7 +544,7 @@ List every ASCII diagram in files this plan touches. Still accurate?
|
||||
+====================================================================+
|
||||
| MEGA PLAN REVIEW — COMPLETION SUMMARY |
|
||||
+====================================================================+
|
||||
| Mode selected | EXPANSION / HOLD / REDUCTION |
|
||||
| Mode selected | EXPANSION / SELECTIVE / HOLD / REDUCTION |
|
||||
| System Audit | [key findings] |
|
||||
| Step 0 | [mode + key decisions] |
|
||||
| Section 1 (Arch) | ___ issues found |
|
||||
@@ -486,7 +564,9 @@ List every ASCII diagram in files this plan touches. Still accurate?
|
||||
| Error/rescue registry| ___ methods, ___ CRITICAL GAPS |
|
||||
| Failure modes | ___ total, ___ CRITICAL GAPS |
|
||||
| TODOS.md updates | ___ items proposed |
|
||||
| Delight opportunities| ___ identified (EXPANSION only) |
|
||||
| Scope proposals | ___ proposed, ___ accepted (EXP + SEL) |
|
||||
| CEO plan | written / skipped (HOLD/REDUCTION) |
|
||||
| Lake Score | X/Y recommendations chose complete option |
|
||||
| Diagrams produced | ___ (list types) |
|
||||
| Stale diagrams found | ___ |
|
||||
| Unresolved decisions | ___ (listed below) |
|
||||
@@ -511,10 +591,21 @@ Before running this command, substitute the placeholder values from the Completi
|
||||
- **STATUS**: "clean" if 0 unresolved decisions AND 0 critical gaps; otherwise "issues_open"
|
||||
- **unresolved**: number from "Unresolved decisions" in the summary
|
||||
- **critical_gaps**: number from "Failure modes: ___ CRITICAL GAPS" in the summary
|
||||
- **MODE**: the mode the user selected (SCOPE_EXPANSION / HOLD_SCOPE / SCOPE_REDUCTION)
|
||||
- **MODE**: the mode the user selected (SCOPE_EXPANSION / SELECTIVE_EXPANSION / HOLD_SCOPE / SCOPE_REDUCTION)
|
||||
|
||||
{{REVIEW_DASHBOARD}}
|
||||
|
||||
## docs/designs Promotion (EXPANSION and SELECTIVE EXPANSION only)
|
||||
|
||||
At the end of the review, if the vision produced a compelling feature direction, offer to promote the CEO plan to the project repo. AskUserQuestion:
|
||||
|
||||
"The vision from this review produced {N} accepted scope expansions. Want to promote it to a design doc in the repo?"
|
||||
- **A)** Promote to `docs/designs/{FEATURE}.md` (committed to repo, visible to the team)
|
||||
- **B)** Keep in `~/.gstack/projects/` only (local, personal reference)
|
||||
- **C)** Skip
|
||||
|
||||
If promoted, copy the CEO plan content to `docs/designs/{FEATURE}.md` (create the directory if needed) and update the `status` field in the original CEO plan from `ACTIVE` to `PROMOTED`.
|
||||
|
||||
## Formatting Rules
|
||||
* NUMBER issues (1, 2, 3...) and LETTERS for options (A, B, C...).
|
||||
* Label with NUMBER + LETTER (e.g., "3A", "3B").
|
||||
@@ -524,30 +615,37 @@ Before running this command, substitute the placeholder values from the Completi
|
||||
|
||||
## Mode Quick Reference
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ MODE COMPARISON │
|
||||
├─────────────┬──────────────┬──────────────┬────────────────────┤
|
||||
│ │ EXPANSION │ HOLD SCOPE │ REDUCTION │
|
||||
├─────────────┼──────────────┼──────────────┼────────────────────┤
|
||||
│ Scope │ Push UP │ Maintain │ Push DOWN │
|
||||
│ 10x check │ Mandatory │ Optional │ Skip │
|
||||
│ Platonic │ Yes │ No │ No │
|
||||
│ ideal │ │ │ │
|
||||
│ Delight │ 5+ items │ Note if seen │ Skip │
|
||||
│ opps │ │ │ │
|
||||
│ Complexity │ "Is it big │ "Is it too │ "Is it the bare │
|
||||
│ question │ enough?" │ complex?" │ minimum?" │
|
||||
│ Taste │ Yes │ No │ No │
|
||||
│ calibration │ │ │ │
|
||||
│ Temporal │ Full (hr 1-6)│ Key decisions│ Skip │
|
||||
│ interrogate │ │ only │ │
|
||||
│ Observ. │ "Joy to │ "Can we │ "Can we see if │
|
||||
│ standard │ operate" │ debug it?" │ it's broken?" │
|
||||
│ Deploy │ Infra as │ Safe deploy │ Simplest possible │
|
||||
│ standard │ feature scope│ + rollback │ deploy │
|
||||
│ Error map │ Full + chaos │ Full │ Critical paths │
|
||||
│ │ scenarios │ │ only │
|
||||
│ Phase 2/3 │ Map it │ Note it │ Skip │
|
||||
│ planning │ │ │ │
|
||||
└─────────────┴──────────────┴──────────────┴────────────────────┘
|
||||
┌────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ MODE COMPARISON │
|
||||
├─────────────┬──────────────┬──────────────┬──────────────┬────────────────────┤
|
||||
│ │ EXPANSION │ SELECTIVE │ HOLD SCOPE │ REDUCTION │
|
||||
├─────────────┼──────────────┼──────────────┼──────────────┼────────────────────┤
|
||||
│ Scope │ Push UP │ Hold + offer │ Maintain │ Push DOWN │
|
||||
│ │ (opt-in) │ │ │ │
|
||||
│ Recommend │ Enthusiastic │ Neutral │ N/A │ N/A │
|
||||
│ posture │ │ │ │ │
|
||||
│ 10x check │ Mandatory │ Surface as │ Optional │ Skip │
|
||||
│ │ │ cherry-pick │ │ │
|
||||
│ Platonic │ Yes │ No │ No │ No │
|
||||
│ ideal │ │ │ │ │
|
||||
│ Delight │ Opt-in │ Cherry-pick │ Note if seen │ Skip │
|
||||
│ opps │ ceremony │ ceremony │ │ │
|
||||
│ Complexity │ "Is it big │ "Is it right │ "Is it too │ "Is it the bare │
|
||||
│ question │ enough?" │ + what else │ complex?" │ minimum?" │
|
||||
│ │ │ is tempting"│ │ │
|
||||
│ Taste │ Yes │ Yes │ No │ No │
|
||||
│ calibration │ │ │ │ │
|
||||
│ Temporal │ Full (hr 1-6)│ Full (hr 1-6)│ Key decisions│ Skip │
|
||||
│ interrogate │ │ │ only │ │
|
||||
│ Observ. │ "Joy to │ "Joy to │ "Can we │ "Can we see if │
|
||||
│ standard │ operate" │ operate" │ debug it?" │ it's broken?" │
|
||||
│ Deploy │ Infra as │ Safe deploy │ Safe deploy │ Simplest possible │
|
||||
│ standard │ feature scope│ + cherry-pick│ + rollback │ deploy │
|
||||
│ │ │ risk check │ │ │
|
||||
│ Error map │ Full + chaos │ Full + chaos │ Full │ Critical paths │
|
||||
│ │ scenarios │ for accepted │ │ only │
|
||||
│ CEO plan │ Written │ Written │ Skipped │ Skipped │
|
||||
│ Phase 2/3 │ Map accepted │ Map accepted │ Note it │ Skip │
|
||||
│ planning │ │ cherry-picks │ │ │
|
||||
└─────────────┴──────────────┴──────────────┴──────────────┴────────────────────┘
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user