@exaudeus/workrail 3.9.1 → 3.9.2
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.
- package/README.md +1 -1
- package/dist/application/services/compiler/feature-registry.js +18 -0
- package/dist/manifest.json +2 -2
- package/package.json +1 -1
- package/spec/workflow.schema.json +7 -7
- package/workflows/wr.discovery.json +915 -0
- package/workflows/design-thinking-workflow-autonomous.agentic.json +0 -215
- package/workflows/design-thinking-workflow.json +0 -198
- package/workflows/exploration-workflow.json +0 -170
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "design-thinking-workflow-autonomous-agentic",
|
|
3
|
-
"name": "Design Thinking Workflow (Autonomous, Tiered Agent Cascade)",
|
|
4
|
-
"description": "Autonomous design thinking: minimal human input; doc-first execution; supports Agent Cascade Protocol tiers (Solo/Proxy/Delegation) with explicit fallbacks.",
|
|
5
|
-
"version": "0.1.0",
|
|
6
|
-
"preconditions": [
|
|
7
|
-
"User can provide a short problem/opportunity statement and constraints",
|
|
8
|
-
"Agent can create and update a single canonical design doc file for resumption"
|
|
9
|
-
],
|
|
10
|
-
"clarificationPrompts": [
|
|
11
|
-
"What problem/opportunity are we addressing (1–3 paragraphs)?",
|
|
12
|
-
"What constraints matter (hard vs soft)?",
|
|
13
|
-
"What are the non-negotiable principles and anti-goals?",
|
|
14
|
-
"What is the intended deliverable (proposal, spec, roadmap, prototype API, etc.)?"
|
|
15
|
-
],
|
|
16
|
-
"metaGuidance": [
|
|
17
|
-
"AUTONOMOUS: Minimize human input. If information is missing, create explicit assumptions and a validation plan; do not invent facts silently.",
|
|
18
|
-
"DOC-FIRST: `designDocPath` is the canonical source of truth. Keep chat output short; write the real work into the doc.",
|
|
19
|
-
"AGENT CASCADE PROTOCOL: Use the highest tier available and fall back explicitly:",
|
|
20
|
-
"- Tier 3 (Delegation / Gold): Subagents can call WorkRail MCP tools → delegate full routines/work packages.",
|
|
21
|
-
"- Tier 2 (Proxy / Silver): Subagents exist but cannot call WorkRail tools → delegate the work via natural language; you (main agent) write/synthesize.",
|
|
22
|
-
"- Tier 1 (Solo / Bronze): No subagents → you simulate specialization via persona instructions.",
|
|
23
|
-
"VERIFY THEN DELEGATE: Never assume subagent/tool availability. If uncertain, default to Tier 1.",
|
|
24
|
-
"SUBAGENT PRINCIPLES: Subagents are stateless cognitive specialists. Provide a complete work package. Prefer auditor model when possible.",
|
|
25
|
-
"PARALLELISM: Only run subagents in parallel when their work is independent (e.g., persona interviews, ideation perspectives, audits).",
|
|
26
|
-
"QUALITY GATES: If a deliverable is weak, record gaps in the doc and iterate. Do not pretend it is complete.",
|
|
27
|
-
"DT IDs: Maintain an append-only Idea Backlog with DT-### IDs tracked in the design doc Counters section."
|
|
28
|
-
],
|
|
29
|
-
"functionDefinitions": [
|
|
30
|
-
{
|
|
31
|
-
"name": "ideaEntryTemplate",
|
|
32
|
-
"definition": "Use this template for each idea entry:\n- Idea ID: DT-###\n- Title: …\n- One-liner: …\n- Category: protocol | UX | authoring | observability | reliability | tooling | packaging | policy | other\n- Addresses: (pain/insight/constraint this targets)\n- Inspiration: (what prompted it)\n- Why it might work: …\n- Key risks: …\n- Notes: …\n\nID rule: Allocate the next DT-### from the design doc section `## Counters` (e.g., `Next DT ID: DT-001`) and increment it after each new idea."
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"name": "clusterTemplate",
|
|
36
|
-
"definition": "Use this template for each cluster/theme:\n- Theme name: …\n- Why these ideas belong together (1 line): …\n- Member idea IDs: DT-…\n- What it enables: …\n- Biggest risk/unknown: …"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"name": "prototypeSpecTemplate",
|
|
40
|
-
"definition": "Use this template for a minimal prototype spec:\n## Goal\n## Non-goals\n## Prototype learning question\n## Prototype artifact (what you built)\n## Proposed API / Interface (if applicable)\n- Inputs\n- Outputs\n- Invariants\n- Error cases (as data)\n## Migration strategy\n## Pre-mortem (how this fails)\n## Falsification criteria\n## Test plan\n"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"name": "testPlanTemplate",
|
|
44
|
-
"definition": "Use this template for the test/dogfood plan:\n## Scenarios to run\n## Agents/models/IDEs to test\n## Pass/fail metrics\n## Instrumentation needed\n## Rollback/contingency\n"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"name": "personaInterviewTemplate",
|
|
48
|
-
"definition": "Use this template for each persona interview (real or simulated):\n## Persona\n- Name: …\n- Context: …\n- Goals: …\n- Pains: …\n- Constraints: …\n\n## Interview (Q → A)\n- Q: What does success look like?\n A: …\n- Q: What would make you reject this direction?\n A: …\n- Q: What is your biggest fear/risk?\n A: …\n- Q: What tradeoff do you care about most?\n A: …\n- Q: What would delight you?\n A: …\n\n## Notes\n- …\n\nLabel: If simulated, state clearly: `Evidence Type: Simulated`."
|
|
49
|
-
}
|
|
50
|
-
],
|
|
51
|
-
"steps": [
|
|
52
|
-
{
|
|
53
|
-
"id": "phase-0-triage",
|
|
54
|
-
"title": "Phase 0: Minimal Intake (Autonomous)",
|
|
55
|
-
"prompt": "Capture the minimal human input needed to run autonomously.\n\nDeliverable (bullets under headings):\n## Problem / Opportunity\n- …\n## Constraints\n- Hard: …\n- Soft: …\n## Non-negotiable principles\n- …\n## Anti-goals / out-of-scope\n- …\n## Intended deliverable\n- …\n\nAutonomy rule: If something is missing, write it as an explicit assumption with a validation plan (do not invent).\n\nEnd with 'Next Input' checklist (only items truly required to proceed).",
|
|
56
|
-
"agentRole": "You are a product/engineering facilitator. Keep intake minimal and make assumptions explicit.",
|
|
57
|
-
"requireConfirmation": true
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"id": "phase-0a-init-design-doc",
|
|
61
|
-
"title": "Phase 0A: Initialize Canonical Design Doc (Resumption Anchor)",
|
|
62
|
-
"prompt": "Create a single canonical design doc that will be the source of truth for the rest of this workflow.\n\nDeliverable:\n1) Choose and confirm a file path: `designDocPath`\n - Default suggestion: `ideas/<short-slug>-design-thinking.md`\n2) Create the file (if missing) and write the initial skeleton sections:\n - Context / Problem\n - Constraints / Principles / Anti-goals\n - Execution Tier\n - Assumption Register\n - Persona Bank\n - Empathy Findings (Observations / Insights)\n - POV + HMW\n - Success Criteria\n - Idea Backlog (append-only)\n - Clusters + Scoring\n - Decision Log\n - Pre-mortem + Falsification\n - Prototype Spec\n - Test Plan\n - Iteration Notes\n - Counters (DT IDs)\n3) Persist Phase 0 outputs into the doc under the appropriate sections.\n\nIn `Counters`, initialize:\n- Next DT ID: DT-001\n\nState (must be explicit):\n- Set `designDocPath` to the chosen path.\n\nChat output: only confirm `designDocPath` and list any missing inputs before proceeding.",
|
|
63
|
-
"agentRole": "You create a resumption-proof anchor artifact and ensure all future work is doc-first.",
|
|
64
|
-
"requireConfirmation": true
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"id": "phase-0b-environment-handshake",
|
|
68
|
-
"title": "Phase 0B: Agent Cascade Boot Check (Tier 1/2/3)",
|
|
69
|
-
"prompt": "Determine which execution tier you can use (Agent Cascade Protocol).\n\nDoc-first: In `designDocPath`, fill `## Execution Tier` with:\n- Tier chosen: 1 (Solo) | 2 (Proxy) | 3 (Delegation)\n- Evidence: what you observed\n- Constraints: what you cannot do\n\nBoot check procedure:\n1) Check if subagents exist in your environment.\n - If none: Tier 1.\n2) If subagents exist, ask one subagent to call `workflow_list`.\n - If they can call WorkRail MCP tools: Tier 3.\n - If they cannot: Tier 2.\n\nRule: If anything is uncertain, default to Tier 1.\n\nChat: one line stating Tier chosen.",
|
|
70
|
-
"agentRole": "You are verifying capabilities before using them. Prevent hallucinated delegation.",
|
|
71
|
-
"requireConfirmation": false
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"id": "phase-1a-plan-personas",
|
|
75
|
-
"title": "Phase 1A: Plan Empathy via Persona Simulation",
|
|
76
|
-
"prompt": "Plan how you will gather empathy signals with minimal human input.\n\nDoc-first: In `designDocPath`, update `## Persona Bank` with 3–5 personas you will interview (real or simulated).\nFor each persona: name, why it matters, what it can falsify.\n\nRequired personas (minimum):\n- Primary User\n- Power User\n- Skeptic (Stakeholder / Risk owner)\n- Operator (maintenance/support)\n\nEnd with a short plan: which 3 questions matter most for this problem.",
|
|
77
|
-
"agentRole": "You plan a structured empathy strategy. No ideation yet.",
|
|
78
|
-
"requireConfirmation": false
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
"id": "phase-1b-persona-interviews",
|
|
82
|
-
"title": "Phase 1B: Conduct Persona Interviews (Tiered)",
|
|
83
|
-
"prompt": "Conduct persona interviews and capture results. Label simulated evidence clearly.\n\nTiered execution:\n\nIF Tier 3 (Delegation):\n- Spawn 4 persona interviewers SIMULTANEOUSLY (Primary User, Power User, Skeptic, Operator).\n- Provide each a complete work package including: problem, constraints, intended deliverable, and the personaInterviewTemplate.\n- Each must return a structured deliverable with the template and `Evidence Type: Simulated` unless you have real quotes.\n\nIF Tier 2 (Proxy):\n- Ask subagents to roleplay each persona via natural language.\n- You (main agent) transcribe results into the doc using personaInterviewTemplate and label as simulated.\n\nIF Tier 1 (Solo):\n- ACT AS each persona sequentially. Use personaInterviewTemplate. Label as simulated.\n\nDoc-first: Append interviews under `## Persona Bank` (or a `## Persona Interviews` section).\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.",
|
|
84
|
-
"agentRole": "You are gathering empathy signals via structured interviews. Be explicit about what is simulated.",
|
|
85
|
-
"requireConfirmation": false,
|
|
86
|
-
"functionReferences": ["personaInterviewTemplate()"]
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
"id": "phase-1c-synthesize-empathy",
|
|
90
|
-
"title": "Phase 1C: Synthesize Empathy (Observations → Insights)",
|
|
91
|
-
"prompt": "Synthesize persona interviews into grounded observations and insights.\n\nDoc-first: Update `## Empathy Findings` with:\n- Observations (5–10)\n- Insights (5–10), each tied to at least one observation\n- Unknowns\n- Assumption Register updates (explicit)\n\nAdversarial/self-reflection (required):\n- What might we be misreading?\n- What evidence would contradict the top insight?\n- What could be \"working as designed\" (not actually a problem)?\n\nOptional Tier 3 audit (recommended for important decisions):\n- Spawn 2 auditors simultaneously (Completeness focus, Depth focus) to audit your empathy synthesis and call out gaps/assumptions.\n- If Tier 2/1: self-audit with the same questions.\n\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.",
|
|
92
|
-
"agentRole": "You converge empathy into actionable insights and explicit assumptions.",
|
|
93
|
-
"requireConfirmation": false
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
"id": "phase-2-define",
|
|
97
|
-
"title": "Phase 2: Define (POV + HMW + Success Criteria)",
|
|
98
|
-
"prompt": "Turn empathy into a precise definition.\n\nDoc-first: Update `## POV + HMW` and `## Success Criteria` with:\n## POV\n- [Persona] needs [need] because [insight].\n\n## Problem statement (2–4 lines)\n- …\n\n## Alternative framings (2)\n- If we are wrong about the core problem, what else could it be?\n- What would be a radically simpler interpretation?\n\nAnchoring check: If you cannot produce two plausible alternative framings, say so explicitly and go back to Empathy Findings to improve them.\n\n## How might we… (3–7)\n- …\n\n## Success criteria\n- …\n\n## Key tensions / tradeoffs\n- …\n\n## Riskiest assumption\n- …\n\n## What would change our mind?\n- …\n\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.",
|
|
99
|
-
"agentRole": "You create a crisp, testable framing and protect against anchoring.",
|
|
100
|
-
"requireConfirmation": false
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"id": "phase-2b-challenge-framing",
|
|
104
|
-
"title": "Phase 2B: Adversarial Challenge the Framing (Tiered)",
|
|
105
|
-
"prompt": "Challenge your own framing before ideation.\n\nIF Tier 3 (Delegation):\n- Delegate to the **WorkRail Executor** to run `routine-hypothesis-challenge` at rigor=3.\n- Mission: Attack POV, HMW, riskiest assumption, and success criteria.\n- Provide complete context: paste the relevant doc sections.\n- Incorporate valid critique into the doc.\n\nIF Tier 2 (Proxy):\n- Ask a subagent to act as an adversarial critic (no WorkRail tools).\n- You synthesize their critique and update the doc.\n\nIF Tier 1 (Solo):\n- ACT AS a skeptical reviewer. Try to prove the framing is wrong.\n\nDoc-first: append a short `## Framing Challenge` section with findings and changes made.",
|
|
106
|
-
"agentRole": "You are preventing premature convergence by adversarially testing the framing.",
|
|
107
|
-
"requireConfirmation": false
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"id": "phase-3-ideation-loop",
|
|
111
|
-
"type": "loop",
|
|
112
|
-
"title": "Phase 3: Ideation (4 Rounds)",
|
|
113
|
-
"loop": { "type": "for", "count": 4, "maxIterations": 5, "iterationVar": "ideationRound" },
|
|
114
|
-
"body": [
|
|
115
|
-
{
|
|
116
|
-
"id": "ideation-round-1",
|
|
117
|
-
"title": "Ideation Round 1: General Divergence",
|
|
118
|
-
"runCondition": { "var": "ideationRound", "equals": 1 },
|
|
119
|
-
"prompt": "Generate a broad set of ideas directly relevant to the defined problem.\n\nDoc-first: Append ideas to Idea Backlog in `designDocPath` using ideaEntryTemplate.\nDT IDs: allocate next DT-### from `## Counters`.\n\nTiered execution:\n- Tier 3: Spawn 2–3 ideators SIMULTANEOUSLY with different perspectives (Simplicity, Maintainability, Pragmatic). Synthesize into one backlog.\n- Tier 2: Ask subagents to brainstorm per perspective; you curate into the backlog.\n- Tier 1: ACT AS each perspective sequentially; then curate.\n\nReflection (brief, required):\n- Which category is underrepresented?\n- What is the simplest idea we are dismissing too quickly?\n- What assumption seems to be driving most ideas?",
|
|
120
|
-
"agentRole": "Divergent ideation with explicit perspective diversity.",
|
|
121
|
-
"functionReferences": ["ideaEntryTemplate()"]
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"id": "ideation-round-2",
|
|
125
|
-
"title": "Ideation Round 2: Orthogonal / Unrelated Inspiration",
|
|
126
|
-
"runCondition": { "var": "ideationRound", "equals": 2 },
|
|
127
|
-
"prompt": "Generate ideas that are intentionally NOT obvious extensions of Round 1.\n\nDoc-first: Append ideas with DT IDs.\nTechniques: analogies, inversions, constraint creativity.\n\nConstraint inversion (required): add 5 ideas that assume a hard constraint and explain why it changes the solution.\n\nTiered execution:\n- Tier 3: Spawn 2 ideators SIMULTANEOUSLY (Contrarian, Analogist). Synthesize.\n- Tier 2: Proxy brainstorm via subagents; you curate.\n- Tier 1: Do it yourself, explicitly switching personas.\n\nReflection (brief, required):\n- Which analogy created the most leverage?\n- What is the simplest idea we are dismissing too quickly?\n- What assumption seems to be driving most ideas?",
|
|
128
|
-
"agentRole": "Break local maxima with orthogonal ideation.",
|
|
129
|
-
"functionReferences": ["ideaEntryTemplate()"]
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
"id": "ideation-round-3",
|
|
133
|
-
"title": "Ideation Round 3: Combine / Mutate / Package",
|
|
134
|
-
"runCondition": { "var": "ideationRound", "equals": 3 },
|
|
135
|
-
"prompt": "Generate ideas that combine and strengthen the existing backlog.\n\nDoc-first: Append derived ideas with DT IDs.\nAlso produce 5 concept packages referencing member DT-IDs.\n\nTiered execution:\n- Tier 3: Spawn 2 ideators SIMULTANEOUSLY (Systems, Pragmatic). Synthesize.\n- Tier 2: Proxy brainstorm; you curate.\n- Tier 1: Do it yourself.\n\nReflection (brief, required):\n- What critical primitive is missing?\n- What is the simplest idea we are dismissing too quickly?\n- What assumption seems to be driving most ideas?",
|
|
136
|
-
"agentRole": "Converge divergent ideas into packages without prematurely selecting.",
|
|
137
|
-
"functionReferences": ["ideaEntryTemplate()"]
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"id": "ideation-round-4",
|
|
141
|
-
"title": "Ideation Round 4: Coverage Sweep & Blind Spots",
|
|
142
|
-
"runCondition": { "var": "ideationRound", "equals": 4 },
|
|
143
|
-
"prompt": "Audit the idea space for blind spots and fill gaps.\n\nChecklist: protocol, resumption, authoring UX, validation, dashboard/observability, model variability, external workflow packaging, loops correctness, capability negotiation.\n\nDoc-first: Add 10–15 missing ideas with DT IDs.\nAdd Coverage Map: Dimension | coverage (low/med/high) | top DT-IDs.\n\nTiered execution:\n- Tier 3: Optional parallel audit: one ideator does blind spots; another acts as skeptic.\n- Tier 2: Proxy.\n- Tier 1: Solo.\n\nReflection (brief, required):\n- Where would we regret not exploring further?\n- What category did we avoid because it felt uncomfortable or \"too big\"?\n- What assumption seems to be driving most ideas?",
|
|
144
|
-
"agentRole": "Ensure coverage and surface blind spots.",
|
|
145
|
-
"functionReferences": ["ideaEntryTemplate()"]
|
|
146
|
-
}
|
|
147
|
-
]
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
"id": "phase-4-synthesize",
|
|
151
|
-
"title": "Phase 4: Synthesize (Cluster + Prioritize)",
|
|
152
|
-
"prompt": "Synthesize the backlog into themes and a shortlist.\n\nDoc-first: Update `## Clusters + Scoring` with:\n- 5–10 clusters (use clusterTemplate)\n- Candidate directions (top 3–7) with North Star + scoring (Impact/Confidence/Migration/Model-robustness/Time-to-value)\n- Shortlist (2–3)\n\nAdversarial challenge (brief):\n- Argue the top direction is wrong. What would a skeptic say?\n- What is the strongest alternative and why might it win?\n\nTiered optional validation:\n- Tier 3: Spawn **two WorkRail Executor delegations** in parallel:\n - WorkRail Executor #1: run `routine-plan-analysis` to audit shortlist completeness, scoring, and migration risk.\n - WorkRail Executor #2: run `routine-hypothesis-challenge` at rigor=3 to adversarially challenge the top direction.\n- Tier 2/1: self-audit using the same prompts.\n\nEnd with a short Decision Log entry: what you chose and why.",
|
|
153
|
-
"agentRole": "You converge and make tradeoffs explicit.",
|
|
154
|
-
"requireConfirmation": false,
|
|
155
|
-
"functionReferences": ["clusterTemplate()"]
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
"id": "phase-4a-quality-gate",
|
|
159
|
-
"title": "Phase 4A: Synthesis Quality Gate",
|
|
160
|
-
"prompt": "Verify readiness to prototype.\n\nDoc-first: Add `## Synthesis Quality Gate` checklist with ✅/❌:\n- POV exists\n- 3–7 HMW exist\n- Success criteria exist\n- Key tensions exist\n- Idea Backlog has breadth\n- Shortlist (2–3) exists\n- Top direction has at least one falsifiable learning question\n\nIf FAIL: list what is missing and fix it before proceeding.",
|
|
161
|
-
"agentRole": "You enforce blueprint quality.",
|
|
162
|
-
"requireConfirmation": false
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
"id": "phase-4b-premortem-falsification",
|
|
166
|
-
"title": "Phase 4B: Pre-mortem & Falsification",
|
|
167
|
-
"prompt": "Before prototyping, add a pre-mortem and explicit falsification criteria for the top direction. Treat directions as hypotheses; tests exist to falsify.\n\nDoc-first: Update `## Pre-mortem + Falsification` with:\n- Pre-mortem (top 5): failure mode | why | mitigation\n- Falsification criteria (1–3): if X happens, we pivot/stop because…\n\nReflection (brief):\n- What second-order effect is most dangerous?\n- What would we regret not testing?",
|
|
168
|
-
"agentRole": "You pressure-test before investing in a prototype.",
|
|
169
|
-
"requireConfirmation": false
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
"id": "phase-5-prototype",
|
|
173
|
-
"title": "Phase 5: Prototype (Learning Artifact)",
|
|
174
|
-
"prompt": "Build a low-fidelity prototype intended to answer one learning question.\n\nChoose ONE prototype artifact:\n- Storyboard (6 panels)\n- Concierge script (manual end-to-end flow)\n- API sketch (request/response examples + mocked outputs)\n- Wireframe (markdown screens + interactions)\n\nDoc-first: Write the full prototype spec and artifact into `designDocPath` using prototypeSpecTemplate.\nInclude falsification criteria (copy verbatim, then refine).\n\nReflection (brief):\n- What is the smallest slice that still proves/disproves the concept?\n- If falsified, what is the next-best direction from the shortlist?",
|
|
175
|
-
"agentRole": "You create a falsifiable learning prototype.",
|
|
176
|
-
"requireConfirmation": false,
|
|
177
|
-
"functionReferences": ["prototypeSpecTemplate()"]
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
"id": "phase-6-test-plan",
|
|
181
|
-
"title": "Phase 6: Test Plan (Dogfood + Validation)",
|
|
182
|
-
"prompt": "Define how to test the prototype with real usage constraints.\n\nDoc-first: Write the test plan into `designDocPath` using testPlanTemplate.\nMust include: Claude + one weaker model (GPT/Grok/Gemini) in the model/IDE matrix.\n\nReflection (brief):\n- If the test fails, what do we do next (iterate, pivot, stop)?",
|
|
183
|
-
"agentRole": "You design an evidence-producing test plan.",
|
|
184
|
-
"requireConfirmation": false,
|
|
185
|
-
"functionReferences": ["testPlanTemplate()"]
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
"id": "phase-7-iterate-loop",
|
|
189
|
-
"type": "loop",
|
|
190
|
-
"title": "Phase 7: Iterate (Test → Learn → Refine)",
|
|
191
|
-
"loop": { "type": "for", "count": 2, "maxIterations": 2, "iterationVar": "iteration" },
|
|
192
|
-
"body": [
|
|
193
|
-
{
|
|
194
|
-
"id": "iteration-test",
|
|
195
|
-
"title": "Iteration {{iteration}}: Dogfood Test & Capture Feedback",
|
|
196
|
-
"prompt": "Run a lightweight dogfood test of the prototype (thought experiment, adversarial critique, stakeholder Q&A simulation).\n\nDoc-first: Append to `## Iteration Notes`:\n- What we tried\n- What worked\n- What failed\n- Confusions/friction\n- New insights\n\nRecap (output.notesMarkdown): Summarize what you tried, what worked, what failed, and key insights. Be specific.",
|
|
197
|
-
"agentRole": "You generate learning signals cheaply."
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
"id": "iteration-learn-update",
|
|
201
|
-
"title": "Iteration {{iteration}}: Learn & Update Artifacts",
|
|
202
|
-
"prompt": "Based on feedback, update the key artifacts in `designDocPath` and add `## Iteration {{iteration}}: Updates`.\n\nDeliverable:\n- Changes made (POV/HMW/shortlist/prototype/test plan)\n- Rationale\n\nReflection (brief):\n- What surprised us?\n- What did we previously believe that is now false?",
|
|
203
|
-
"agentRole": "You update artifacts based on learning."
|
|
204
|
-
}
|
|
205
|
-
]
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
"id": "phase-8-handoff",
|
|
209
|
-
"title": "Phase 8: Final Summary & Handoff",
|
|
210
|
-
"prompt": "Finalize the design doc and produce a crisp handoff.\n\nDoc-first: Add `## Final Summary` with:\n- Problem statement\n- POV/HMW\n- Chosen direction + why\n- Falsification criteria\n- Prototype artifact summary\n- Test plan summary\n- What we learned across iterations\n- Next actions\n\nChat: one-paragraph summary + path to `designDocPath`.",
|
|
211
|
-
"agentRole": "You conclude the autonomous design thinking cycle with a handoff.",
|
|
212
|
-
"requireConfirmation": false
|
|
213
|
-
}
|
|
214
|
-
]
|
|
215
|
-
}
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "design-thinking-workflow",
|
|
3
|
-
"name": "Design Thinking Workflow",
|
|
4
|
-
"description": "A structured-reflective design thinking process: Empathize → Define → multi-round Ideate → Synthesize → Prototype (learning artifact) → Test plan → Iterate (test/learn/refine).",
|
|
5
|
-
"version": "0.0.1",
|
|
6
|
-
"preconditions": [
|
|
7
|
-
"User can describe the problem/opportunity and constraints",
|
|
8
|
-
"Agent can create and update a single canonical design doc file for resumption"
|
|
9
|
-
],
|
|
10
|
-
"clarificationPrompts": [
|
|
11
|
-
"What problem/opportunity are we trying to address?",
|
|
12
|
-
"Who are the users/personas and what is the primary job-to-be-done?",
|
|
13
|
-
"What constraints matter? (time, tooling, policy, platform, scope)",
|
|
14
|
-
"What would success look like? What metrics would tell us this worked?",
|
|
15
|
-
"Are there any non-negotiable principles or anti-goals?",
|
|
16
|
-
"What is the intended deliverable? (proposal, spec, roadmap, prototype API, etc.)"
|
|
17
|
-
],
|
|
18
|
-
"metaGuidance": [
|
|
19
|
-
"Design thinking is for learning: reduce risk by validating assumptions early with cheap prototypes + feedback.",
|
|
20
|
-
"Non-linear loop: Empathize ↔ Define ↔ Ideate ↔ Prototype ↔ Test ↔ Iterate; jump backwards when learning contradicts framing.",
|
|
21
|
-
"Human-centered: anchor decisions in persona needs + context; avoid designing for yourself.",
|
|
22
|
-
"Separate divergent vs convergent: ideate without judging; evaluate only during synthesis.",
|
|
23
|
-
"Prototype to learn, not to ship: build the smallest artifact that answers one learning question.",
|
|
24
|
-
"Test to falsify: seek disconfirming evidence; update POV/HMW when assumptions break.",
|
|
25
|
-
"Bias toward action: prefer tangible artifacts over analysis; show, don’t tell.",
|
|
26
|
-
"Artifact standard (Empathize): persona + journey map + 5 observations + 5 insights.",
|
|
27
|
-
"Artifact standard (Define): POV statement + HMW questions + success metrics + key tensions.",
|
|
28
|
-
"Artifact standard (Prototype): learning question + artifact + what would falsify it.",
|
|
29
|
-
"Artifact standard (Test): what worked/failed + confusions + updated assumptions + candidate changes.",
|
|
30
|
-
"Maintain an append-only Idea Backlog with DT-### IDs tracked in the design doc; keep Unknowns and Assumptions explicit.",
|
|
31
|
-
"Style: short bullets and structured headings; end each step with a 'Next Input' checklist.",
|
|
32
|
-
"Doc-first execution: after Phase 0A, the designDocPath is the canonical source of truth. Keep chat outputs short.",
|
|
33
|
-
"Loop semantics: loop body steps may repeat across iterations; runConditions are evaluated per-iteration; do not rely on chat memory across iterations.",
|
|
34
|
-
"If blocked, state what is missing and stop (do not invent).",
|
|
35
|
-
"Workflow manifest: structured-reflective; requires file write/read; resumption via designDocPath; outputs: short chat + doc updates."
|
|
36
|
-
],
|
|
37
|
-
"functionDefinitions": [
|
|
38
|
-
{
|
|
39
|
-
"name": "ideaEntryTemplate",
|
|
40
|
-
"definition": "Use this template for each idea entry:\n- Idea ID: DT-###\n- Title: …\n- One-liner: …\n- Category: protocol | UX | authoring | observability | reliability | tooling | packaging | policy | other\n- Addresses: (pain/insight/constraint this targets)\n- Inspiration: (what prompted it)\n- Why it might work: …\n- Key risks: …\n- Notes: …\n\nID rule: Allocate the next DT-### from the design doc section `## Counters` (e.g., `Next DT ID: DT-001`) and increment it after each new idea."
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"name": "clusterTemplate",
|
|
44
|
-
"definition": "Use this template for each cluster/theme:\n- Theme name: …\n- Why these ideas belong together (1 line): …\n- Member idea IDs: DT-…\n- What it enables: …\n- Biggest risk/unknown: …"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"name": "prototypeSpecTemplate",
|
|
48
|
-
"definition": "Use this template for a minimal prototype spec:\n## Goal\n## Non-goals\n## Prototype learning question\n## Prototype artifact (what you built)\n## Proposed API / Interface (if applicable)\n- Inputs\n- Outputs\n- Invariants\n- Error cases (as data)\n## Migration strategy\n## Pre-mortem (how this fails)\n## Test plan\n"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"name": "testPlanTemplate",
|
|
52
|
-
"definition": "Use this template for the test/dogfood plan:\n## Scenarios to run\n## Agents/models/IDEs to test\n## Pass/fail metrics\n## Instrumentation needed\n## Rollback/contingency\n"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"name": "feedbackCaptureTemplate",
|
|
56
|
-
"definition": "Use this template to capture test feedback:\n## What we tried\n## What worked\n## What failed\n## Confusions / friction\n## New insights\n## Updated assumptions (confirmed/invalidated)\n## Candidate changes\n"
|
|
57
|
-
}
|
|
58
|
-
],
|
|
59
|
-
"steps": [
|
|
60
|
-
{
|
|
61
|
-
"id": "phase-0-triage",
|
|
62
|
-
"title": "Phase 0: Triage the Problem & Scope",
|
|
63
|
-
"prompt": "Capture the initial problem framing (structured, but reflective).\n\nNOTE: In Phase 0A you will create a canonical design doc and persist these outputs. For this step, prioritize clarity and completeness.\n\nDeliverable (bullets under headings):\n## Problem / Opportunity\n- …\n## Primary user / persona + job-to-be-done\n- …\n## Constraints\n- Hard: …\n- Soft: …\n## Non-negotiable principles\n- …\n## Anti-goals / out-of-scope\n- …\n## Intended deliverable\n- …\n\nReflection prompts (answer briefly):\n- What are we implicitly assuming?\n- What is most ambiguous right now?\n\nEnd with 'Next Input' checklist: what you still need from the user before proceeding.",
|
|
64
|
-
"agentRole": "You are a product/engineering facilitator. Make the problem concrete, bounded, and testable without prematurely solving it.",
|
|
65
|
-
"requireConfirmation": true
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"id": "phase-0a-init-design-doc",
|
|
69
|
-
"title": "Phase 0A: Initialize Canonical Design Doc (Resumption Anchor)",
|
|
70
|
-
"prompt": "Create a single canonical design doc that will be the source of truth for the rest of this workflow.\n\nDeliverable:\n1) Choose and confirm a file path: `designDocPath`\n - Default suggestion: `ideas/<short-slug>-design-thinking.md`\n2) Create the file (if missing) and write the initial skeleton sections:\n - Context / Problem\n - Persona\n - POV + HMW\n - Success criteria\n - Idea Backlog (append-only)\n - Clusters\n - Decision Log (append-only)\n - Prototype Spec\n - Test Plan\n - Iteration Notes\n - Counters (DT IDs)\n3) Persist Phase 0 outputs into the doc under the appropriate sections.\n\nIn `Counters`, initialize:\n- Next DT ID: DT-001\n\nState (must be explicit):\n- Set `designDocPath` to the chosen path.\nChat output: only confirm `designDocPath` and list any missing inputs before proceeding.",
|
|
71
|
-
"agentRole": "You create a resumption-proof anchor artifact and ensure all future work is doc-first.",
|
|
72
|
-
"requireConfirmation": true
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"id": "phase-1-empathize",
|
|
76
|
-
"title": "Phase 1: Empathize (Constraints, Reality, and Pain)",
|
|
77
|
-
"prompt": "Empathize using whatever evidence exists (user experience, known failures, technical constraints).\n\nDoc-first: Update `designDocPath` with the deliverable below.\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.\n\nDeliverable (bullets under headings):\n## Persona card (primary)\n- Name: …\n- Context: …\n- Goals: …\n- Pains: …\n- Constraints: …\n- Quotes/observations (from evidence you have): …\n\n## Journey map (lightweight)\n- Step | Pain | Opportunity\n- …\n\n## Observations (5)\n- …\n## Insights (5)\n- …\n\nEvidence discipline (required):\n- Each Insight must reference at least one Observation or Quote/observation above.\n- If you can’t tie it back to evidence, label it explicitly as an Assumption (do not present it as fact).\n\n## Evidence\n- Facts we have: …\n- Evidence gaps: …\n\n## Constraints (environment/tooling/model)\n- …\n\n## Observed pain themes (5–10)\n- …\n\n## Unknowns (explicit list)\n- …\n\n## Interpretation risks (3)\n- What might we be misreading or over-generalizing?\n- What evidence would contradict our top 1–2 insights?\n- What could be \"working as designed\" (not actually a problem)?\n\nReflection prompts (answer briefly):\n- Which pain themes are likely symptoms vs root causes?\n- What would we need to observe to disprove our top 1–2 interpretations?\n\nEnd with 'Next Input' checklist.",
|
|
78
|
-
"agentRole": "You synthesize user needs and reality constraints. No solution ideation yet; only clarify the landscape.",
|
|
79
|
-
"requireConfirmation": false
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"id": "phase-2-define",
|
|
83
|
-
"title": "Phase 2: Define (POV + HMW + Success Criteria)",
|
|
84
|
-
"prompt": "Turn empathy into a precise definition (structured, but reflective).\n\nDoc-first: Update `designDocPath` with the deliverable below.\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.\n\nDeliverable (bullets under headings):\n## POV (Point of View)\nUse this format:\n- [Persona] needs [need] because [insight].\n\n## Problem statement (2–4 lines)\n- …\n\n## Alternative framings (2)\n- If we are wrong about the core problem, what else could it be?\n- What would be a radically simpler interpretation?\n\nAnchoring check (required): If you cannot produce two plausible alternative framings, say so explicitly and recommend going back to Empathize before proceeding.\n\n## How might we… (3–7)\n- …\n\n## Success criteria (measurable where possible)\n- …\n\n## Key tensions / tradeoffs\n- …\n\n## Assumptions\n- …\n\n## Riskiest assumption (pick one)\n- …\n\n## What would change our mind?\n- …\n\n## Out-of-scope\n- …\n\nReflection prompts (answer briefly):\n- What would change our mind about the problem framing?\n- What is the riskiest assumption?\n\nEnd with a 'Proceeding to Ideation' readiness check and a 'Next Input' checklist.",
|
|
85
|
-
"agentRole": "You translate messy input into crisp, testable statements and ensure we are solving the right problem.",
|
|
86
|
-
"requireConfirmation": true
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
"id": "phase-3-ideation-loop",
|
|
90
|
-
"type": "loop",
|
|
91
|
-
"title": "Phase 3: Ideation (4 Rounds)",
|
|
92
|
-
"loop": {
|
|
93
|
-
"type": "for",
|
|
94
|
-
"count": 4,
|
|
95
|
-
"maxIterations": 5,
|
|
96
|
-
"iterationVar": "ideationRound"
|
|
97
|
-
},
|
|
98
|
-
"body": [
|
|
99
|
-
{
|
|
100
|
-
"id": "ideation-round-1-general",
|
|
101
|
-
"title": "Ideation Round 1: General Divergence",
|
|
102
|
-
"runCondition": { "var": "ideationRound", "equals": 1 },
|
|
103
|
-
"prompt": "Generate a broad set of ideas directly relevant to the defined problem.\n\nDoc-first: Append ideas to the Idea Backlog in `designDocPath` (append-only).\nDT IDs (required): For each new idea, assign the next DT-### from `## Counters` and increment it.\nRules:\n- Aim for 15–25 ideas.\n- No judging; record quickly.\n- Use the ideaEntryTemplate for each entry.\n\nDeliverable:\n## Idea Backlog (Round 1)\n- Append 15–25 idea entries\n## Emerging patterns (5 bullets)\n- …\n\nReflection prompts (brief, required, \u22643 bullets):\n- Which idea categories are underrepresented so far?\n- What is the simplest idea we are dismissing too quickly?\n- What assumption seems to be driving most of our ideas?\n\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.",
|
|
104
|
-
"agentRole": "You are in divergent mode: generate many plausible solutions without evaluation. Optimize for breadth and clarity.",
|
|
105
|
-
"functionReferences": ["ideaEntryTemplate()"]
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"id": "ideation-round-2-orthogonal",
|
|
109
|
-
"title": "Ideation Round 2: Orthogonal / Unrelated Inspiration",
|
|
110
|
-
"runCondition": { "var": "ideationRound", "equals": 2 },
|
|
111
|
-
"prompt": "Generate ideas that are intentionally NOT obvious extensions of Round 1.\n\nDoc-first: Append ideas to the Idea Backlog in `designDocPath` (append-only).\nTechniques:\n- Analogies from unrelated domains (compilers, logistics, game design, finance, healthcare, aviation)\n- Inversions (what if the opposite were true?)\n- Constraints as creativity (assume no state, assume no JSON, assume only files, assume only events)\n\nConstraint inversion (required):\n- Add 5 ideas that assume an explicit hard constraint chosen from the list above, and explain how the constraint changes the solution.\n\nRules:\n- Aim for 15–25 ideas total.\n- Use the ideaEntryTemplate for each entry.\n\nDeliverable:\n## Idea Backlog (Round 2)\n- Append 15–25 idea entries\n## Interesting analogies (3 bullets)\n- …\n\nReflection prompts (brief, required, \u22643 bullets):\n- Which analogy created the most non-obvious leverage?\n- What is the simplest idea we are dismissing too quickly?\n- What assumption seems to be driving most of our ideas?\n\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.",
|
|
112
|
-
"agentRole": "You are a creative catalyst. Break local maxima and introduce non-obvious alternatives.",
|
|
113
|
-
"functionReferences": ["ideaEntryTemplate()"]
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"id": "ideation-round-3-combinatorial",
|
|
117
|
-
"title": "Ideation Round 3: Build-on / Combine / Mutate",
|
|
118
|
-
"runCondition": { "var": "ideationRound", "equals": 3 },
|
|
119
|
-
"prompt": "Generate ideas that stem from the existing backlog.\n\nDoc-first: Append ideas to the Idea Backlog in `designDocPath` (append-only).\nTechniques:\n- Combine two ideas into one stronger concept\n- Turn an idea into a product primitive\n- Identify missing pieces required to make a good idea real\n\nRules:\n- Aim for 10–20 derived ideas.\n- Use the ideaEntryTemplate for each entry.\n\nDeliverable:\n## Derived ideas (Round 3)\n- Append 10–20 idea entries\n## Candidate concept packages (5)\n- Package name: … | member DT-IDs: … | what it enables: …\n\nReflection prompts (brief, required, \u22643 bullets):\n- What critical primitive seems to be missing for the best packages to work?\n- What is the simplest idea we are dismissing too quickly?\n- What assumption seems to be driving most of our ideas?\n\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.",
|
|
120
|
-
"agentRole": "You are a systems designer. Turn raw ideas into cohesive primitives and packages.",
|
|
121
|
-
"functionReferences": ["ideaEntryTemplate()"]
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"id": "ideation-round-4-coverage-sweep",
|
|
125
|
-
"title": "Ideation Round 4: Coverage Sweep & Blind Spot Hunt",
|
|
126
|
-
"runCondition": { "var": "ideationRound", "equals": 4 },
|
|
127
|
-
"prompt": "Audit the idea space for blind spots.\n\nDoc-first: Append ideas to the Idea Backlog in `designDocPath` (append-only).\nChecklist:\n- Did we address: protocol, resumption, authoring UX, validation, dashboard/observability, model variability, external workflow packaging, loops correctness, capability negotiation?\n- DT artifact coverage: persona/journey quality, POV clarity, prototype learnability, falsifiability, testability.\n- What did we NOT consider (security/policy, performance, compatibility, migration, testing strategy)?\n\nRules:\n- Add 10–15 missing ideas.\n- Use the ideaEntryTemplate for each entry.\n\nDeliverable:\n## Additional ideas (Round 4)\n- Append 10–15 idea entries\n## Coverage map\n- Dimension | coverage level (low/med/high) | top DT-IDs\n\nReflection prompts (brief, required, \u22643 bullets):\n- Where would we most likely regret not exploring further?\n- What category did we avoid because it felt uncomfortable or \"too big\"?\n- What assumption seems to be driving most of our ideas?\n\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.",
|
|
128
|
-
"agentRole": "You are a thorough reviewer. Ensure we didn’t miss major dimensions of the problem space.",
|
|
129
|
-
"functionReferences": ["ideaEntryTemplate()"]
|
|
130
|
-
}
|
|
131
|
-
]
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"id": "phase-4-synthesize",
|
|
135
|
-
"title": "Phase 4: Synthesize (Cluster + Prioritize)",
|
|
136
|
-
"prompt": "Synthesize the backlog into a coherent set of themes and candidates (structured, but reflective).\n\nDoc-first: Update Clusters, Candidate directions, and Shortlist in `designDocPath`.\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.\n\nDeliverable (bullets under headings):\n## Clusters (5–10)\n- Use clusterTemplate for each cluster\n\n## Candidate directions (top 3–7)\nFor each direction, include:\n- North Star (1–2 sentences): …\n- Summary: why now / impact / risks / migration cost\n- Scoring (1–5 with 1-line why):\n - Impact: …\n - Confidence: …\n - Migration cost: …\n - Model-robustness: …\n - Time-to-value: …\n\n## Shortlist (2–3)\n- …\n\nReflection prompts (brief):\n- What would falsify the top direction?\n- What is the most dangerous second-order effect?\n\nAdversarial challenge (brief):\n- Argue that the top direction is wrong. What would a skeptic say?\n- What is the strongest alternative direction and why might it win?\n\nEnd with a 'Decision Gate' asking for confirmation and a 'Next Input' checklist.",
|
|
137
|
-
"agentRole": "You converge: turn a large idea backlog into a small set of promising directions with clear tradeoffs.",
|
|
138
|
-
"requireConfirmation": true,
|
|
139
|
-
"functionReferences": ["clusterTemplate()"]
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
"id": "phase-4a-synthesis-quality-gate",
|
|
143
|
-
"title": "Phase 4A: Synthesis Quality Gate (Blueprint Enforcement)",
|
|
144
|
-
"prompt": "Before prototyping, verify the core artifacts exist and are coherent.\n\nDoc-first: In `designDocPath`, add a section `## Synthesis Quality Gate` with the checklist below and mark each item ✅/❌.\nChat: only state PASS/FAIL and the top 1–3 missing items.\n\nChecklist (must be explicit):\n- POV statement is present\n- 3–7 HMW questions are present\n- Success criteria are present (measurable where possible)\n- Key tensions/tradeoffs are present\n- Idea Backlog has meaningful breadth (covers protocol/resumption/authoring/observability/reliability/tooling/packaging at least once each, if applicable)\n- Shortlist (2–3) exists with risks and migration cost noted\n- The top direction has at least one falsifiable learning question\n\nIf FAIL: list exactly what is missing and stop.",
|
|
145
|
-
"agentRole": "You enforce blueprint quality. No new ideas; only validate readiness for prototyping.",
|
|
146
|
-
"requireConfirmation": true
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
"id": "phase-4b-premortem-falsification",
|
|
150
|
-
"title": "Phase 4B: Pre-mortem & Falsification Criteria",
|
|
151
|
-
"prompt": "Before prototyping, add a pre-mortem and explicit falsification criteria for the top direction. Treat directions as hypotheses; tests exist to falsify.\n\nDoc-first: In `designDocPath`, add a section `## Pre-mortem & Falsification` containing the deliverables below.\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.\n\nDeliverable (bullets under headings):\n## Pre-mortem (top 5)\n- Failure mode: … | Why it happens: … | Mitigation: …\n\n## Falsification criteria (1–3)\n- If [observable outcome] happens during dogfood/test, we will [pivot/stop/change direction] because …\n\nReflection prompts (brief):\n- What is the most dangerous second-order effect?\n- What would we regret not testing?\n\nEnd with a 'Proceed to Prototype' confirmation gate.",
|
|
152
|
-
"agentRole": "You pressure-test the top direction before investing in a prototype. Make failure modes and disconfirming evidence explicit.",
|
|
153
|
-
"requireConfirmation": true
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"id": "phase-5-prototype",
|
|
157
|
-
"title": "Phase 5: Prototype (Learning Artifact)",
|
|
158
|
-
"prompt": "Build a low-fidelity prototype intended to answer one learning question.\n\nDoc-first: Write the full prototype spec and artifact into `designDocPath`.\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.\n\nChoose ONE prototype artifact to produce:\n- Storyboard (6 panels)\n- Concierge script (manual end-to-end flow)\n- API sketch (request/response examples + mocked outputs)\n- Wireframe (markdown screens + interactions)\n\nDeliverable:\n- Use prototypeSpecTemplate and fill it in.\n- Include the falsification criteria from Phase 4B (copy it verbatim, then refine if needed).\n- The prototype artifact must be included in the spec under 'Prototype artifact'.\n\nReflection prompts (brief):\n- What is the smallest shippable slice that still proves the concept?\n- What is the highest-risk assumption in the spec?\n- If the falsification criteria triggers, what is the next-best direction from the shortlist?\n\nEnd with 'Next Input' checklist.",
|
|
159
|
-
"agentRole": "You create a learning prototype that is testable and falsifiable, not just a concept.",
|
|
160
|
-
"requireConfirmation": false,
|
|
161
|
-
"functionReferences": ["prototypeSpecTemplate()"]
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
"id": "phase-6-test-plan",
|
|
165
|
-
"title": "Phase 6: Test Plan (Dogfood + Validation)",
|
|
166
|
-
"prompt": "Define how to test the prototype with real usage constraints.\n\nDoc-first: Write the full test plan into `designDocPath`.\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.\n\nDeliverable:\n- Use testPlanTemplate and fill it in.\n- Explicitly include at least: Claude + one weaker model (e.g., GPT/Grok/Gemini) in 'Agents/models/IDEs to test'.\n\nReflection prompt (brief):\n- If the test fails, what would we do next (iterate, pivot, or stop)?\n\nEnd with a 'Next Input' checklist.",
|
|
167
|
-
"agentRole": "You are an experiment designer. Create a plan that produces evidence, not opinions.",
|
|
168
|
-
"requireConfirmation": false,
|
|
169
|
-
"functionReferences": ["testPlanTemplate()"]
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
"id": "phase-7-test-learn-refine-loop",
|
|
173
|
-
"type": "loop",
|
|
174
|
-
"title": "Phase 7: Iterate (Test → Learn → Refine)",
|
|
175
|
-
"loop": {
|
|
176
|
-
"type": "for",
|
|
177
|
-
"count": 2,
|
|
178
|
-
"maxIterations": 2,
|
|
179
|
-
"iterationVar": "iteration"
|
|
180
|
-
},
|
|
181
|
-
"body": [
|
|
182
|
-
{
|
|
183
|
-
"id": "test-feedback-capture",
|
|
184
|
-
"title": "Iteration {{iteration}}: Test & Capture Feedback",
|
|
185
|
-
"prompt": "Run a lightweight test of the prototype (dogfood, thought experiment, adversarial critique, stakeholder Q&A simulation).\n\nDoc-first: Write the full feedback capture into `designDocPath`.\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.\n\nDeliverable:\n- Use feedbackCaptureTemplate and fill it in.\n\nEnd with 'Next Input' checklist.",
|
|
186
|
-
"agentRole": "You are running a cheap, fast test intended to produce learning signals, not perfection.",
|
|
187
|
-
"functionReferences": ["feedbackCaptureTemplate()"]
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
"id": "learn-and-update",
|
|
191
|
-
"title": "Iteration {{iteration}}: Learn & Update Artifacts",
|
|
192
|
-
"prompt": "Based on the captured feedback, update the key artifacts.\n\nDoc-first: Apply updates to `designDocPath` and write a short `## Iteration {{iteration}}: Updates` section.\nRecap (output.notesMarkdown): Summarize what you added to the doc — key decisions, trade-offs, and anything notable. Be specific. Then include the 'Next Input' checklist.\n\nDeliverable:\n## Changes made\n- POV: (what changed, if anything)\n- HMW: (what changed, if anything)\n- Shortlist: (what changed, if anything)\n- Prototype spec/artifact: (what changed, if anything)\n\n## Rationale\n- Why these changes address the feedback\n\nReflection prompts (brief):\n- What did we learn that surprised us?\n- What did we previously believe that is now false?\n\nEnd with 'Next Input' checklist.",
|
|
193
|
-
"agentRole": "You are iterating based on learning. You update artifacts precisely and explain why."
|
|
194
|
-
}
|
|
195
|
-
]
|
|
196
|
-
}
|
|
197
|
-
]
|
|
198
|
-
}
|