mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-20 03:42:24 +02:00
fix: resolve workflow gaps exposed by frontier evals
Clarify plan-review ordering and fallback modes, preserve deploy readiness gates, honor configured merge methods, correct benchmark and canary contracts, and restore vendored installs on setup failure. Cover recovery with real-shell regressions. Co-Authored-By: OpenAI Codex <noreply@openai.com>
This commit is contained in:
co-authored by
OpenAI Codex
parent
a9f9ec5f08
commit
1f678a5b81
@@ -44,6 +44,8 @@ matches a past learning, display:
|
||||
This makes the compounding visible. The user should see that gstack is getting
|
||||
smarter on their codebase over time.
|
||||
|
||||
**Pass protocol (1-6):** Record the initial 0-10 score. Every `FIX TO 10` below is a proposal: ask about each issue, wait for approval, then edit the plan and re-rate that pass with the reason for the score change. A declined fix remains documented and lowers the final score. Never edit first and ask afterward. Pass 7 is the unscored decision register, not a seventh rating.
|
||||
|
||||
### Pass 1: Information Architecture
|
||||
Rate 0-10: Does the plan define what the user sees first, second, third?
|
||||
FIX TO 10: Add information hierarchy to the plan. Include ASCII diagram of screen/page structure and navigation flow. Apply "constraint worship" — if you can only show 3 things, which 3?
|
||||
@@ -74,8 +76,6 @@ Apply time-horizon design: 5-sec visceral, 5-min behavioral, 5-year reflective.
|
||||
**STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY.
|
||||
|
||||
### Pass 4: AI Slop Risk
|
||||
Rate 0-10: Does the plan describe specific, intentional UI — or generic patterns?
|
||||
FIX TO 10: Rewrite vague UI descriptions with specific alternatives.
|
||||
|
||||
### Design Hard Rules
|
||||
|
||||
@@ -136,7 +136,7 @@ FIX TO 10: Rewrite vague UI descriptions with specific alternatives.
|
||||
- ALWAYS preserve visited vs unvisited link distinction (visited links must have a different color)
|
||||
- NEVER float headings between paragraphs (heading must be visually closer to the section it introduces than to the preceding section)
|
||||
|
||||
**AI Slop blacklist** (the 10 patterns that scream "AI-generated"):
|
||||
**AI Slop blacklist** (the 11 patterns that scream "AI-generated"):
|
||||
1. Purple/violet/indigo gradient backgrounds or blue-to-purple color schemes
|
||||
2. **The 3-column feature grid:** icon-in-colored-circle + bold title + 2-line description, repeated 3x symmetrically. THE most recognizable AI layout.
|
||||
3. Icons in colored circles as section decoration (SaaS starter template look)
|
||||
@@ -150,6 +150,10 @@ FIX TO 10: Rewrite vague UI descriptions with specific alternatives.
|
||||
11. system-ui or `-apple-system` as the PRIMARY display/body font — the "I gave up on typography" signal. Pick a real typeface.
|
||||
|
||||
Source: [OpenAI "Designing Delightful Frontends with GPT-5.4"](https://developers.openai.com/blog/designing-delightful-frontends-with-gpt-5-4) (Mar 2026) + gstack design methodology.
|
||||
|
||||
**Pass 4 evaluation:** Rate 0-10: Does the plan describe specific, intentional UI, or generic patterns? Record each hard-rejection hit and litmus YES/NO with evidence. An unresolved hard rejection caps this pass below 8 (not design-complete); it does not automatically set the score to 0. Litmus answers support findings, not a separate numeric score.
|
||||
|
||||
FIX TO 10: Rewrite vague UI descriptions with specific alternatives:
|
||||
- "Cards with icons" → what differentiates these from every SaaS template?
|
||||
- "Hero section" → what makes this hero feel like THIS product?
|
||||
- "Clean, modern UI" → meaningless. Replace with actual design decisions.
|
||||
@@ -179,6 +183,7 @@ Surface ambiguities that will haunt implementation:
|
||||
```
|
||||
If visual mockups were generated in Step 0.5, reference them as evidence when surfacing unresolved decisions. A mockup makes decisions concrete — e.g., "Your approved mockup shows a sidebar nav, but the plan doesn't specify mobile behavior. What happens to this sidebar on 375px?"
|
||||
Each decision = one AskUserQuestion with recommendation + WHY + alternatives. Edit the plan with each decision as it's made.
|
||||
**STOP.** Wait for each answer before editing or advancing. Record unanswered decisions as unresolved.
|
||||
|
||||
### Post-Pass: Update Mockups (if generated)
|
||||
|
||||
@@ -614,4 +619,3 @@ Use AskUserQuestion to present the next step. Include only applicable options:
|
||||
* One sentence max per option.
|
||||
* After each pass, pause and wait for feedback.
|
||||
* Rate before and after each pass for scannability.
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
{{LEARNINGS_SEARCH}}
|
||||
|
||||
**Pass protocol (1-6):** Record the initial 0-10 score. Every `FIX TO 10` below is a proposal: ask about each issue, wait for approval, then edit the plan and re-rate that pass with the reason for the score change. A declined fix remains documented and lowers the final score. Never edit first and ask afterward. Pass 7 is the unscored decision register, not a seventh rating.
|
||||
|
||||
### Pass 1: Information Architecture
|
||||
Rate 0-10: Does the plan define what the user sees first, second, third?
|
||||
FIX TO 10: Add information hierarchy to the plan. Include ASCII diagram of screen/page structure and navigation flow. Apply "constraint worship" — if you can only show 3 things, which 3?
|
||||
@@ -36,10 +38,12 @@ Apply time-horizon design: 5-sec visceral, 5-min behavioral, 5-year reflective.
|
||||
**STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY.
|
||||
|
||||
### Pass 4: AI Slop Risk
|
||||
Rate 0-10: Does the plan describe specific, intentional UI — or generic patterns?
|
||||
FIX TO 10: Rewrite vague UI descriptions with specific alternatives.
|
||||
|
||||
{{DESIGN_HARD_RULES}}
|
||||
|
||||
**Pass 4 evaluation:** Rate 0-10: Does the plan describe specific, intentional UI, or generic patterns? Record each hard-rejection hit and litmus YES/NO with evidence. An unresolved hard rejection caps this pass below 8 (not design-complete); it does not automatically set the score to 0. Litmus answers support findings, not a separate numeric score.
|
||||
|
||||
FIX TO 10: Rewrite vague UI descriptions with specific alternatives:
|
||||
- "Cards with icons" → what differentiates these from every SaaS template?
|
||||
- "Hero section" → what makes this hero feel like THIS product?
|
||||
- "Clean, modern UI" → meaningless. Replace with actual design decisions.
|
||||
@@ -69,6 +73,7 @@ Surface ambiguities that will haunt implementation:
|
||||
```
|
||||
If visual mockups were generated in Step 0.5, reference them as evidence when surfacing unresolved decisions. A mockup makes decisions concrete — e.g., "Your approved mockup shows a sidebar nav, but the plan doesn't specify mobile behavior. What happens to this sidebar on 375px?"
|
||||
Each decision = one AskUserQuestion with recommendation + WHY + alternatives. Edit the plan with each decision as it's made.
|
||||
**STOP.** Wait for each answer before editing or advancing. Record unanswered decisions as unresolved.
|
||||
|
||||
### Post-Pass: Update Mockups (if generated)
|
||||
|
||||
@@ -220,4 +225,3 @@ Use AskUserQuestion to present the next step. Include only applicable options:
|
||||
* One sentence max per option.
|
||||
* After each pass, pause and wait for feedback.
|
||||
* Rate before and after each pass for scannability.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user