@polderlabs/bizar 10.7.0 → 10.7.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/.claude/agents/_shared/AGENT_BASELINE.md +266 -0
- package/.claude/agents/_shared/CLAUDE_TOOLS.md +412 -0
- package/.claude/agents/_shared/SKILLS.md +109 -0
- package/.claude/agents/brand-designer.md +55 -0
- package/.claude/agents/exec-assistant.md +34 -0
- package/.claude/agents/help-desk.md +44 -0
- package/.claude/agents/it-lead.md +53 -0
- package/.claude/agents/knowledge-manager.md +49 -0
- package/.claude/agents/office-coordinator.md +39 -0
- package/.claude/agents/office-greeter.md +53 -0
- package/.claude/agents/office-manager.md +287 -0
- package/.claude/agents/principal-engineer.md +58 -0
- package/.claude/agents/qa-reviewer.md +51 -0
- package/.claude/agents/research-analyst.md +53 -0
- package/.claude/agents/senior-engineer.md +55 -0
- package/.claude/agents/support-tech.md +87 -0
- package/.claude/agents/vp-engineering.md +54 -0
- package/.claude/commands/audit.md +48 -0
- package/.claude/commands/bizar.md +22 -0
- package/.claude/commands/cron.md +36 -0
- package/.claude/commands/explain.md +17 -0
- package/.claude/commands/goal.md +99 -0
- package/.claude/commands/init.md +15 -0
- package/.claude/commands/learn.md +46 -0
- package/.claude/commands/plan.md +35 -0
- package/.claude/commands/plow-through.md +50 -0
- package/.claude/commands/pr-review.md +49 -0
- package/.claude/commands/setup-provider.md +96 -0
- package/.claude/commands/spec.md +47 -0
- package/.claude/commands/sprint.md +43 -0
- package/.claude/commands/tailscale-serve.md +100 -0
- package/.claude/commands/team.md +132 -0
- package/.claude/commands/test.md +62 -0
- package/.claude/commands/validate.md +68 -0
- package/.claude/commands/visual-plan.md +24 -0
- package/.claude/hooks/README.md +108 -0
- package/.claude/hooks/__tests__/pretooluse-editwrite.test.mjs +146 -0
- package/.claude/hooks/__tests__/sessionend-recall.test.mjs +256 -0
- package/.claude/hooks/__tests__/sessionstart-prime.test.mjs +325 -0
- package/.claude/hooks/__tests__/thinking-route.test.mjs +319 -0
- package/.claude/hooks/auto-instinct.sh +81 -0
- package/.claude/hooks/learning-extract.mjs +92 -0
- package/.claude/hooks/post-merge-audit.sh +93 -0
- package/.claude/hooks/posttooluse-editwrite.mjs +91 -0
- package/.claude/hooks/pretooluse-bash.mjs +87 -0
- package/.claude/hooks/pretooluse-editwrite.mjs +117 -0
- package/.claude/hooks/sessionend-recall.mjs +384 -0
- package/.claude/hooks/sessionstart-prime.mjs +278 -0
- package/.claude/hooks/thinking-route.mjs +314 -0
- package/.claude/hooks/worker-suggest.mjs +110 -0
- package/.claude/settings.json +167 -0
- package/.claude/skills/9router/SKILL.md +80 -0
- package/.claude/skills/9router-chat/SKILL.md +73 -0
- package/.claude/skills/9router-embeddings/SKILL.md +69 -0
- package/.claude/skills/9router-image/SKILL.md +86 -0
- package/.claude/skills/9router-stt/SKILL.md +79 -0
- package/.claude/skills/9router-tts/SKILL.md +80 -0
- package/.claude/skills/9router-web-fetch/SKILL.md +99 -0
- package/.claude/skills/9router-web-search/SKILL.md +91 -0
- package/.claude/skills/agent-browser/SKILL.md +64 -0
- package/.claude/skills/bizar/README.md +9 -0
- package/.claude/skills/bizar/SKILL.md +447 -0
- package/.claude/skills/cpp-coding-standards/README.md +28 -0
- package/.claude/skills/cpp-coding-standards/SKILL.md +634 -0
- package/.claude/skills/cpp-coding-standards/references/concurrency.md +320 -0
- package/.claude/skills/cpp-coding-standards/references/error-handling.md +229 -0
- package/.claude/skills/cpp-coding-standards/references/memory-safety.md +216 -0
- package/.claude/skills/cpp-coding-standards/references/modern-idioms.md +282 -0
- package/.claude/skills/cpp-coding-standards/references/review-checklist.md +96 -0
- package/.claude/skills/cpp-testing/README.md +28 -0
- package/.claude/skills/cpp-testing/SKILL.md +304 -0
- package/.claude/skills/cpp-testing/references/coverage.md +370 -0
- package/.claude/skills/cpp-testing/references/framework-compare.md +175 -0
- package/.claude/skills/cpp-testing/references/host-test-for-embedded.md +499 -0
- package/.claude/skills/cpp-testing/references/mocking.md +364 -0
- package/.claude/skills/cpp-testing/references/tdd-workflow.md +308 -0
- package/.claude/skills/cubesandbox/SKILL.md +148 -0
- package/.claude/skills/de-sloppify/SKILL.md +38 -0
- package/.claude/skills/de-sloppify/cleanup.mjs +253 -0
- package/.claude/skills/de-sloppify/cleanup.test.mjs +189 -0
- package/.claude/skills/embedded-esp-idf/README.md +41 -0
- package/.claude/skills/embedded-esp-idf/SKILL.md +439 -0
- package/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +214 -0
- package/.claude/skills/embedded-esp-idf/references/host-tests.md +164 -0
- package/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +157 -0
- package/.claude/skills/embedded-esp-idf/references/kconfig.md +159 -0
- package/.claude/skills/embedded-esp-idf/references/logging-discipline.md +118 -0
- package/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +137 -0
- package/.claude/skills/embedded-esp-idf/references/nvs.md +121 -0
- package/.claude/skills/embedded-esp-idf/references/packed-structs.md +192 -0
- package/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +47 -0
- package/.claude/skills/embedded-esp-idf/scripts/size_check.sh +77 -0
- package/.claude/skills/glyph/SKILL.md +163 -0
- package/.claude/skills/harness-engineering/SKILL.md +142 -0
- package/.claude/skills/lightrag/SKILL.md +81 -0
- package/.claude/skills/memory-protocol/SKILL.md +105 -0
- package/.claude/skills/obsidian/SKILL.md +306 -0
- package/.claude/skills/read-the-damn-docs/SKILL.md +113 -0
- package/.claude/skills/self-improvement/SKILL.md +64 -0
- package/.claude/skills/skillopt/SKILL.md +129 -0
- package/.claude/skills/thinking-archetypes/SKILL.md +90 -0
- package/.claude/skills/thinking-bayesian/SKILL.md +267 -0
- package/.claude/skills/thinking-bounded-rationality/SKILL.md +406 -0
- package/.claude/skills/thinking-circle-of-competence/SKILL.md +216 -0
- package/.claude/skills/thinking-cynefin/SKILL.md +70 -0
- package/.claude/skills/thinking-debiasing/SKILL.md +192 -0
- package/.claude/skills/thinking-dual-process/SKILL.md +282 -0
- package/.claude/skills/thinking-effectuation/SKILL.md +366 -0
- package/.claude/skills/thinking-feedback-loops/SKILL.md +464 -0
- package/.claude/skills/thinking-fermi-estimation/SKILL.md +263 -0
- package/.claude/skills/thinking-first-principles/SKILL.md +167 -0
- package/.claude/skills/thinking-five-whys-plus/SKILL.md +139 -0
- package/.claude/skills/thinking-inversion/SKILL.md +195 -0
- package/.claude/skills/thinking-jobs-to-be-done/SKILL.md +363 -0
- package/.claude/skills/thinking-kepner-tregoe/SKILL.md +154 -0
- package/.claude/skills/thinking-leverage-points/SKILL.md +390 -0
- package/.claude/skills/thinking-lindy-effect/SKILL.md +331 -0
- package/.claude/skills/thinking-map-territory/SKILL.md +111 -0
- package/.claude/skills/thinking-margin-of-safety/SKILL.md +330 -0
- package/.claude/skills/thinking-model-combination/SKILL.md +406 -0
- package/.claude/skills/thinking-model-router/SKILL.md +360 -0
- package/.claude/skills/thinking-model-selection/SKILL.md +341 -0
- package/.claude/skills/thinking-occams-razor/SKILL.md +129 -0
- package/.claude/skills/thinking-ooda/SKILL.md +127 -0
- package/.claude/skills/thinking-opportunity-cost/SKILL.md +360 -0
- package/.claude/skills/thinking-pre-mortem/SKILL.md +170 -0
- package/.claude/skills/thinking-probabilistic/SKILL.md +324 -0
- package/.claude/skills/thinking-red-team/SKILL.md +142 -0
- package/.claude/skills/thinking-regret-minimization/SKILL.md +335 -0
- package/.claude/skills/thinking-reversibility/SKILL.md +326 -0
- package/.claude/skills/thinking-scientific-method/SKILL.md +162 -0
- package/.claude/skills/thinking-second-order/SKILL.md +184 -0
- package/.claude/skills/thinking-socratic/SKILL.md +198 -0
- package/.claude/skills/thinking-steel-manning/SKILL.md +332 -0
- package/.claude/skills/thinking-systems/SKILL.md +238 -0
- package/.claude/skills/thinking-theory-of-constraints/SKILL.md +338 -0
- package/.claude/skills/thinking-thought-experiment/SKILL.md +354 -0
- package/.claude/skills/thinking-triz/SKILL.md +171 -0
- package/.claude/skills/thinking-via-negativa/SKILL.md +358 -0
- package/bizar-dash/skills/publishing/SKILL.md +2 -1
- package/cli/install/postinstall.mjs +54 -28
- package/cli/install/postinstall.test.mjs +98 -0
- package/cli/provision.mjs +29 -0
- package/install.sh +7 -0
- package/package.json +7 -2
- package/scripts/git-hooks/__tests__/commit-msg.test.mjs +61 -0
- package/scripts/git-hooks/commit-msg +38 -0
- package/scripts/install-hooks.sh +9 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: thinking-debiasing
|
|
3
|
+
description: In a long trajectory where you're defending a path you committed to early, run a pam self-check for sunk-cost and confirmation bias before continuing — only when evidence is being explained away.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Cognitive Debiasing
|
|
7
|
+
|
|
8
|
+
> Usually unnecessary. Current models already avoid the textbook cognitive biases on standard framings, so do not run this checklist by default — it adds friction without lift. It earns its keep in one narrow case: a **long trajectory** where you've committed to an approach early and are now rationalizing past it (sunk-cost) or only collecting evidence that confirms it (confirmation). For everything else, skip it.
|
|
9
|
+
|
|
10
|
+
## Trigger Card
|
|
11
|
+
|
|
12
|
+
Only use this skill when you notice one of these patterns in a long trajectory where you've committed to a path early:
|
|
13
|
+
|
|
14
|
+
| Pattern you notice | Self-check |
|
|
15
|
+
|---|---|
|
|
16
|
+
| "We've already built/spent a lot, so we should continue" | **Sunk cost:** Would I choose this path *starting fresh today*, ignoring work already done? If no, change course. |
|
|
17
|
+
| You keep finding support for your current hypothesis and discounting counter-evidence | **Confirmation:** What single piece of evidence would prove me wrong? Have I actively looked for it? |
|
|
18
|
+
| Unusually high confidence with thin evidence | **Overconfidence:** Widen the estimate; state what I'd expect to see if I'm wrong. |
|
|
19
|
+
|
|
20
|
+
If the check doesn't change the decision, you're done. Don't name biases without acting on them. For risk anticipation, use `thinking-pre-mortem`; for trade-off analysis, use `thinking-opportunity-cost`; for decision speed, use `thinking-reversibility`.
|
|
21
|
+
|
|
22
|
+
## When NOT to Use
|
|
23
|
+
- Standard, single-step reasoning — the bias risk is already low; don't pad the answer with a bias audit.
|
|
24
|
+
- Short tasks with no prior commitment to defend — sunk-cost/confirmation can't apply yet.
|
|
25
|
+
- As decoration to look rigorous — naming biases without changing the decision is theater.
|
|
26
|
+
- When a concrete framework already fits (thinking-pre-mortem for risks, thinking-opportunity-cost for trade-offs, thinking-reversibility for decision speed) — use it instead.
|
|
27
|
+
|
|
28
|
+
## Overview
|
|
29
|
+
Based on Daniel Kahneman, Dan Lovallo, and Olivier Sibony's research on cognitive biases. The sections below are a fuller checklist; for an autonomous agent, treat them as a *reference for the narrow case above*, applied as self-checks (not as roles assigned to a team).
|
|
30
|
+
|
|
31
|
+
## The 12-Point Decision Quality Checklist
|
|
32
|
+
|
|
33
|
+
Before approving any significant recommendation, evaluate:
|
|
34
|
+
|
|
35
|
+
### Self-Interest Biases
|
|
36
|
+
**1. Is there self-interest at play?**
|
|
37
|
+
- Does the recommender benefit from this decision?
|
|
38
|
+
- Would they recommend the same if incentives were different?
|
|
39
|
+
- Are there conflicts of interest?
|
|
40
|
+
|
|
41
|
+
**2. Is there emotional attachment (affect heuristic)?**
|
|
42
|
+
- Has the team fallen in love with the proposal?
|
|
43
|
+
- Are they dismissing concerns too quickly?
|
|
44
|
+
- Is criticism being taken personally?
|
|
45
|
+
|
|
46
|
+
### Single-Path Lock-In
|
|
47
|
+
**3. Did I genuinely explore alternatives, or anchor on the first one?**
|
|
48
|
+
- Were competing approaches evaluated, or strawmanned?
|
|
49
|
+
- Did I argue the opposing position in good faith before dismissing it?
|
|
50
|
+
- Is there pressure (deadline, prior statement) pushing me to one answer?
|
|
51
|
+
|
|
52
|
+
**4. Did I anchor on the first framing of the problem?**
|
|
53
|
+
- Would a different starting framing change the conclusion?
|
|
54
|
+
- Did I re-derive the estimate independently, or just adjust the first number I saw?
|
|
55
|
+
|
|
56
|
+
### Pattern Recognition Errors
|
|
57
|
+
**5. Are we over-relying on a single analogy (saliency bias)?**
|
|
58
|
+
- Is there one "this is just like X" dominating thinking?
|
|
59
|
+
- Have we sought disconfirming analogies?
|
|
60
|
+
- Are we cherry-picking the comparison?
|
|
61
|
+
|
|
62
|
+
**6. Are we anchored on an initial number?**
|
|
63
|
+
- Where did the first estimate come from?
|
|
64
|
+
- Would a different starting point change the conclusion?
|
|
65
|
+
- Have we re-estimated from scratch?
|
|
66
|
+
|
|
67
|
+
### Confirmation Bias
|
|
68
|
+
**7. Were credible alternatives seriously considered?**
|
|
69
|
+
- Did we explore at least 2-3 real alternatives?
|
|
70
|
+
- Were alternatives given fair evaluation?
|
|
71
|
+
- Or were they strawmen to justify the preferred option?
|
|
72
|
+
|
|
73
|
+
**8. Are we seeking confirming evidence only?**
|
|
74
|
+
- What evidence would disprove this thesis?
|
|
75
|
+
- Have we actively looked for disconfirming data?
|
|
76
|
+
- Are we explaining away contradictory evidence?
|
|
77
|
+
|
|
78
|
+
### Planning Fallacies
|
|
79
|
+
**9. Is the base case realistic?**
|
|
80
|
+
- Is this more optimistic than similar past projects?
|
|
81
|
+
- What's the base rate of success for similar efforts?
|
|
82
|
+
- Have we adjusted for "this time is different" thinking?
|
|
83
|
+
|
|
84
|
+
**10. Is the worst case bad enough?**
|
|
85
|
+
- Does worst case assume only one thing goes wrong?
|
|
86
|
+
- What if multiple risks materialize simultaneously?
|
|
87
|
+
- Have we considered tail risks?
|
|
88
|
+
|
|
89
|
+
**11. Are we discounting sunk costs appropriately?**
|
|
90
|
+
- Would we make this decision if starting fresh?
|
|
91
|
+
- Are we continuing because we've "invested too much"?
|
|
92
|
+
- What would an outsider with no history decide?
|
|
93
|
+
|
|
94
|
+
### Halo Effects
|
|
95
|
+
**12. Are we assuming success transfers?**
|
|
96
|
+
- Are we trusting this team/approach because of past wins?
|
|
97
|
+
- Were past successes in similar contexts?
|
|
98
|
+
- Are we attributing success to skill when luck played a role?
|
|
99
|
+
|
|
100
|
+
## Quick Debiasing Techniques
|
|
101
|
+
|
|
102
|
+
### For Anchoring
|
|
103
|
+
- Generate estimate BEFORE seeing others' numbers
|
|
104
|
+
- Ask: "What if the true number is 2x or 0.5x?"
|
|
105
|
+
- Use multiple independent estimators
|
|
106
|
+
|
|
107
|
+
### For Confirmation Bias
|
|
108
|
+
- Argue the opposite position yourself, in good faith
|
|
109
|
+
- Ask: "What would make this wrong?" and go look for it
|
|
110
|
+
- Weight disconfirming evidence at least as heavily as confirming
|
|
111
|
+
|
|
112
|
+
### For Overconfidence
|
|
113
|
+
- Widen confidence intervals (usually too narrow)
|
|
114
|
+
- Use reference class forecasting (base rates)
|
|
115
|
+
- Ask: "How often have similar predictions been right?"
|
|
116
|
+
|
|
117
|
+
### For Sunk Cost
|
|
118
|
+
- Ask: "Would we start this project today knowing what we know?"
|
|
119
|
+
- Ignore past investment when evaluating future returns
|
|
120
|
+
- Consider opportunity cost of continuing
|
|
121
|
+
|
|
122
|
+
### For Single-Path Lock-In
|
|
123
|
+
- Generate the strongest case for an alternative before settling
|
|
124
|
+
- Steel-man the option you're rejecting
|
|
125
|
+
- Separate "what the evidence says" from "what I already concluded"
|
|
126
|
+
|
|
127
|
+
## Decision Quality Audit Template
|
|
128
|
+
|
|
129
|
+
```markdown
|
|
130
|
+
# Decision Quality Audit: [Decision Name]
|
|
131
|
+
|
|
132
|
+
## Recommendation Summary
|
|
133
|
+
[Brief description]
|
|
134
|
+
|
|
135
|
+
## Bias Checklist
|
|
136
|
+
|
|
137
|
+
### Self-Interest & Emotion
|
|
138
|
+
- [ ] Self-interest checked: [Notes]
|
|
139
|
+
- [ ] Emotional attachment assessed: [Notes]
|
|
140
|
+
|
|
141
|
+
### Single-Path Lock-In
|
|
142
|
+
- [ ] Opposing position argued in good faith: [Notes]
|
|
143
|
+
- [ ] First framing/anchor questioned: [Notes]
|
|
144
|
+
|
|
145
|
+
### Pattern Recognition
|
|
146
|
+
- [ ] Multiple analogies considered: [Notes]
|
|
147
|
+
- [ ] Anchoring effects checked: [Notes]
|
|
148
|
+
|
|
149
|
+
### Confirmation Bias
|
|
150
|
+
- [ ] Alternatives genuinely evaluated: [Notes]
|
|
151
|
+
- [ ] Disconfirming evidence sought: [Notes]
|
|
152
|
+
|
|
153
|
+
### Planning Realism
|
|
154
|
+
- [ ] Base case reality-checked: [Notes]
|
|
155
|
+
- [ ] Worst case severe enough: [Notes]
|
|
156
|
+
- [ ] Sunk costs ignored: [Notes]
|
|
157
|
+
|
|
158
|
+
### Halo Effects
|
|
159
|
+
- [ ] Success transfer questioned: [Notes]
|
|
160
|
+
|
|
161
|
+
## Red Flags Identified
|
|
162
|
+
[List any concerns from checklist]
|
|
163
|
+
|
|
164
|
+
## Mitigations
|
|
165
|
+
[How will identified biases be addressed?]
|
|
166
|
+
|
|
167
|
+
## Decision
|
|
168
|
+
- [ ] Proceed as recommended
|
|
169
|
+
- [ ] Proceed with modifications
|
|
170
|
+
- [ ] Requires more analysis
|
|
171
|
+
- [ ] Reject recommendation
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Verification Checklist
|
|
175
|
+
- [ ] Confirmed this is the narrow case (long trajectory + a path being defended) — otherwise skip the skill
|
|
176
|
+
- [ ] Ran the matching self-check (sunk-cost / confirmation / overconfidence)
|
|
177
|
+
- [ ] Identified a concrete piece of evidence that would prove the current path wrong
|
|
178
|
+
- [ ] Re-decided as if starting fresh today, ignoring prior investment
|
|
179
|
+
- [ ] The check actually changed (or affirmed for a stated reason) the decision — not just named a bias
|
|
180
|
+
|
|
181
|
+
## Key Questions
|
|
182
|
+
- "What would have to be true for this to be wrong?"
|
|
183
|
+
- "How confident am I, and what's driving that confidence?"
|
|
184
|
+
- "What would an outsider with fresh eyes conclude?"
|
|
185
|
+
- "Am I reasoning toward a conclusion I already want?"
|
|
186
|
+
- "What's the base rate of success for decisions like this?"
|
|
187
|
+
- "If I'm wrong, how will I know, and when?"
|
|
188
|
+
|
|
189
|
+
## Kahneman's Warning
|
|
190
|
+
"We can be blind to the obvious, and we are also blind to our blindness."
|
|
191
|
+
|
|
192
|
+
You cannot debias through willpower alone. Use checklists, processes, and outside perspectives to catch what your intuition misses.
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: thinking-dual-process
|
|
3
|
+
description: Use when an answer arrives too fast on a high-stakes or unfamiliar task. Force one explicit verification pass before committing instead of shipping the first plausible answer.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Dual-Process Thinking
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
A language model produces a first answer by fast pattern-completion: the most statistically likely continuation given the prompt. That fast path is excellent for routine, well-trodden tasks and dangerous for high-stakes or unfamiliar ones, where the most *plausible-sounding* answer and the *correct* answer diverge. This skill is the deliberate counterweight: when an answer arrives too easily on a task that matters, force one explicit verification pass before committing.
|
|
10
|
+
|
|
11
|
+
The framing comes from Kahneman's fast/slow distinction, but the operative idea here is mechanical, not psychological: **fast generation** (the immediate completion) vs. a **deliberate check** (re-deriving, testing, or sourcing the answer).
|
|
12
|
+
|
|
13
|
+
**Core Principle:** Fluency is not correctness. When the answer came easily *and* the cost of being wrong is high, that combination is the trigger to slow down and verify — not a signal you're done.
|
|
14
|
+
|
|
15
|
+
## Trigger Card
|
|
16
|
+
|
|
17
|
+
When an answer arrives instantly on a high-stakes or unfamiliar task, run one verification pass before committing:
|
|
18
|
+
|
|
19
|
+
1. **Notice:** Did the answer form immediately, with no intermediate steps? High confidence but nothing checked?
|
|
20
|
+
2. **Check triggers:** Is the task high-stakes/irreversible OR the domain unfamiliar? If neither, ship the fast answer.
|
|
21
|
+
3. **Verify:** Re-state the claim → re-derive or test it a second, independent way → check against ground truth (code, docs, data) → reconcile any disagreement → commit.
|
|
22
|
+
|
|
23
|
+
The trigger is **easy answer + real cost of error.** If the answer was hard-won, you already deliberated. If the task is trivial and reversible, don't over-verify.
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
- The task is high-stakes or irreversible (data migration, security, deletion, public commitment) and the answer felt obvious.
|
|
27
|
+
- The domain is unfamiliar or the task is novel — no well-worn pattern to rely on.
|
|
28
|
+
- The answer requires statistical or quantitative reasoning (where fast completion is reliably miscalibrated).
|
|
29
|
+
- You're reviewing work and it "looks fine" on a pam pass.
|
|
30
|
+
- A claim is plausible and convenient but you haven't actually checked it against the code/docs/data.
|
|
31
|
+
|
|
32
|
+
Decision flow:
|
|
33
|
+
```
|
|
34
|
+
Answer arrived fast? → High stakes OR unfamiliar? → yes → RUN A VERIFICATION PASS
|
|
35
|
+
↘ no → fast answer is fine, ship it
|
|
36
|
+
↘ no (had to work for it) → you already deliberated
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## When NOT to Use
|
|
40
|
+
- **Routine, reversible, low-stakes tasks.** Renaming a variable, a trivial edit, an obvious lookup — re-verifying everything is wasted budget and invites analysis paralysis.
|
|
41
|
+
- **You already worked through it deliberately.** If the answer was hard-won, a second pass is redundant; the trigger is *easy answer + high stakes*, not every answer.
|
|
42
|
+
- **The verification pass would cost more than the error it prevents.** Match the depth of the check to the cost of being wrong.
|
|
43
|
+
- **You can just run it.** If a test or a pam execution would settle it, do that instead of more reasoning.
|
|
44
|
+
|
|
45
|
+
## The Two Modes
|
|
46
|
+
|
|
47
|
+
### Fast generation (the default)
|
|
48
|
+
| Characteristic | Description |
|
|
49
|
+
|----------------|-------------|
|
|
50
|
+
| **Speed** | Immediate — the answer is just the first plausible completion |
|
|
51
|
+
| **Basis** | Pattern-matching to similar prompts seen in training |
|
|
52
|
+
| **Confidence** | Often high *regardless* of correctness — fluency masquerades as certainty |
|
|
53
|
+
|
|
54
|
+
Fast generation is reliable for:
|
|
55
|
+
- Well-trodden, conventional tasks with a clear standard answer
|
|
56
|
+
- Reformatting, summarizing, and other low-ambiguity transforms
|
|
57
|
+
- Recall of common, stable facts
|
|
58
|
+
- Routine code in a familiar language/framework
|
|
59
|
+
|
|
60
|
+
Fast generation is unreliable for:
|
|
61
|
+
- Arithmetic and multi-step quantitative reasoning
|
|
62
|
+
- Statistical reasoning and base-rate problems
|
|
63
|
+
- Novel or unfamiliar problems with no template to match
|
|
64
|
+
- Anything where a plausible-sounding answer can be subtly wrong (APIs, version-specific behavior, edge cases)
|
|
65
|
+
|
|
66
|
+
### Deliberate verification (the override)
|
|
67
|
+
| Characteristic | Description |
|
|
68
|
+
|----------------|-------------|
|
|
69
|
+
| **Speed** | Slower — re-derive, test, or source the answer |
|
|
70
|
+
| **Basis** | Explicit steps, checks against ground truth |
|
|
71
|
+
| **Confidence** | Earned — tied to what was actually verified |
|
|
72
|
+
|
|
73
|
+
Deliberate verification is worth its cost when:
|
|
74
|
+
- Re-deriving a result a second, independent way
|
|
75
|
+
- Running or tracing the code instead of predicting its output
|
|
76
|
+
- Checking a claim against the actual file/doc/data rather than memory
|
|
77
|
+
- Enumerating edge cases the fast answer glossed over
|
|
78
|
+
|
|
79
|
+
Its only failure mode is over-use: applying it to trivial, reversible work where the check costs more than the error.
|
|
80
|
+
|
|
81
|
+
## The Process
|
|
82
|
+
|
|
83
|
+
### Step 1: Notice the fast answer
|
|
84
|
+
A fast answer announces itself: it's the response forming immediately, before any explicit work. That's normal and usually fine. The thing to notice is *how* you got it.
|
|
85
|
+
|
|
86
|
+
- Answer formed immediately, no intermediate steps
|
|
87
|
+
- It "obviously" follows from the prompt
|
|
88
|
+
- Confidence is high but nothing was actually checked
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
Example: "Does this regex match leading zeros?"
|
|
92
|
+
A confident yes/no forms instantly → fast generation.
|
|
93
|
+
Before answering: is this high-stakes or am I sure? If either is shaky, test the regex.
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Step 2: Check the two trigger conditions
|
|
97
|
+
A verification pass is warranted only when BOTH are true enough:
|
|
98
|
+
|
|
99
|
+
**The answer came easily** (Step 1), AND **the cost of being wrong is real:**
|
|
100
|
+
- Stakes are high or the action is irreversible
|
|
101
|
+
- The domain is unfamiliar or the problem novel
|
|
102
|
+
- It requires arithmetic / statistical reasoning
|
|
103
|
+
- A wrong-but-plausible answer would slip through review
|
|
104
|
+
|
|
105
|
+
If the answer was hard-won, you already deliberated — stop. If stakes are trivial and reversible, the fast answer is fine — stop.
|
|
106
|
+
|
|
107
|
+
### Step 3: Run the verification pass
|
|
108
|
+
When both conditions hold, do exactly one disciplined check:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
1. RE-STATE - Write the claim/answer explicitly
|
|
112
|
+
2. RE-DERIVE - Reach it a second, independent way (or test/run it)
|
|
113
|
+
3. CHECK - Against ground truth: the code, the docs, the data, the math
|
|
114
|
+
4. RECONCILE - If the two paths disagree, the fast answer was wrong — find out why
|
|
115
|
+
5. COMMIT - Ship the verified answer
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Watch for these fast-answer red flags specifically:
|
|
119
|
+
- It's the most common/canonical answer but the prompt has an unusual twist
|
|
120
|
+
- It depends on a version, config, or edge case you didn't actually confirm
|
|
121
|
+
- It's the convenient answer that lets you stop early
|
|
122
|
+
- It restates the user's assumption back to them without testing it
|
|
123
|
+
|
|
124
|
+
### Step 4: Match effort to stakes
|
|
125
|
+
|
|
126
|
+
| Situation | Process |
|
|
127
|
+
|-----------|
|
|
128
|
+
| Fast answer + low stakes | Ship it; don't manufacture doubt |
|
|
129
|
+
| Fast answer + high stakes | Run the verification pass above |
|
|
130
|
+
| Already deliberated | Done — no second pass needed |
|
|
131
|
+
|
|
132
|
+
## Fast-Generation Failure Modes
|
|
133
|
+
|
|
134
|
+
### Question substitution
|
|
135
|
+
Fast generation answers an easier nearby question instead of the one asked:
|
|
136
|
+
```
|
|
137
|
+
Asked: "Is this O(n) or O(n log n)?"
|
|
138
|
+
Answered: "Does this look like efficient code?" (vibe, not analysis)
|
|
139
|
+
|
|
140
|
+
Asked: "Does this migration preserve all rows?"
|
|
141
|
+
Answered: "Does this migration look correct?" (plausibility, not verification)
|
|
142
|
+
```
|
|
143
|
+
The fix is to re-state the *exact* question (Step 3) so the substitution becomes visible.
|
|
144
|
+
|
|
145
|
+
### Pattern-matched errors
|
|
146
|
+
|
|
147
|
+
| Pattern | What it does | When it fails |
|
|
148
|
+
|-----------|--------------|---------------|
|
|
149
|
+
| Canonical-answer pull | Returns the textbook answer | The prompt has a non-standard twist |
|
|
150
|
+
| Base-rate neglect | Reasons from the salient detail | Ignores how common the outcome actually is |
|
|
151
|
+
| Anchoring | Builds on a number in the prompt | The anchor was arbitrary or wrong |
|
|
152
|
+
| Confirmation | Surfaces support for the framing given | Misses evidence the framing is wrong |
|
|
153
|
+
| Sycophantic agreement | Echoes the user's stated assumption | The assumption was the bug |
|
|
154
|
+
|
|
155
|
+
### WYSIATI (What You See Is All There Is)
|
|
156
|
+
Fast generation builds the most coherent answer from *only* what's in the prompt, and does not flag what's missing:
|
|
157
|
+
```
|
|
158
|
+
Given: "the function returns the user"
|
|
159
|
+
Concludes: "so the happy path works"
|
|
160
|
+
Missing: the 404 path, the timeout, the null case — none mentioned, so none considered
|
|
161
|
+
```
|
|
162
|
+
Coherence of the answer is not coverage of the territory. Explicitly ask "what would I need to look at that isn't in front of me?"
|
|
163
|
+
|
|
164
|
+
## Fluency Is Not Correctness
|
|
165
|
+
|
|
166
|
+
A smooth, confident, well-formatted answer *feels* more trustworthy — to the reader and in the generation itself. That fluency signal is independent of whether the answer is right.
|
|
167
|
+
|
|
168
|
+
| Fluent answer | Verified answer |
|
|
169
|
+
|---|---|
|
|
170
|
+
| Reads cleanly, high apparent confidence | Confidence tied to a specific check that passed |
|
|
171
|
+
| Risk: accepted without scrutiny | Risk: only over-use on trivial tasks |
|
|
172
|
+
|
|
173
|
+
**The trap:** the more polished the fast answer, the *less* it gets challenged — exactly backwards from what stakes should dictate. On a high-stakes task, treat a too-clean answer as a reason to run the verification pass, not a reason to ship.
|
|
174
|
+
|
|
175
|
+
## Application Examples
|
|
176
|
+
|
|
177
|
+
### Code Review
|
|
178
|
+
```
|
|
179
|
+
Fast answer: "This looks fine" (matches familiar-looking code)
|
|
180
|
+
Verification pass (high-stakes change):
|
|
181
|
+
- Trace the actual logic line by line, don't pattern-match the shape
|
|
182
|
+
- Enumerate the edge/error paths the diff doesn't mention
|
|
183
|
+
- Check the change against the contract it must uphold (callers, tests)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Reporting a Fact or API Behavior
|
|
187
|
+
```
|
|
188
|
+
Fast answer: "Use method X, it takes these args" (canonical recall)
|
|
189
|
+
Verification pass (unfamiliar/version-sensitive):
|
|
190
|
+
- Confirm the method exists in the version in this repo
|
|
191
|
+
- Check the signature in the actual source/docs, not from memory
|
|
192
|
+
- If unsure, say so or look it up rather than assert
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Architecture / Tech Choice
|
|
196
|
+
```
|
|
197
|
+
Fast answer: "Use [the obvious default]" (most-common completion)
|
|
198
|
+
Verification pass (high-stakes):
|
|
199
|
+
- State the actual requirements, then check the default against them
|
|
200
|
+
- Name one alternative and why it loses, so the choice is reasoned not reflexive
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Debugging
|
|
204
|
+
```
|
|
205
|
+
Fast answer: "It's probably X" (first plausible hypothesis)
|
|
206
|
+
Verification pass:
|
|
207
|
+
- List the candidate causes, not just the first
|
|
208
|
+
- Find the evidence that would distinguish them, and look at it
|
|
209
|
+
- Resist committing to X until the logs/repro actually point there
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Integration with Other Thinking Skills
|
|
213
|
+
|
|
214
|
+
### With Debiasing
|
|
215
|
+
Fast generation is where most bias-shaped errors enter; the verification pass is where you catch them. Run the debiasing checklist as the content of Step 3 on high-stakes calls.
|
|
216
|
+
|
|
217
|
+
### With Bayesian Reasoning
|
|
218
|
+
Fast answers neglect base rates; the verification pass restores them:
|
|
219
|
+
```
|
|
220
|
+
Fast: "Positive test result = probably has the condition"
|
|
221
|
+
Verified: state the base rate first, then update (see thinking-bayesian)
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### With First Principles
|
|
225
|
+
The fast answer reasons by analogy ("everyone does X"); the verification pass asks whether the constraint is real:
|
|
226
|
+
```
|
|
227
|
+
Fast: "Competitors do X, so we should too"
|
|
228
|
+
Verified: "What's the fundamental requirement? Does X actually meet it?"
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### With Pre-Mortem
|
|
232
|
+
The fast answer is optimistic by default; the verification pass adds the failure view:
|
|
233
|
+
```
|
|
234
|
+
Fast: "This plan will work"
|
|
235
|
+
Verified: "Assume it failed — what's the most likely reason?"
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### With OODA Loop
|
|
239
|
+
Under genuine time pressure (an incident), act on the fast answer at ~70% confidence and re-observe — don't stall on verification. Reserve the full pass for after, or for the irreversible step within the incident.
|
|
240
|
+
|
|
241
|
+
## When the Fast Answer Is Trustworthy
|
|
242
|
+
|
|
243
|
+
The fast path is not the enemy — it's correct most of the time, and over-verifying is its own failure. Lean on the fast answer when:
|
|
244
|
+
|
|
245
|
+
1. **The task is conventional** — a standard transform or a common, stable fact
|
|
246
|
+
2. **The pattern fits cleanly** — no unusual twist in the prompt
|
|
247
|
+
3. **It's cheaply reversible** — a wrong answer is caught and fixed at near-zero cost
|
|
248
|
+
4. **You can confirm it trivially if challenged** — the check is one step away
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
Fine to ship fast:
|
|
252
|
+
- "Convert this JSON to YAML"
|
|
253
|
+
- "What HTTP status means 'not found'?"
|
|
254
|
+
- A rename or a comment fix
|
|
255
|
+
|
|
256
|
+
Verify first:
|
|
257
|
+
- "Will this SQL touch every shard?"
|
|
258
|
+
- "Is this auth check actually enforced on the server?"
|
|
259
|
+
- Anything version-, edge-case-, or money-sensitive
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Ask: "If this is wrong, how and when do I find out — and how much does it cost?"
|
|
263
|
+
|
|
264
|
+
## Verification Checklist
|
|
265
|
+
- [ ] Noticed whether the answer arrived fast or was worked through
|
|
266
|
+
- [ ] Checked BOTH triggers: easy answer AND real cost of error
|
|
267
|
+
- [ ] If both true, ran one disciplined verification pass against ground truth
|
|
268
|
+
- [ ] Re-derived or tested the result a second, independent way
|
|
269
|
+
- [ ] Did NOT over-verify a trivial, reversible task
|
|
270
|
+
- [ ] Confirmed version/edge-case-sensitive claims rather than asserting from memory
|
|
271
|
+
- [ ] Matched the depth of the check to the cost of being wrong
|
|
272
|
+
|
|
273
|
+
## Key Questions
|
|
274
|
+
- "Did this answer come too easily — and does that matter here?"
|
|
275
|
+
- "Is this a conventional task or one with an unusual twist?"
|
|
276
|
+
- "What would a second, independent derivation show?"
|
|
277
|
+
- "Is my confidence tied to an actual check, or just to how clean the answer reads?"
|
|
278
|
+
- "What's missing that isn't in front of me (WYSIATI)?"
|
|
279
|
+
- "If this is wrong, how and when do I find out?"
|
|
280
|
+
|
|
281
|
+
## The Core Warning
|
|
282
|
+
A fluent, confident answer reflects the coherence of the completion, not the quality of the evidence behind it. The most polished answers get challenged the least — which is exactly backwards when the stakes are high. When an answer comes easily on something that matters, that ease is the trigger to verify, not the signal you're done.
|