탈락하는 발표
화면은 예쁘지만 “누가 실제로 쓸지는 아직 찾아보는 중입니다”
오늘 하루 동안 내일 5분 발표에 필요한 모든 것을 구축합니다. 완성된 앱이 아니라 논리적 서사 + 증거 + 보여줄 1개의 화면을 만듭니다.
| 시간 | 구분 | 마칠 때 손에 쥐어야 할 결과물 |
|---|---|---|
| 10:05–11:10 | A — Interrogate the Problem | 한 문장 가설 |
| 11:10–11:50 | B — Cut Scope + Send Questions | 핵심 기능 1개 확정 · 질문 2건 전송 |
| 11:50–12:50 | Lunch (답변이 돌아오는 시간) | — |
| 12:50–13:30 | C — One Demo Path | 동작하는 화면 또는 목업 |
| 13:50–14:30 | D — Design the Talk + Pair Rehearsal | 5슬롯 발표 대본 |
The gstack intro and install were finished on Monday — 10:00–10:05 is only a show-of-hands check. Grey rows: intro · lecture · rehearsal · wrap-up
“무엇을 만들었는가”가 아니라 “무엇을 새로 발견했는가”입니다.
데모 시연은 주인공이 아니라 증거 자료입니다.
화면은 예쁘지만 “누가 실제로 쓸지는 아직 찾아보는 중입니다”
화면은 투박하지만 “2명에게 물어보니 내 가설이 틀렸음을 확인했습니다”
누가 · 언제 · 왜 · 어떤 손실
실제 대상자에게 질문하고 인터뷰한 기록
3번의 클릭으로 충분함
내일 5분 발표의 뼈대가 되는 구조
These four are the entire day. The urge to build a fifth thing is today’s biggest risk.
손이 내려가는 속도가 오늘 수업의 핵심 메시지입니다.
구축 비용이 0으로 수렴할수록, 모든 가치는 “무엇을 만들지 선택하는 능력”으로 이동합니다.
You finish the install on your own, Monday or Tuesday — no commands to memorise: paste one paragraph and Codex runs it for you. If it does not work, you go with the workbook prompts. Whichever you use makes zero difference to today’s grade.
“It turns Claude Code into a virtual engineering team — a CEO who rethinks the product, an eng manager who locks architecture, a designer who catches AI slop, a reviewer who finds production bugs, a QA lead who opens a real browser…”README.md, github.com/garrytan/gstack
Y Combinator CEO인 Garry Tan이 공개한 MIT 라이선스 오픈소스입니다. AI에게 새로운 기능을 추가하는 것이 아니라, AI에게 역할(Role)을 부여하는 규칙 모음입니다.
The quote says “Claude Code” because that is the author’s default environment. Ours is the OpenAI Codex app (desktop). gstack supports Codex, but recognition inside the app is not guaranteed — which is why the prompt track is our default.
“예약 앱 만들어줘”
→ 300 lines, instantly
→ “no, that’s not what I meant…”
→ another 300 lines
→ binned two hours later
“당신은 냉철한 투자 분석가입니다. 칭찬은 생략하고 제 문제 정의부터 엄격하게 비판하세요.”
→ 6 questions
→ “That is hearsay. It is not your own experience”
→ the hypothesis changes
All gstack does is pre-write the sentence on the right for 50 different situations. There is no magic. Which is exactly why we can copy that sentence and use it ourselves.
“gstack gives Claude Code a persistent browser and a set of opinionated workflow skills. The browser is the hard part — everything else is Markdown.”ARCHITECTURE.md
즉, 하나의 명령어 = 하나의 마크다운 파일입니다. .agents/skills/ 디렉토리에 마크다운으로 존재하므로, 복사-붙여넣기 방식과 완전히 동일하게 동작합니다.
Open exactly two things.
ETHOS.md — what this tool believes. A 10-minute readSKILL.md — the “wait, that’s all?” moment is today’s core. It is just a Markdown promptIf you are offline, open the URL directly — youtube.com/watch?v=wkv2ifxPpF8
Your eyes will drift to the flashy automation, but what we are stealing today is ① and ③.
Windows / WSL2 Instructions:
First, check the current Windows environment. If WSL2 is installed, run the installation procedure below inside WSL2. If WSL2 is not available, verify whether this project officially supports PowerShell. Adapt any macOS/Linux-specific commands for Windows as needed, and if any step fails, identify the root cause and resolve it. Do not overwrite or delete any existing **gstack** files in the user's home directory without explicit permission.
문단을 단축하거나 수정하지 말고 그대로 붙여넣으세요. 설치가 안 되면 워크북 프롬프트를 이용하세요. 결과와 평가 점수는 동일합니다.
| 필요 항목 | Mac 환경 | Windows 환경 |
|---|---|---|
| Shell | Terminal — already there | Install Git Bash separately git-scm.com/download/win |
| Node.js | Not needed | Needed nodejs.org |
| bun | curl -fsSL https://bun.sh/install | bash | In PowerShellpowershell -c "irm bun.sh/install.ps1|iex" |
| Running the install | Terminal, as-is | In a Git Bash window (not PowerShell) |
npm install -g bunHonest advice: starting from zero on Windows 환경 does not finish in 10 minutes. In class, go with Track B (paste the prompt) and install after school. Tool usage carries zero points in today’s grading.
/office-hours · /review
— that is Claude Code notation
Type $ in the chat and a list appears
Pick from the list — no names to memorise
$off and pick Office Hours. Same method for $qa · $reviewgstack- prefix, but you can ignore that when pickingGstack Openclaw Office Hours is a variant for a different agent. What we use is plain Office HoursFor readability, this guide also writes /office-hours. In the app: $off → pick from the list. If nothing appears, paste the workbook prompt — the result is the same.
Self-study — we skip this in class today
| Feature | Claude Code | Codex (us) |
|---|---|---|
| Multiple-choice questions | AskUserQuestion buttons | None. Comes out as a “Decision Brief” in prose |
/careful /freeze | Real blocking via hooks | No hooks. Advisory wording only |
| Second opinion | /codex | gstack-claude (needs the Claude CLI) |
| Parallel expert review | Runs | Removed |
| Invoking a skill | /name | $name or auto-detection |
| In the app (GUI) | — | Personal skills may not appear in the list (open issue) |
The second row matters most today — on Codex, the guardrails block nothing. We come back to this later.
“AI 모델은 제안하고, 결정은 사용자가 합니다. 이 원칙은 다른 모든 규칙에 우선합니다.”ETHOS.md
“Two AI models agreeing on a change is a strong signal. It is not a mandate.”
The top principle of gstack’s three. It is today’s tiebreaker for every conflict — “the AI told me to” is not a reason.
Questions, alternatives, drafts, reviews, tireless checking
Choose the problem, decide the scope, approve and reject, secure the evidence, take the responsibility
AI를 CTO라고 부르고 싶다면, 여러분은 CEO입니다. 그리고 CEO의 핵심 역할은 거절(Reject)하는 것입니다.
| 구분 | 기본 방식 — 워크북 프롬프트 붙여넣기 | 선택 사항 — 설치된 경우 |
|---|---|---|
| A 문제 검증 | P1 six-question prompt | $office-hours |
| B 스코프 축소 | P3 scope-cutting prompt | $plan-ceo-review |
| C Mockup | P5 self-contained HTML prompt | $design-html |
| C Code check | P6 two-pass checklist | $review |
| C Screen check | P7 — make your neighbour click through it | $qa |
| C Cross-review | Swap code with your neighbour | Not today — your neighbour’s eyes are faster |
The left column alone completes today. The right column is a bonus. The repo has 50+ commands; today we use six.
/office-hours /plan-ceo-review /design-html /review /qa gstack-claude
새로운 기능 개발하기
디자인 다듬기
기술 스택 고민하기
gstack 명령어 구경하기
문제 정의 문장 다듬기
사용자에게 연락하기
기능 과감히 덜어내기
The morning’s two hours succeed or fail on how much you deleted.
Building the app now takes a single afternoon. The hard part is choosing what to build — and you do that with questions, not code. The three lines on the left are this entire morning.
The next 8 slides are reference. In class we only walk through ① and ②. ③–⑥ and the “5 worth knowing” are material you open when you need it — not exam material.
gstack’s skills are laid out in the order you build a product. Don’t memorise them — just take away “ah, this stage has one of these”.
| Stage | Flagship skill | One line | Today |
|---|---|---|---|
| Think | office-hours | Pressure-test the idea before code | ✅ 구분 A |
| Plan | plan-ceo-review | Decide whether scope grows or shrinks | ✅ 구분 B |
| Build | design-html | One screen, made real | ✅ 구분 C |
| Review | review | Interrogate my code like a stranger’s | ✅ 구분 C |
| Test | qa | Click through it like a user | ✅ 구분 C |
| Ship·Reflect | ship retro | Deploy · retrospect | Not today |
Before a single line of code. The moment you think “should I build this?”
Thinking alone, you interpret everything in your own favour. You need a cross-examiner
How — it fires 6 questions one at a time, and re-asks until your answer gets specific.
Where it helps: it tells you in 10 minutes that you mistook a solution for a problem. Alone, that takes two days.
After deciding what to build, before building it
Left alone, AI always expands. A disaster for anyone with a deadline
How — name one of the 4 modes. Skip it and it drifts toward expansion. EXPANSION (grow) · HOLD SCOPE (freeze) · SCOPE REDUCTION (cut — us, today)
Where it helps: the cut list becomes your “What we got wrong” material, verbatim.
When there is nothing to show yet. The night before the talk
Words alone are not believed. One clickable screen beats ten slides
How — demand HTML that opens as a single file. Name the 4 states (empty/loading/results/error) or it will not look real.
Where it helps: a presentable demo in 40 minutes, no backend. Most of you take this path today.
Self-study — we skip this in class today
Right before committing code, or the pre-talk check
You cannot see your own code. And you especially cannot see code an AI wrote for you
Careful: left alone it fixes things on its own (commits are qa’s job) — hence “do not fix”.
Self-study — we skip this in class today
Right before showing the demo to anyone else
Unit tests check “is my thinking right”; QA checks “what the other person experiences”. They are not substitutes
How — normally it opens a real browser, clicks around, and keeps screenshots. Today, a human is faster.
Today’s recommended method — hand your laptop to your neighbour, state only the goal with zero explanation, and let them click for 3 minutes. Watch where they stall.
Better than the tool — because a person stalls exactly where an explanation is needed.
Careful: never run it on a deployed live service — it is a real browser with real cookies and sessions, so payments and deletions really fire.
Self-study — we skip this in class today
| Skill | What it does | On Codex |
|---|---|---|
careful | Asks before rm -rf, DROP TABLE, force-push | No hooks, so no enforcement. Only advisory wording appears |
freeze | Locks edits to one folder | |
guard | Both at once |
“The guardrails are accident prevention, not access control.”docs/skills.md
Even on Claude this was “accident prevention”, never “security”. On Codex, even that does not engage. Today the only real defence line is one thing: commit often.
Self-study — we skip this in class today
| Skill | When to use it | Why not today |
|---|---|---|
spec | Turn “something like this, roughly” into an executable document | 5 stages — does not fit in 40 minutes |
investigate | Bugs. Never fix without a cause | Today there is no time even to create bugs |
cso | Security audit (OWASP + threat model) | A mockup has nothing to audit |
ship | Tests→review→PR. Stops on failure | We do not go as far as deployment |
retro | Retrospect a week in numbers | Two days is too short |
These 5 pay off on a personal project after the semester. Especially the iron rule of investigate — “no fix without a cause” — a discipline you can use with no tools at all.
$office-hours or the workbook P1 promptTarget output: one-sentence hypothesis + 1 riskiest assumption. Get those out and 구분 A has succeeded.
/office-hours
A YC partner office-hours session, turned into a command. It pressure-tests the idea before a single line of code gets written.
“Push on each one until the answer is specific, evidence-based, and uncomfortable. Comfort means the founder hasn’t gone deep enough.”office-hours/SKILL.md
Two Codex-app cautions: ① No choice buttons — the questions arrive as prose in the body, and you answer in your next message. ② Installed: $office-hours. Not installed: paste workbook P1 as-is. The result is the same.
/office-hours
/office-hours
“What’s the strongest evidence you have that someone actually wants this — not ‘is interested,’ but would be genuinely upset if it disappeared tomorrow?”
“My friends said it would be nice”
“80% said they need it in our survey”
“They say the market is huge”
Someone is already spending money or time
You can name — by name — the person who would be stuck without it
“What are your users doing right now to solve this problem — even badly? What does that workaround cost them?”
Red flag: “Nothing exists. That’s why the opportunity is so big.”
If truly nobody is doing anything, that problem does not hurt enough. One person hand-building their own spreadsheet is a stronger signal than 100 survey responses.
“Name the actual human who needs this most. What’s their title? What gets them promoted? What gets them fired? What keeps them up at night?”
Red flag: category-level answers — “university students”, “students living off campus”, “small business owners”.
“These are filters, not people. You can’t email a category.”office-hours/SKILL.md
Minimum bar: resolution like “a 300-level business student with a 3-hour Tue/Thu gap between lectures and a 90-minute commute”.
“What’s the smallest possible version of this that someone would pay real money for — this week, not after you build the platform?”
Extra pressure: what if it created value with the user doing nothing at all? No login, no setup, no integrations.
The answer here becomes the only screen you build in 구분 C. Write it down word for word.
“Have you watched someone use it without helping? What surprised you?”
“I ran a survey” is not an answer — Surveys lie. Demos are theater.
“As the world changes over 3 years, does this become more necessary or less?”
“The market grows 20% a year” — Growth rate is not a vision.
“Build me a lunch-buddy matching app for free periods. In React.”
A solution mistaken for a problem. The AI writes 300 lines immediately, and you throw them away two hours later.
“/office-hours
Problem: 300-level business students with a 3-hour Tue/Thu gap can’t find anyone to eat with, so they settle for snacks alone at the campus shop.
Skip product design — attack the problem definition first.”
/office-hours
Eating alone, cafeteria queues, menu info
On-campus resale deals, scams and no-shows
Cash and transfers mixed up — can anyone trust the club dues ledger?
Matching tutoring gigs, scheduling, drop-outs
Splitting groceries, expiry dates, group buying
Waiting for gym equipment, workout partners, tracking
If you are picking one, pick it here, within 10 minutes. And only pick something where you can reach the actual people involved this afternoon.
If a product name appears in this sentence, it is wrong. The solution does not enter yet.
If the hypothesis collapses, where exactly does it collapse?
This afternoon’s 2 real-world contacts must be an attempt to break this one assumption. Ask random questions and you only burn time.
If any of the four is missing, fill it before lunch. Do not move on to 구분 B.
$plan-ceo-review) in SCOPE REDUCTION — cut down to 1 featureSending is part of 구분 B. “I’ll send it later” means it never gets sent. Lunch becomes the hour the replies come in.
/plan-ceo-review
| Mode | What it does | Today |
|---|---|---|
| SCOPE EXPANSION | “What gets 10x better for 2x the effort?” | ❌ |
| SELECTIVE EXPANSION | Cherry-pick expansions to keep | ❌ |
| HOLD SCOPE | Freeze the scope, edge cases only | △ |
| SCOPE REDUCTION | Cut to the minimum version. “Be ruthless.” | ✅ this one only |
“Once the user selects a mode, COMMIT to it. Do not silently drift.”plan-ceo-review/SKILL.md
/plan-ceo-review
The cut list becomes the material for tomorrow’s slot 4. Do not delete it.
/plan-ceo-review
If it can’t be built in 40 minutes, it is not what you build today. Cutting scope is skill, not surrender.
④ and ⑤ are impossible in one day. Today’s target: two pieces of ③. And tomorrow, saying “we only got as far as ③” scores higher than pretending you reached ⑤.
“When did you last run into that situation?”
“What did you do then?”
“Have you ever spent money or time because of it?”
“Would you use an app like this?”
Everyone says “yes”. Zero information
“What do you think of this feature?”
Ask for a verdict and you get politeness back
The principle: ask about past behaviour, not future intent.
The 2 people you contact today will almost certainly be people you know. That is not the problem. Pretending otherwise is.
“We validated with 2 users” (both are roommates)
“Both are friends of mine, so there is bias. Here is how I discounted their answers accordingly”
| # | Who | Friend? | Actual behaviour (past tense) | Where it differs from my assumption |
|---|---|---|---|---|
| 1 | A, 300-level, same department | Yes | Snacked alone 3 times last week. Asked the class WhatsApp group, got no reply, gave up | The problem may be response rate, not matching |
| 2 | B, junior from my club | Yes | Eats alone on purpose — finds it easier | Falsifying signal — not everyone is bothered |
If the last column is empty, that interview was never heard. You only went to get your own opinion confirmed.
11:50–12:50 is not just for eating — it is when the replies come in.
This design is the only channel through which reality intervenes in these two days.
Check it with P6 → confirm the path with P7 (neighbour clicks) → keep only the one path you will show and hide the rest
P5: one static screen + fake data. 40 minutes is enough
Both branches share one goal — the 3 clicks you show for 90 seconds tomorrow.
/review /qa /design-html
The lorem ipsum ban is not about taste — it is about layout lies. Real sentences run longer than lorem and break layouts differently.
/design-html
Overdone purple-teal gradients
Meaningless emoji icons
Every card with the same shadow, same rounding
Leftover placeholder text (“Lorem ipsum”, “John Doe”)
Set the layout with real sentences
Build the empty and error states first
Colour only where it carries meaning
Slop is not an aesthetics problem — it is a trust problem. The moment it reads as “an AI made this”, nobody hears your content.
In student projects the real catches are 3 and 5. Number 5 is a defect humans structurally cannot catch — it never appears in the diff.
/review
/review auto-fixes some findings. The list includes N+1 query fixes and added LLM-output validation — both can change behaviour/qa fixes and then commitsqa stops above 20% risk · hard cap 50 findings. Yet the basis for those coefficients appears nowhere in the repoThe rule: read every auto-fix commit line by line with git show. Tomorrow, saying “the AI fixed this part and I did not check it” beats presenting without knowing.
/review /qa
/careful·/freeze are PreToolUse hooks. The tool call itself gets confirmed or blocked
The hooks: frontmatter gets stripped. What remains is one paragraph of “Safety Advisory” prose
“The guardrails are accident prevention, not access control.” … “it’s accident prevention, not a security sandbox.”docs/skills.md
Even on Claude, the guardrails were never security controls. On Codex, even that weak device has no force. The only thing standing between you and rm -rf today is your own hands.
“Repro is everything. Every issue needs at least one screenshot. No exceptions.”qa/SKILL.md
/qa checks “what the user experiences”Short on time? Track B is enough — hand your laptop to your neighbour and let them click with zero explanation. 3 minutes surfaces most of the problems.
/qa
Write down everything fake on your current screen. Tomorrow you present this list, as-is.
Hide it and get caught in Q&A, and that talk is over. Say it first, and it becomes honesty points.
C-4 is optional — but if the network dies tomorrow, it saves the talk.
Slot 4 decides the character of these two days. Empty, it is an investor pitch; filled, it is a validation report.
Take these five out of 5 minutes and 3 minutes remain. Those 3 minutes are the real content.
Asking 2 people cannot verify a hypothesis. All you can do is attempt to falsify it.
“We validated user needs”
“Market fit has been proven”
“1 of the 2 people gave us a falsifying signal”
“We tried to break the hypothesis; under these conditions it held”
A question that stumps you is not something to hide — it is material for slot 5. Know it in advance and Q&A stops being scary.
| 시간 | What |
|---|---|
| 09:30–09:50 | Opening · grading criteria · peer feedback cards handed out |
| 09:50–11:50 | Session A — 8 people (15 min each: talk 7 + Q&A 5 + changeover 3) |
| 11:50–12:50 | Lunch |
| 12:50–12:53 | Morning-patterns briefing (3 min) |
| 12:53–14:23 | Session B — 6 people |
| 14:23–14:40 | Peer feedback tally · best comments |
| 14:40–15:00 | Wrap-up — how to distrust your tools |
The order is drawn by lot tomorrow morning. Everyone arrives by 09:30 with laptop, adapter and backup file ready.
Presenting “this turned out to be wrong” tomorrow is not a penalty. Finding that out in one day is an achievement.
The penalty is for inventing results that do not exist.
What we grade today is “what you found out”, not “what you built”. The demo is not the star of the show — it is evidence.
| 시간 | What |
|---|---|
| 09:30–09:50 | Opening · draw the speaking order · hand out peer feedback cards |
| 09:50–11:50 | Session A — 8 people (15 min each) |
| 11:50–12:50 | Lunch |
| 12:50–12:53 | Morning-patterns briefing (3 min) |
| 12:53–14:23 | Session B — 6 people |
| 14:23–14:40 | Tally the peer feedback cards · read out the best comments |
| 14:40–15:00 | Close — how to doubt your tools |
15 min per person = 7 talk + 5 Q&A + 3 transition. When the timer rings at 7 minutes, you stop — even mid-sentence. No exceptions.
| Criterion | Points | What we look for |
|---|---|---|
| Problem clarity | 20 | Is it specific — who, when, what loss? Naming a category costs you points |
| Evidence of real contact | 25 | Did you actually ask people · did you capture past behaviour · did you disclose how many were friends |
| Hypothesis updates | 20 | What changed because of what you heard. If nothing changed, you owe us a reason |
| Demo fit | 20 | Does the scene you show help confirm the hypothesis (not how polished it is) |
| Honesty | 15 | Did you name the fake, the unbuilt, the limits first. Bonus for self-reporting |
“Polish” and “business-model theory” carry zero points. Because that is not what this course is about.
Whoever spent one more day coding yesterday wins → the lesson of these two days is wiped out
Whoever asked a real person yesterday wins → we are grading the skill that survives the AI era
As the cost of building falls toward zero, all the value moves into “the value of choosing what to build”.
| Box | What to write |
|---|---|
| ① The strongest line | The most convincing sentence in the talk — copy it down word for word |
| ② The weakest link | The spot where “problem → solution” or “evidence → conclusion” made a leap |
| ③ One question you want to ask | Even if you never got to ask it in Q&A, write it here |
No scores. When students score each other, relationships contaminate the grading. We collect sentences only.
Of the 5 Q&A minutes, at least 2 questions come from you. If the instructor asks everything, you become spectators.
Your first sentence is not a greeting — it is the problem sentence. Do not burn 15 seconds on “Good morning, my name is…”.
The slot is 7 minutes, so you have 2 minutes of slack. That slack is for when the demo stutters — not an invitation to explain more.
8 people from here. 15 minutes each.
We stop for just 3 minutes here and name what kept repeating across the morning’s 8 talks.
(Instructor fills this in live — e.g. friends-only interviews, demo tours, saying “we validated it”)
(e.g. leading with the disconfirming case, self-reporting the fake list)
The whole point of these 3 minutes: the afternoon 6 do not repeat the morning’s mistakes.
6 people left. You are allowed to apply the morning’s feedback immediately.
Asking 2 people in order to verify
“The need has been proven”
Trying to break your hypothesis
“1 of the 2 people gave me a disconfirming signal, so I changed the hypothesis to this”
This distinction is the longest-lasting thing you learn today — because it is training in judgement, not in entrepreneurship.
For two days you used Codex and gstack. The last 20 minutes go to how to doubt these tools.
What “810×” really is
Commits that change behaviour
The blind spots of checking tools
The tools will be different in 2 years. The method of doubting will not.
The gstack repository offers a comparison: “one person’s output grew 810×”. And then the same repository takes that number apart itself.
| Where you poke the assumption | Multiplier |
|---|---|
| The README’s original claim | ~810× |
| Raise the 2013 baseline from 14 lines → 50 lines | 228× |
| Correct for 2× AI verbosity (the author’s own figure) | 408× |
| Push the correction to 100× | 8× |
“시간 to first user is the metric that matters, not LOC.”docs/ON_THE_LOC_CONTROVERSY.md
/review·/qa fix the code and commit it. The list includes items that change behaviourThe lesson: that a guardrail exists and how strong its basis is are two different questions. A number attached is not a number verified.
/cso carries 22 hard exclusion rules — DoS, rate limiting, and missing logging are structurally never reported/careful blocked nothing at allA pass from an automated checker means “not found yet”. It does not mean “not there”.
| Source | Count |
|---|---|
| What the README says | “23 specialists + 8 power tools” = 31 |
| Commands the install guide lists | 35 |
| Directories that actually contain a SKILL.md | 54 |
A tool that promises to stop documentation drift is drifting in its own README. We hit it ourselves — the README lists --host cursor, but the install script rejects that value as an error.
The code is the truth, not the docs.
시간 to your first user is the metric. Not lines of code.
Today’s rubric and this sentence are saying the same thing.
The gap between people who use the tool as-is and people who bend it into their own workflow opens up 6 months from now. Every file in ~/.codex/skills/ is plain markdown — open it and edit it.
Build a beautiful app and say “we’re not sure yet who will use it” — that talk fails.
Build an ugly mockup and say “I asked 2 people and 1 of them showed me I was wrong” — that talk succeeds.
Codex and gstack are just the operating system that runs this loop. People make the decisions, all the way to the end.
AI models recommend. Users decide.