Skip to content

Commit 80d63f5

Browse files
committed
chore: tidy up readme and docs
1 parent 96fdce0 commit 80d63f5

File tree

1 file changed

+0
-84
lines changed

1 file changed

+0
-84
lines changed

README.md

Lines changed: 0 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -15,90 +15,6 @@ Instead of jumping to conclusions and solutions, your AI generates competing hyp
1515
No more archaeology in chat history. Decisions live in `.quint/`
1616
queryable, auditable, yours.
1717

18-
---
19-
20-
### Example: Handling Payment Confirmations
21-
22-
Your checkout works. Stripe charges the card.
23-
But three weeks later, finance finds $12,000 in "ghost payments" —
24-
customers charged but never got access.
25-
26-
The webhook endpoint returned 200. Logs look clean.
27-
What went wrong?
28-
29-
#### Without Quint
30-
31-
Your AI suggests: *"Just add a webhook endpoint that activates the subscription"*
32-
33-
You ship it. It works in testing. Production looks fine.
34-
35-
Until it doesn't. Webhooks fail silently. Your endpoint timed out during a DB hiccup. Stripe retried, you processed it twice. A network blip ate three webhooks completely.
36-
37-
Now you're debugging production with no record of why you built it this way.
38-
39-
#### With Quint
40-
41-
```bash
42-
$ q1 hypothesize "handle stripe payment confirmation"
43-
```
44-
45-
AI generates competing approaches:
46-
47-
| # | Approach | Risk | Recovery |
48-
|---|----------|------|----------|
49-
| H1 | Webhook-only | Silent failures, no detection | None without manual audit |
50-
| H2 | Webhook + sync processing | Timeout = lost event, retries = duplicates | Stripe retry (3 days) |
51-
| H3 | Webhook → Queue + Polling backup | Complex, two code paths | Self-healing |
52-
53-
```bash
54-
$ q2 verify
55-
```
56-
57-
AI checks each hypothesis:
58-
- **H1 fails:** "No mechanism detects missed webhooks"
59-
- **H2 partial:** "Idempotency key needed, still misses network failures"
60-
- **H3 passes:** "Polling catches what webhooks miss, queue handles spikes"
61-
62-
```bash
63-
$ q5 decide
64-
```
65-
66-
```
67-
Decision: H3 — Async queue + 15-min polling reconciliation
68-
69-
Rationale:
70-
- Webhook acknowledges immediately (200 in <100ms)
71-
- Background job processes with idempotency check
72-
- Polling job catches silent failures
73-
- Accepted tradeoff: 15-min max delay for edge cases
74-
75-
Evidence: Stripe docs recommend polling backup.
76-
Review trigger: If webhook success rate drops below 99%
77-
```
78-
79-
#### 3 weeks later
80-
81-
Finance asks: *"Why do we poll every 15 minutes? Can we remove it?"*
82-
83-
```bash
84-
$ q query "payment confirmation architecture"
85-
```
86-
87-
```
88-
Decision: 2024-01-15 — H3 selected over webhook-only
89-
90-
Key evidence:
91-
- Stripe admits webhook delivery "not guaranteed"
92-
- Polling catches ~0.3% of transactions (measured)
93-
- Removing polling = ~$400/month in silent failures
94-
95-
Recommendation: Keep polling. Document in runbook.
96-
```
97-
98-
**The decision context survives. No archaeology needed.**
99-
100-
---
101-
10218
## Quick Start
10319

10420
### Step 1: Install the Binary

0 commit comments

Comments
 (0)