@harness-lab/cli 0.2.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +34 -3
  2. package/assets/workshop-bundle/SKILL.md +28 -0
  3. package/assets/workshop-bundle/bundle-manifest.json +44 -52
  4. package/assets/workshop-bundle/content/challenge-cards/deck.md +19 -17
  5. package/assets/workshop-bundle/content/challenge-cards/locales/en/deck.md +7 -5
  6. package/assets/workshop-bundle/content/codex-craft.md +190 -0
  7. package/assets/workshop-bundle/content/facilitation/codex-setup-verification.md +5 -5
  8. package/assets/workshop-bundle/content/facilitation/master-guide.md +137 -67
  9. package/assets/workshop-bundle/content/project-briefs/code-review-helper.md +9 -9
  10. package/assets/workshop-bundle/content/project-briefs/devtoolbox-cli.md +11 -9
  11. package/assets/workshop-bundle/content/project-briefs/doc-generator.md +10 -8
  12. package/assets/workshop-bundle/content/project-briefs/locales/en/devtoolbox-cli.md +4 -2
  13. package/assets/workshop-bundle/content/project-briefs/locales/en/doc-generator.md +5 -3
  14. package/assets/workshop-bundle/content/project-briefs/locales/en/metrics-dashboard.md +4 -2
  15. package/assets/workshop-bundle/content/project-briefs/locales/en/standup-bot.md +4 -2
  16. package/assets/workshop-bundle/content/project-briefs/metrics-dashboard.md +14 -12
  17. package/assets/workshop-bundle/content/project-briefs/standup-bot.md +11 -9
  18. package/assets/workshop-bundle/content/talks/codex-demo-script.md +12 -10
  19. package/assets/workshop-bundle/content/talks/context-is-king.md +26 -23
  20. package/assets/workshop-bundle/docs/harness-cli-foundation.md +23 -11
  21. package/assets/workshop-bundle/docs/learner-resource-kit.md +37 -37
  22. package/assets/workshop-bundle/materials/coaching-codex.md +76 -0
  23. package/assets/workshop-bundle/materials/locales/en/participant-resource-kit.md +14 -2
  24. package/assets/workshop-bundle/materials/participant-resource-kit.md +23 -11
  25. package/assets/workshop-bundle/workshop-blueprint/README.md +2 -5
  26. package/assets/workshop-bundle/workshop-blueprint/day-structure.md +14 -0
  27. package/assets/workshop-bundle/workshop-skill/analyze-checklist.md +3 -3
  28. package/assets/workshop-bundle/workshop-skill/closing-skill.md +5 -5
  29. package/assets/workshop-bundle/workshop-skill/commands.md +13 -13
  30. package/assets/workshop-bundle/workshop-skill/facilitator.md +95 -0
  31. package/assets/workshop-bundle/workshop-skill/follow-up-package.md +13 -8
  32. package/assets/workshop-bundle/workshop-skill/install.md +8 -8
  33. package/assets/workshop-bundle/workshop-skill/locales/en/follow-up-package.md +8 -3
  34. package/assets/workshop-bundle/workshop-skill/locales/en/recap.md +8 -1
  35. package/assets/workshop-bundle/workshop-skill/locales/en/reference.md +19 -3
  36. package/assets/workshop-bundle/workshop-skill/locales/en/setup.md +1 -1
  37. package/assets/workshop-bundle/workshop-skill/recap.md +12 -5
  38. package/assets/workshop-bundle/workshop-skill/reference.md +45 -29
  39. package/assets/workshop-bundle/workshop-skill/setup.md +11 -11
  40. package/assets/workshop-bundle/workshop-skill/template-agents.md +4 -4
  41. package/package.json +1 -1
  42. package/src/client.js +18 -0
  43. package/src/io.js +11 -2
  44. package/src/run-cli.js +266 -8
  45. package/src/session-store.js +1 -0
  46. package/src/skill-install.js +108 -7
  47. package/src/workshop-bundle.js +48 -3
  48. package/assets/workshop-bundle/content/czech-editorial-review-checklist.md +0 -88
  49. package/assets/workshop-bundle/content/style-examples.md +0 -127
  50. package/assets/workshop-bundle/content/style-guide.md +0 -108
  51. package/assets/workshop-bundle/workshop-blueprint/edit-boundaries.md +0 -64
@@ -0,0 +1,190 @@
1
+ # Codex Craft
2
+
3
+ > Tool-specific fluency to sit on top of the agent-agnostic harness method.
4
+
5
+ Harness Lab teaches a method that transfers across coding agents: Codex, pi, Claude Code, Cursor, Aider. The method is agent-agnostic by design. This document is the other half: the **Codex-specific craft** that the method assumes you already know, but that nobody teaches you in order.
6
+
7
+ If something in this doc contradicts the live Codex documentation, trust the live docs. This doc is a teaching artifact, not a specification. Last verified against Codex CLI in April 2026 — re-verify before each cohort.
8
+
9
+ ---
10
+
11
+ ## 1. What the harness actually is in Codex
12
+
13
+ In Codex, the "harness" is the union of four things:
14
+
15
+ 1. **The repo context the model can see.** `AGENTS.md`, files you name, files it reads on its own, the diff you built up this session.
16
+ 2. **The tool affordances the model can reach.** Shell access, file edits, network calls, Playwright probes. Each affordance has an approval posture you chose.
17
+ 3. **The approval and sandbox posture you picked when you started the session.** This determines what Codex can do without asking you.
18
+ 4. **The feedback loop.** Tests, type checks, compiler errors, your review. This is how the agent learns it made a mistake in this session.
19
+
20
+ All four are yours to engineer. None of them are optional. When a harness feels "off", it's almost always because one of these four is underspecified.
21
+
22
+ ---
23
+
24
+ ## 2. Approval modes — pick deliberately, not by default
25
+
26
+ Codex CLI sessions start with an approval posture. The common modes are:
27
+
28
+ - **Suggest** — Codex proposes every shell command or file edit and waits for your `y/n`. Maximum control, maximum friction. Good for unfamiliar repos or risky work (migrations, production-adjacent changes).
29
+ - **Auto-edit** — Codex can edit files without asking, but still asks before running shell commands. This is the right default for most feature work in a repo you trust.
30
+ - **Full-auto** (sometimes called "dangerously") — Codex can edit files and run shell commands without asking, inside the configured sandbox. Fastest; appropriate only when the sandbox is actually restrictive and the work is reversible.
31
+
32
+ **Craft rule:** pick the approval mode *before* you start, based on the blast radius of the work — not during, because the mood of the session shouldn't drive safety posture. Write the mode into your `AGENTS.md` as a note for the next agent.
33
+
34
+ **Common trap:** raising to full-auto for speed, then forgetting to lower it for the next task. Get in the habit of naming the current mode out loud, the way a pilot names airspeed.
35
+
36
+ ---
37
+
38
+ ## 3. Sandboxing — what "isolated" actually means
39
+
40
+ Codex runs shell commands inside a sandbox. The sandbox constrains which directories are writable, whether network is allowed, and which binaries are callable. Exact defaults change between versions; what matters is the *posture* you should take:
41
+
42
+ - **Assume the sandbox is part of the harness.** If it allows network and the task doesn't need network, narrow it. If it allows writes outside the repo and you don't need that, narrow it. Unused affordances are silent drift risks.
43
+ - **Don't ask Codex to weaken its own sandbox.** If a step needs more capability, exit the session, reconfigure, and re-enter with the wider posture explicitly declared. Silent posture drift is the single most common "why did the agent do that" moment.
44
+ - **Document the sandbox assumption in `AGENTS.md`.** One line: "This repo expects Codex with file writes inside `src/` and `tests/` only, no network, shell limited to npm/node." The next agent — human or AI — needs this to know what is load-bearing.
45
+
46
+ ---
47
+
48
+ ## 4. Context window as a resource, not a design aesthetic
49
+
50
+ The model has a large context window. You do not have a large budget for putting things into it.
51
+
52
+ **What this means in practice:**
53
+
54
+ - **Not everything belongs in-context.** `AGENTS.md` should be a map — a short directory of deeper sources — not an encyclopedia. If it's 400 lines, it's a manual, and manuals don't fit in working memory.
55
+ - **Progressive disclosure beats eager loading.** Point at files; let the agent read them when needed. A reference is cheaper than a copy.
56
+ - **Long sessions decay.** After dozens of turns, constraints from the top of the session are in danger of being silently forgotten. Re-surface rules before they matter, not after the agent violates them.
57
+ - **The expensive prompt isn't the one you wrote. It's the one the agent is holding right now.** Every turn, the agent is re-reading the entire session. If there's noise in turn 5, it's still there in turn 50.
58
+
59
+ **Craft rule:** treat context budget the way a performance engineer treats latency — as a constraint you measure and optimize, not a free resource you assume. The harness is partly a budget discipline.
60
+
61
+ ---
62
+
63
+ ## 5. Long-horizon drift and how to catch it
64
+
65
+ Long-horizon drift is when the agent gradually stops honoring a constraint you set early in the session, because that constraint has scrolled out of its effective attention. It is the signature failure mode of longer Codex work.
66
+
67
+ **Symptoms:**
68
+
69
+ - The agent starts adding `any` types in a repo that explicitly requires strict typing.
70
+ - The agent recreates a utility you told it to import from an existing module.
71
+ - The agent silently stops writing tests for a kind of change it tested earlier.
72
+ - The agent uses the wrong naming convention for the third of three similar files.
73
+
74
+ **The harness move is not "remind the agent more loudly." It is:**
75
+
76
+ 1. **Put the constraint in a place the agent re-reads.** `AGENTS.md`, a pre-commit check, a test that fails loudly if the convention is broken. Don't rely on the constraint surviving in the scrollback.
77
+ 2. **Add a short re-anchor prompt before risky steps.** "Before you implement this, re-read `AGENTS.md` and state the three rules that apply to this change." This is a cheap, reliable drift detector.
78
+ 3. **Watch for the moment the agent starts "improvising" around a missing pattern.** That usually means it can't find the pattern any more, not that the pattern doesn't exist.
79
+
80
+ **Craft rule:** drift is cheaper to prevent with repo artifacts than to correct with more prompting. Every time you correct the same drift twice, encode the constraint.
81
+
82
+ ---
83
+
84
+ ## 6. Before and after — a representative prompt pair
85
+
86
+ The following is a **representative** comparison, not a live transcript. It is constructed from patterns commonly observed in Harness Lab cohorts. Your actual output will differ; the shape of the difference is what matters.
87
+
88
+ ### The underspecified ask
89
+
90
+ > Add a dashboard route that shows workshop instances with their current phase and team count. Make it look nice.
91
+
92
+ What typically happens:
93
+
94
+ - The agent picks a styling library it guesses is used in the repo (often wrong).
95
+ - It invents a data shape for "instances" instead of reading the existing model.
96
+ - It adds a route at a plausible but not conventional path.
97
+ - It writes no test, because "make it look nice" did not ask for one.
98
+ - You end up with 400 lines of code that almost fit and that you now have to reverse-engineer to reject.
99
+
100
+ ### The specified ask
101
+
102
+ > **Goal:** Add a dashboard route listing workshop instances with their current phase and team count.
103
+ >
104
+ > **Context:** The instance model lives in `dashboard/lib/workshop-store.ts`. The existing route pattern is in `dashboard/app/workshops/page.tsx`. Styling uses Tailwind + the components under `dashboard/components/ui/`. Do not introduce a new styling library.
105
+ >
106
+ > **Constraints:**
107
+ > - Read-only route. No mutations.
108
+ > - Must work in file-mode storage (local dev) and neon-mode (production).
109
+ > - Follow the existing route naming convention in `dashboard/app/`.
110
+ > - If the instance list is empty, render the existing `EmptyState` component, not a bespoke fallback.
111
+ >
112
+ > **Done when:**
113
+ > - The new page renders the expected columns.
114
+ > - An e2e test in `dashboard/e2e/` loads the page and asserts at least one instance row when the demo data is present.
115
+ > - Running `npm run build` in `dashboard/` produces no new TypeScript errors.
116
+ >
117
+ > Before you implement, read the existing route file and list the three patterns you're going to reuse. Do not start writing until I confirm.
118
+
119
+ What typically happens:
120
+
121
+ - The agent stops and reads the referenced files.
122
+ - It lists the patterns it found. You catch any misreading in 30 seconds, before any code.
123
+ - It proposes a plan. You either confirm or redirect — cheap.
124
+ - It implements against the stated done criteria.
125
+ - It runs the test and the build before claiming the work is finished.
126
+ - The work either lands correctly in the first pass, or the feedback loop (test, build, review) catches the gap without you reading every line.
127
+
128
+ **The difference isn't the wordcount.** It's that the second ask makes the agent's working context match your working context. The harness is what makes that match possible.
129
+
130
+ ---
131
+
132
+ ## 7. A failure-recovery moment
133
+
134
+ This is the single thing missing from most agent demos: what happens when the agent drifts, and how the harness catches it.
135
+
136
+ **Scenario (representative, reconstructed from a cohort session):**
137
+
138
+ A team asked Codex to add a new `facilitator` role to an auth middleware. Codex implemented the change, ran the tests, and reported success. The tests were green. The dashboard worked in dev. Everything looked fine.
139
+
140
+ The continuation team, the next afternoon, opened the repo and read `AGENTS.md`. One line said: "Any change to auth middleware requires a corresponding update to `docs/adr/` with a rationale." There was no new ADR. The team ran a grep for the new role and found it used only in the middleware — not in the one place in the dashboard that branches on role. The middleware change worked in tests because the test fixtures only exercised the happy path.
141
+
142
+ **What the harness caught:**
143
+
144
+ - The ADR rule in `AGENTS.md` caught the missing documentation.
145
+ - The continuation team's "read first, diagnose second" discipline caught the incomplete usage.
146
+ - Neither caught it by "prompting better." Both caught it because the repo carried constraints the morning team had encoded, and the afternoon team had a ritual for reading them.
147
+
148
+ **The morning team's mistake wasn't prompting. It was trusting green tests as a completion signal in a repo where the real completion criteria lived in a doc they didn't re-read.** The fix is never "write a sharper prompt next time." The fix is either a test that would have failed, a rule that would have blocked merge, or a ritual that would have forced the check. All three are harness moves.
149
+
150
+ ---
151
+
152
+ ## 8. Tool selection — when to reach for what
153
+
154
+ Harness Lab is agent-agnostic, but in practice you will pick a specific tool for each task. Heuristics:
155
+
156
+ - **Codex CLI** — best for repo work with fast local iteration, especially when you want a sandbox and shell access. Strong for code generation, refactoring, debugging inside a repo you trust.
157
+ - **Claude Code** — best for long, stateful sessions where you want the model to reason about the full shape of a problem and remember decisions across many turns. Strong for architecture work, careful reviews, careful migrations.
158
+ - **pi** — best for terminal-native work that needs multi-model flexibility. Strong when you want to compare outputs or keep the harness lightweight and scriptable.
159
+ - **Cursor / IDE-native tools** — best for fast edit-edit-edit loops inside a single file or small module, where you want the model's suggestions inline and do not need agentic control flow.
160
+ - **Aider** — best for tightly-scoped edits against a known set of files, with git commits per turn.
161
+
162
+ **Craft rule:** pick the tool based on the *shape* of the task, not the one you happen to have open. Every tool has an implicit harness; picking the tool is picking the harness.
163
+
164
+ **None of this means you should switch tools mid-workshop.** Harness Lab cohorts should pick one tool for the day (usually Codex) so the learning accumulates. This section is about Monday morning, not about Saturday's workshop.
165
+
166
+ ---
167
+
168
+ ## 9. How to keep learning after today
169
+
170
+ The Codex ecosystem ships new capabilities monthly. What's documented here will be partly outdated within the next release cycle. **Do not treat this doc as a frozen reference.** Treat it as a starting harness for your own reading practice:
171
+
172
+ - Read the official Codex CLI release notes when they ship. The safety and approval posture changes there are the ones that matter most.
173
+ - Subscribe to one practitioner newsletter who uses these tools daily (Simon Willison's blog is a dense source; there are others).
174
+ - When you discover a failure mode in your own work, write it down in your own team's `AGENTS.md` or a runbook. Your team's harness should learn from your team's failures, not just from this doc.
175
+ - Every quarter, re-read your `AGENTS.md` files with a skeptical eye. Delete anything that is no longer load-bearing. Simplicity is part of the harness.
176
+
177
+ ---
178
+
179
+ ## 10. The one-line summary
180
+
181
+ You cannot prompt your way out of a bad harness. You can, however, engineer a harness that makes prompting mostly unnecessary.
182
+
183
+ ---
184
+
185
+ ## See also
186
+
187
+ - [`coaching-codex.md`](../materials/coaching-codex.md) — one-page recipe card for the conversational moves that force plan-first work.
188
+ - [`talks/context-is-king.md`](talks/context-is-king.md) — the workshop talk that introduces the method.
189
+ - [`challenge-cards/deck.md`](challenge-cards/deck.md) — small interventions that install the habits during the build phases.
190
+ - [`../workshop-blueprint/day-structure.md`](../workshop-blueprint/day-structure.md) — the full day architecture and the north-star question.
@@ -9,7 +9,7 @@ Do 10:30 musí mít každý účastník jednu funkční cestu:
9
9
  - `Codex App`
10
10
  - nebo web fallback
11
11
 
12
- Cíl není perfektní instalace. Cíl je dostat každého co nejdřív do práce s agentem.
12
+ Cíl není perfektní instalace. Cíl je dostat každého co nejdřív do práce s agentem.
13
13
 
14
14
  ## Rychlý start
15
15
 
@@ -27,7 +27,7 @@ Cíl není perfektní instalace. Cíl je dostat každého co nejdřív do práce
27
27
  2. Přihlaste provider nebo účet, který chcete používat.
28
28
  3. Otevřete repozitář.
29
29
  4. Spusťte `pi`.
30
- 5. Načtěte workshop skill přes `/skill:workshop` a řekněte si o další krok.
30
+ 5. Načtěte workshop skill přes `/skill:workshop` a řekněte si o další krok.
31
31
 
32
32
  ### Windows / macOS
33
33
 
@@ -42,10 +42,10 @@ Použijte ho ve chvíli, kdy vás blokuje instalace, firemní politika nebo aute
42
42
 
43
43
  ## Troubleshooting checklist
44
44
 
45
- - Nejde login → přejděte na `App` nebo web fallback a pokračujte.
45
+ - Nejde login → přejděte na `App` nebo web fallback a pokračujte.
46
46
  - Nejde CLI instalace → nenechte se blokovat déle než 7 minut.
47
- - Nejde otevřít repo → spárujte se s někým od stolu a vraťte se k tomu později.
48
- - Nevíte, co je další krok → v Codexu použijte `$workshop setup`. V pi načtěte `/skill:workshop` a řekněte si o setup pomoc.
47
+ - Nejde otevřít repo → spárujte se s někým od stolu a vraťte se k tomu později.
48
+ - Nevíte, co je další krok → v Codexu použijte `$workshop setup`. V pi načtěte `/skill:workshop` a řekněte si o setup pomoc.
49
49
 
50
50
  ## Facilitátorské rozhodnutí
51
51
 
@@ -1,84 +1,84 @@
1
1
  # Facilitační průvodce
2
2
 
3
- ## Otevření a welcome
3
+ ## Otevření a welcome
4
4
 
5
5
  ### Cíl
6
6
 
7
- Spustit den jako room-facing launch pro celý workshop, ne jako provozní brief k dopoledni.
7
+ Spustit den jako společný start pro celý workshop, ne jako provozní brief k dopoledni.
8
8
 
9
9
  ### Klíčová message
10
10
 
11
- > „Dnes nejde o to být nejrychlejší. Jde o to postavit práci tak, aby ji cizí tým dokázal převzít a posunout dál.“
11
+ > „Dnes nejde o to být nejrychlejší. Jde o to postavit práci tak, aby ji cizí tým dokázal převzít a posunout dál.“
12
12
 
13
13
  ### Co potřebuje zaznít
14
14
 
15
- - Nezačínáme tool demo ani soutěž v promptování.
16
- - Budeme se učit, stavět, předávat i přebírat. Ten oblouk dne je záměr workshopu.
17
- - Jde o práci s agentem tak, aby po vás zůstával použitelný kontext.
15
+ - Nezačínáme tool demo ani soutěž v promptování.
16
+ - Budeme se učit, stavět, předávat i přebírat. Ten oblouk dne je záměr workshopu.
17
+ - Jde o práci s agentem tak, aby po vás zůstával použitelný kontext.
18
18
  - Odpolední část prověří, jestli repo opravdu unese převzetí dalším týmem.
19
- - Pokud nějaké důležité pravidlo žije jen v hovoru u stolu, ještě neexistuje.
19
+ - Pokud nějaké důležité pravidlo žije jen v hovoru u stolu, ještě neexistuje.
20
20
 
21
21
  ### Doporučený sled beatů
22
22
 
23
23
  1. day-opening promise
24
24
  2. proč na tom záleží právě teď
25
25
  3. analogie typu Lego duck: stejné ingredience, různé použitelné výsledky
26
- 4. krátká pohybová aktivace podle zkušenosti s AI agenty
26
+ 4. krátká pohybová aktivace podle zkušenosti s AI agenty
27
27
  5. první pracovní kontrakt pro Build fázi 1
28
28
 
29
29
  ### Lego-duck analogie
30
30
 
31
- Použijte ji krátce a věcně.
31
+ Použijte ji krátce a věcně.
32
32
 
33
33
  Pointa:
34
34
 
35
35
  - stejný agent neznamená stejný výsledek
36
36
  - kvalitu neurčuje samotný model
37
- - kontext, mantinely a ověřování jsou součást výsledku
37
+ - kontext, mantinely a ověřování jsou součást výsledku
38
38
 
39
- Nevést jako zábavnou odbočku. Vést jako vysvětlení, proč je harness engineering tvůrčí a inženýrská disciplína zároveň.
39
+ Nevést jako zábavnou odbočku. Vést jako vysvětlení, proč je harness engineering tvůrčí a inženýrská disciplína zároveň.
40
40
 
41
41
  ### Pohybová aktivace
42
42
 
43
- Použijte krátké rozdělení místnosti podle aktuální zkušenosti s AI agenty:
43
+ Použijte krátké rozdělení místnosti podle aktuální zkušenosti s AI agenty:
44
44
 
45
45
  - používám skoro denně
46
46
  - používám, ale opatrně
47
47
  - jsem spíš na startu
48
- - jsem skeptický, ale chci důkaz
48
+ - jsem skeptický, ale chci vidět, že to funguje
49
49
 
50
50
  Pravidla:
51
51
 
52
- - ne dělat z toho networking kolo
52
+ - ne dělat z toho networking kolo
53
53
  - stačí přesun a 2 krátké hlasy
54
- - pointa není seniorita, ale kalibrace místnosti a signál, že den je participativní
54
+ - pointa není seniorita, ale kalibrace místnosti a signál, že den je participativní
55
55
 
56
56
  ### Co má facilitátor průběžně vracet
57
57
 
58
58
  - „Kde by to našel další tým bez vás?“
59
59
  - „Co je tady skutečně ověřené?“
60
- - „Je `AGENTS.md` mapa, nebo už se z něj stává dump?“
60
+ - „Je `AGENTS.md` mapa, nebo už se z něj stává dump?“
61
61
  - „Jaký je další bezpečný krok pro cizího člověka nebo agenta?“
62
62
 
63
63
  ### První pracovní kontrakt
64
64
 
65
- Po launchi potřebuje místnost ještě jednu konkrétní věc:
65
+ Po otevření dne potřebuje místnost ještě jednu konkrétní věc:
66
66
 
67
- - co má být po prvním build bloku opravdu vidět
68
- - co nestačí jen slíbit
67
+ - co má být po prvním build bloku opravdu vidět v repu
68
+ - co nestačí jen slíbit nebo dovysvětlit u stolu
69
69
 
70
70
  Do oběda má být vidět:
71
71
 
72
- - repo a `README`, které dávají smysl cizímu člověku
73
- - `AGENTS.md` jako krátká mapa
74
- - plan nebo jasně vedená implementační stopa
75
- - první explicitní check před dalším generováním
72
+ - `README`, které dává smysl cizímu člověku
73
+ - `AGENTS.md` jako krátká mapa, ne sklad všeho
74
+ - plán kroků nebo jasně vedená implementační stopa, ze které je poznat další bezpečný krok
75
+ - první explicitní ověření před dalším generováním
76
76
 
77
77
  ## Context is King talk
78
78
 
79
79
  ### Cíl
80
80
 
81
- Proměnit energii z openingu v přesnou tezi a čistý most do Build fáze 1.
81
+ Proměnit energii z openingu v přesnou tezi a čistý most do Build fáze 1.
82
82
 
83
83
  ### Klíčová message
84
84
 
@@ -86,19 +86,21 @@ Proměnit energii z openingu v přesnou tezi a čistý most do Build fáze 1.
86
86
 
87
87
  ### Co potřebuje zaznít
88
88
 
89
- - Neučíme se lépe promptovat. Učíme se postavit repo a workflow, ve kterém agent i cizí tým dokážou bezpečně pokračovat.
90
- - `AGENTS.md`, skills, runbooky a checks jsou týmová infrastruktura, ne polish navíc.
91
- - Team lead nestojí modelu za zády a nediktuje další větu každých třicet sekund.
92
- - Po talku se tým vrací k repu s mapou, planem a prvním checkem, ne s lovem na chytřejší prompt.
89
+ - Neučíme se lépe promptovat. Učíme se postavit repo a workflow, ve kterém agent i cizí tým dokážou bezpečně pokračovat.
90
+ - `AGENTS.md`, skills, runbooky a ověřovací kroky jsou týmová infrastruktura, ne polish navíc.
91
+ - Team lead nestojí modelu za zády a nediktuje další větu každých třicet sekund.
92
+ - Po talku se tým vrací k repu s mapou, plánem kroků a prvním ověřením, ne s lovem na chytřejší prompt.
93
93
 
94
94
  ### Mikro-cvičení
95
95
 
96
+ Tohle je krátká facilitátorova ukázka, ne zadání pro celý room.
97
+
96
98
  Použijte stejný malý task ve dvou podmínkách:
97
99
 
98
100
  1. prompt blob
99
101
  2. krátké zadání s `Goal`, `Context`, `Constraints`, `Done When`
100
102
 
101
- Nenechte to sklouznout do debaty o tom, který model je chytřejší.
103
+ Nenechte to sklouznout do debaty o tom, který model je chytřejší.
102
104
 
103
105
  Pointa:
104
106
 
@@ -111,94 +113,142 @@ Pointa:
111
113
  Na konci talku má být jasné:
112
114
 
113
115
  - teorie tím končí
114
- - tým se vrací k repu
115
- - nejdřív vzniká mapa a první explicitní check
116
+ - tým se vrací k repu
117
+ - pokud tým ještě nemá workshop skill, teď je chvíle na `harness skill install`, pak `Codex: $workshop setup` nebo `pi: /skill:workshop`
118
+ - nejdřív vzniká mapa a první explicitní ověření
116
119
  - teprve potom dává smysl další feature motion
117
120
 
118
121
  ## Build fáze 1
119
122
 
120
123
  ### Viditelný milestone board
121
124
 
122
- 1. do 10:50 existuje repo
123
- 2. do 11:15 existuje `AGENTS.md`
124
- 3. do 11:30 existuje plan
125
- 4. do 11:45 existuje build/test command nebo tracer bullet
126
- 5. do 12:00 existuje první ověřený výstup
125
+ Do oběda být v repu vidět pět základních věcí:
126
+
127
+ 1. `README`, které dává smysl cizímu člověku
128
+ 2. `AGENTS.md` jako krátká mapa
129
+ 3. plán, ze kterého je poznat další bezpečný krok
130
+ 4. build/test command nebo tracer bullet
131
+ 5. první opravdu ověřený posun
127
132
 
128
133
  ### Role facilitátora
129
134
 
130
- - nejdřív coach — ptejte se, co tým potřebuje a kde je zaseknutý
131
- - pak mentor — pomozte s workflow nebo s nástrojem
132
- - učitel až jako poslední možnost — krátce vysvětlete princip a vraťte tým do práce
135
+ - nejdřív coach — ptejte se, co tým potřebuje a kde je zaseknutý
136
+ - pak mentor — pomozte s workflow nebo s nástrojem
137
+ - učitel až jako poslední možnost — krátce vysvětlete princip a vraťte tým do práce
133
138
  - vracejte týmům hlavně artefakty, ze kterých se dá opravdu pracovat, ne celý backstage Harness Lab
139
+ - když se tým zasekne, vraťte ho k ověření, ne k delšímu promptu
134
140
 
135
141
  ### Na co se při obcházení dívat
136
142
 
137
- - Má tým jednu společnou představu o cíli?
138
- - Přibývá kontext v repu, nebo zůstává jen v chatu a v hlavách?
143
+ - Má tým jednu společnou představu o cíli?
144
+ - Přibývá kontext v repu, nebo zůstává jen v chatu a v hlavách?
139
145
  - Ověřují si výstupy, nebo jen generují další text?
140
- - Mají test, tracer bullet nebo jiné explicitní ověření, které drží agenta v mezích?
141
- - Je z repa poznat, co je hotové, co je rozpracované a co je jen hypotéza?
146
+ - Mají test, tracer bullet nebo jiné explicitní ověření, které drží agenta v mezích?
147
+ - Je z repa poznat, co je hotové, co je rozpracované a co je jen hypotéza?
142
148
  - Uměl by jiný tým během pěti minut najít první bezpečný krok?
143
149
 
144
- ### Facilitační pointa k testům
150
+ ### Facilitační pointa k testům
145
151
 
146
- - S coding agentem nestačí říct „tohle si pak projdeme“.
152
+ - S coding agentem nestačí říct „tohle si pak projdeme“.
147
153
  - Jakmile agent dostává větší autonomii, tým musí zvýšit kvalitu ověřování.
148
154
  - Test-first přístup není dogma pro čistotu. Je to praktický způsob, jak převést záměr do formy, kterou agent umí opakovaně trefovat.
149
155
  - Když tým žádné ověření nemá, facilitátor má tlačit na nejmenší možný test nebo tracer bullet, ne na další generování funkcí.
150
- - U UI práce připomínejte pattern: rychlá agent exploration v izolovaném prostředí, potom browser test, potom lidské review.
151
- - Pokud tým mluví o tom, že „agent to prostě nakliká v mém browseru“, vraťte debatu k sandboxu, nízkému riziku a explicitní kontrole.
156
+ - U UI práce připomínejte pattern: rychlá agent exploration v izolovaném prostředí, potom browser test, potom lidské review.
157
+ - Pokud tým mluví o tom, že „agent to prostě nakliká v mém browseru“, vraťte debatu k sandboxu, nízkému riziku a explicitní kontrole.
152
158
 
153
159
  ### Co normalizovat
154
160
 
155
161
  - `AGENTS.md` jako krátkou mapu, ne rostoucí skladiště všeho
156
- - plan jako pracovní artefakt, ne ceremonii navíc
162
+ - plán jako pracovní artefakt, ne ceremonii navíc
157
163
  - malý průběžný úklid, když se začne šířit chaos nebo duplicity
158
164
  - převod opakovaných připomínek do repa místo dalšího ústního mentoringu
159
165
 
166
+ ## Codex demo
167
+
168
+ ### Cíl
169
+
170
+ Ukázat Codex jako součást pracovního systému, ne jako samostatné kouzlo. Demo má vysvětlit i to, proč tenhle repo drží pohromadě: protože v repu žije záměr, mantinely, rozpad práce do kroků i způsob kontroly, ne jen v hlavě facilitátora.
171
+
172
+ ### Co má být vidět
173
+
174
+ - jedna příběhová linka, ne přehlídka funkcí
175
+ - repozitář, ve kterém je vidět `README`, `AGENTS.md`, rozpad práce do kroků a způsob, jak změnu zkontrolujete
176
+ - kontrast mezi slabým startem bez kontextu a prací, která má mapu a další bezpečný krok
177
+ - krátké ukotvení workshop skillu: `harness skill install`, první command a proč to šetří ústní rescue
178
+
179
+ ### Co explicitně říct
180
+
181
+ - „Tohle není demo pro demo. Tohle je způsob, jak vznikal i tenhle workshopový repo systém.“
182
+ - „Když z repa není poznat, proč se změna dělá, jaký je další krok a podle čeho ji zkontrolujete, další člověk ani další agent nenaváže bezpečně.“
183
+ - „Codex je v tomhle důležitý, ale není to pointa sám o sobě. Pointa je harness kolem něj.“
184
+
185
+ ### Co neukazovat
186
+
187
+ - pět různých módů Codexu za sebou
188
+ - dlouhé čekání na generování bez komentáře
189
+ - repo, které není continuation-ready a slouží jen jako jednorázový sandbox
190
+
160
191
  ## Intermezza
161
192
 
162
193
  Každé intermezzo má tři kroky:
163
194
 
164
- 1. Týmy napíšou jednu větu: „Co jsme změnili a proč.“
165
- 2. Ondřej shrne, co vidí u stolů a co ukazuje monitoring.
166
- 3. Zazní jedna principová pointa navázaná na to, co se opravdu děje v místnosti.
195
+ 1. Týmy napíšou jednu větu: „Co jsme změnili a proč.“
196
+ 2. Ondřej shrne, co vidí u stolů a co ukazuje monitoring.
197
+ 3. Zazní jedna principová pointa navázaná na to, co se opravdu děje v místnosti.
167
198
 
168
199
  Preferované checkpoint otázky:
169
200
 
170
- - Co jste přesunuli z chatu nebo z hlavy do repa?
171
- - Co dnes ověřujete pomocí spustitelného checku?
201
+ - Co jste přesunuli z chatu nebo z hlavy do repa?
202
+ - Co dnes ověřujete pomocí spustitelného ověření?
172
203
  - Co by měl číst další tým jako první?
173
204
 
174
205
  ### Smysl intermezz
175
206
 
176
207
  - zviditelnit učení napříč týmy
177
- - udělat z průběhu dne sérii krátkých checkpointů
208
+ - udělat z průběhu dne sérii krátkých checkpointů
178
209
  - připomenout, že workflow je stejně důležité jako samotný výsledek
179
- - vracet týmy k tomu, že bez ověření jen akcelerují nejistotu
210
+ - vracet týmy k tomu, že bez ověření jen akcelerují nejistotu
211
+
212
+ Nevést intermezzo jako status meeting.
213
+ Vést ho jako krátký checkpoint, ze kterého si týmy odnesou jednu věc, kterou ještě ten den dopíšou, zpřesní nebo ověří.
214
+
215
+ ## Oběd a příprava na handoff
216
+
217
+ - Oběd není pauza od handoffu.
218
+ - Než týmy vstanou od stolu, musí být z repa poznat:
219
+ - co se změnilo
220
+ - co je hotové
221
+ - co je stále hypotéza
222
+ - jaký je další bezpečný krok
223
+ - Když něco z toho zůstane jen v hovoru, odpoledne se to vrátí jako tření.
180
224
 
181
225
  ## Rotace
182
226
 
183
227
  - Bez ústního handoffu.
184
- - Prvních 10 minut nový tým jen čte repo a mapuje situaci.
185
- - Frustrace není chyba workshopu. Je to signál kvality kontextu v repozitáři.
228
+ - Prvních 10 minut nový tým jen čte repo a mapuje situaci.
229
+ - Frustrace není chyba workshopu. Je to signál kvality kontextu v repozitáři.
186
230
 
187
231
  ### Instrukce pro nový tým
188
232
 
189
- - Začněte `README`, `AGENTS.md` a planem.
233
+ - Začněte `README`, `AGENTS.md` a planem.
190
234
  - Needitujte hned první soubor, který otevřete.
191
235
  - Nejprve si udělejte mapu: co funguje, co chybí, co je rizikové.
192
- - Nejdřív napište vlastní diagnózu: co pomáhá, co chybí, co je rizikové a jaký je další bezpečný krok.
193
- - Když tým neví, po čem sáhnout, vraťte ho k learner kitu: `template-agents`, `reference`, `analyze-checklist` a challenge cards.
236
+ - Nejdřív napište vlastní diagnózu: co pomáhá, co chybí, co je rizikové a jaký je další bezpečný krok.
237
+ - Když tým neví, po čem sáhnout, vraťte ho k learner kitu: `template-agents`, `reference`, `analyze-checklist` a challenge cards.
194
238
 
195
- ### Facilitační pointa k rotaci
239
+ ### Facilitační pointa k rotaci
196
240
 
197
241
  - Frustrace je užitečný signál, pokud ukazuje na skrytý kontext nebo chybějící verifikaci.
198
- - Nepomáhejte týmům ústním handoffem nahrazovat slabý signál v repu.
242
+ - Nepomáhejte týmům ústním handoffem nahrazovat slabý signál v repu.
199
243
  - Pomáhejte jim pojmenovat, co musí být po rotaci dopsáno, zpřesněno nebo ověřeno.
200
244
 
201
- ## Reveal a reflexe
245
+ ## Build fáze 2
246
+
247
+ - Po rotaci neopravujeme jen feature. Opravujeme i signál, který převzetí zbrzdil.
248
+ - Každá opakující se bolest je kandidát na lepší mapu, pravidlo, runbook nebo ověření.
249
+ - Další větší změna má přijít až po nové explicitní verifikaci.
250
+
251
+ ## Reveal a reflexe
202
252
 
203
253
  ### `1-2-4-All`
204
254
 
@@ -206,17 +256,37 @@ Otázky:
206
256
 
207
257
  - Co vám pomohlo pokračovat?
208
258
  - Co chybělo?
209
- - Jaký signál v repu vám nejvíc ušetřil čas?
259
+ - Jaký signál v repu vám nejvíc ušetřil čas?
210
260
 
211
261
  ### `W³`
212
262
 
213
263
  - `Co?` — co se dnes stalo bez hodnocení
214
- - `A co?` — co to znamená pro práci s AI agenty
264
+ - `A co?` — co to znamená pro práci s AI agenty
215
265
  - `A teď?` — co uděláte jinak příští týden
216
266
 
217
267
  ### Rámec pro facilitaci
218
268
 
219
269
  - Nehodnotíme, který tým byl lepší.
220
- - Díváme se na systém: které signály pomáhají práci přežít handoff a které ji brzdí.
270
+ - Díváme se na systém: které signály pomáhají práci přežít handoff a které ji brzdí.
221
271
  - Sbíráme konkrétní příklady, ne obecné dojmy.
222
- - Každá opakující se bolest je kandidát na lepší template, challenge card nebo vodítko v blueprintu.
272
+ - Každá opakující se bolest je kandidát na lepší template, challenge card nebo vodítko v blueprintu.
273
+
274
+ Na konci dne chceme, aby si lidé odnesli tři věci:
275
+
276
+ 1. jeden signál, který chtějí zavést natrvalo
277
+ 2. jednu slabinu, kterou už příště nenechají jen v hovoru
278
+ 3. jeden konkrétní tah pro příští týden
279
+
280
+ ### `Monday commitments` — sdílený artefakt
281
+
282
+ Reflexe bez zápisu se do pondělí většinou neudrží. Proto na samém konci dne:
283
+
284
+ - každý účastník napíše jednu větu ve tvaru: **„Příští týden udělám [X], protože [důvod z dnešního dne]."**
285
+ - věty se napíší na papírek, sticky note nebo přímo do sdíleného dokumentu
286
+ - facilitátor je sesbírá a udělá z nich jeden krátký sdílený seznam, který si tým odnese
287
+ - seznam není hodnocení ani soutěž. Je to jediný artefakt z dnešního dne, který prokáže, že reflexe skutečně něco změnila
288
+
289
+ Facilitátorův tah:
290
+ - věty vybízejte k tomu, aby byly konkrétní (ne „budu lépe pracovat s agenty“, ale „do AGENTS.md svého hlavního repa napíšu 4 elementy: goal, context, constraints, done when“)
291
+ - když někdo napíše něco velmi obecného, zeptejte se: „Jaký je první konkrétní tah, který to spustí?"
292
+ - commitmenty nepublikujte jmenovitě mimo room; artefakt patří týmu, ne marketingu
@@ -2,30 +2,30 @@
2
2
 
3
3
  ## Problém
4
4
 
5
- Code review bývá nevyrovnané. Některé změny projdou s dobrým checklistem a jasným popisem rizik, jiné bez společného rámce. Reviewer pak improvizuje, autor neví, co má ověřit předem, a tým ztrácí konzistenci právě tam, kde by měl být nejpřesnější.
5
+ Code review bývá nevyrovnané. Některé změny projdou s dobrým checklistem a jasným popisem rizik, jiné bez společného rámce. Reviewer pak improvizuje, autor neví, co má ověřit předem, a tým ztrácí konzistenci právě tam, kde by měl být nejpřesnější.
6
6
 
7
- Vaším úkolem je navrhnout nástroj, který z diffu nebo změny vytvoří použitelný review checklist a zároveň jasně oddělí jistotu, heuristiku a místa, kde je pořád potřeba lidský úsudek.
7
+ Vaším úkolem je navrhnout nástroj, který z diffu nebo změny vytvoří použitelný review checklist a zároveň jasně oddělí jistotu, heuristiku a místa, kde je pořád potřeba lidský úsudek.
8
8
 
9
9
  ## User stories
10
10
 
11
- - Jako reviewer chci z diffu rychle získat checklist změněných hranic, rizik, otázek a míst, na která se zaměřit.
11
+ - Jako reviewer chci z diffu rychle získat checklist změněných hranic, rizik, otázek a míst, na která se zaměřit.
12
12
  - Jako autor změny chci vědět, co mám ověřit ještě před samotným review.
13
13
  - Jako tým po rotaci chci navázat na heuristiky, které původní tým objevil, místo abych je znovu vymýšlel.
14
14
 
15
15
  ## Architektonické poznámky
16
16
 
17
- - Může jít o CLI, web nebo jednoduchý skript. Důležitý je jasný tok `diff → rubric → checklist`.
18
- - Musí být zřejmé, jaké vstupy nástroj očekává, co umí označit jistě a co naopak zůstává heuristické.
19
- - Přidejte seed diff nebo `examples/`, aby šlo workflow lokálně ověřit a další tým rychle přidal nové pravidlo.
17
+ - Může jít o CLI, web nebo jednoduchý skript. Důležitý je jasný tok `diff → rubric → checklist`.
18
+ - Musí být zřejmé, jaké vstupy nástroj očekává, co umí označit jistě a co naopak zůstává heuristické.
19
+ - Přidejte seed diff nebo `examples/`, aby šlo workflow lokálně ověřit a další tým rychle přidal nové pravidlo.
20
20
  - Nástroj má pomáhat reviewerovi, ne předstírat neomylnost.
21
21
 
22
22
  ## Hotovo když
23
23
 
24
24
  - Nástroj vytvoří review checklist ze seed diffu.
25
- - Výstup odlišuje jistá zjištění od doporučení, hypotéz a bodů pro lidský úsudek.
25
+ - Výstup odlišuje jistá zjištění od doporučení, hypotéz a bodů pro lidský úsudek.
26
26
  - Je jasné, jak přidat nové pravidlo nebo heuristiku bez dlouhého onboardingu.
27
- - Další tým může během několika minut pokračovat v rozvoji bez chaosu.
27
+ - Další tým může během několika minut pokračovat v rozvoji bez chaosu.
28
28
 
29
29
  ## První krok pro agenta
30
30
 
31
- Nezačínej kódem. Nejdřív napiš review rubric, tok vstupů a definici toho, co znamená dobrý checklist. Ukaž, kde je jistota, kde heuristika a co musí posoudit člověk. Teprve potom navrhni první implementační slice.
31
+ Nezačínej kódem. Nejdřív napiš review rubric, tok vstupů a definici toho, co znamená dobrý checklist. Ukaž, kde je jistota, kde heuristika a co musí posoudit člověk. Teprve potom navrhni první implementační slice.