tribunal-kit 4.5.0 → 4.6.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.
- package/.agent/.shared/ui-ux-pro-max/README.md +4 -4
- package/.agent/ARCHITECTURE.md +279 -277
- package/.agent/GEMINI.md +127 -121
- package/.agent/agents/accessibility-reviewer.md +187 -187
- package/.agent/agents/ai-code-reviewer.md +199 -199
- package/.agent/agents/api-architect.md +71 -66
- package/.agent/agents/backend-specialist.md +219 -215
- package/.agent/agents/cloud-engineer.md +98 -0
- package/.agent/agents/code-archaeologist.md +168 -161
- package/.agent/agents/database-architect.md +184 -184
- package/.agent/agents/db-latency-auditor.md +213 -216
- package/.agent/agents/debugger.md +198 -191
- package/.agent/agents/dependency-reviewer.md +106 -103
- package/.agent/agents/devops-engineer.md +218 -218
- package/.agent/agents/documentation-writer.md +209 -201
- package/.agent/agents/explorer-agent.md +167 -160
- package/.agent/agents/frontend-reviewer.md +162 -160
- package/.agent/agents/frontend-specialist.md +257 -248
- package/.agent/agents/game-developer.md +48 -48
- package/.agent/agents/logic-reviewer.md +118 -116
- package/.agent/agents/mobile-developer.md +197 -200
- package/.agent/agents/mobile-reviewer.md +159 -162
- package/.agent/agents/orchestrator.md +187 -181
- package/.agent/agents/penetration-tester.md +160 -157
- package/.agent/agents/performance-optimizer.md +183 -183
- package/.agent/agents/performance-reviewer.md +178 -178
- package/.agent/agents/precedence-reviewer.md +251 -250
- package/.agent/agents/product-manager.md +149 -142
- package/.agent/agents/product-owner.md +81 -80
- package/.agent/agents/project-planner.md +152 -142
- package/.agent/agents/qa-automation-engineer.md +216 -225
- package/.agent/agents/resilience-reviewer.md +88 -88
- package/.agent/agents/schema-reviewer.md +67 -67
- package/.agent/agents/security-auditor.md +180 -174
- package/.agent/agents/seo-specialist.md +188 -193
- package/.agent/agents/sql-reviewer.md +159 -161
- package/.agent/agents/supervisor-agent.md +173 -184
- package/.agent/agents/swarm-worker-contracts.md +170 -166
- package/.agent/agents/swarm-worker-registry.md +92 -92
- package/.agent/agents/system-architect.md +85 -0
- package/.agent/agents/test-coverage-reviewer.md +158 -160
- package/.agent/agents/test-engineer.md +118 -118
- package/.agent/agents/throughput-optimizer.md +291 -299
- package/.agent/agents/type-safety-reviewer.md +182 -175
- package/.agent/agents/ui-ux-auditor.md +300 -292
- package/.agent/agents/vitals-reviewer.md +223 -223
- package/.agent/mcp_config.json +37 -40
- package/.agent/patterns/generator.md +11 -9
- package/.agent/patterns/inversion.md +14 -12
- package/.agent/patterns/pipeline.md +11 -9
- package/.agent/patterns/reviewer.md +15 -13
- package/.agent/patterns/tool-wrapper.md +11 -9
- package/.agent/routing_index.json +654 -0
- package/.agent/rules/GEMINI.md +358 -352
- package/.agent/scripts/compile_router.py +112 -0
- package/.agent/scripts/migrate_skills_frontmatter.py +64 -0
- package/.agent/scripts/strengthen_skills.js +1 -1
- package/.agent/skills/advanced-rag-pipelines/SKILL.md +56 -0
- package/.agent/skills/agent-organizer/SKILL.md +156 -150
- package/.agent/skills/agentic-patterns/SKILL.md +313 -315
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +190 -184
- package/.agent/skills/api-patterns/SKILL.md +253 -247
- package/.agent/skills/api-security-auditor/SKILL.md +195 -193
- package/.agent/skills/app-builder/SKILL.md +573 -572
- package/.agent/skills/app-builder/templates/SKILL.md +108 -115
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -122
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -122
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -169
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -134
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -119
- package/.agent/skills/appflow-wireframe/SKILL.md +146 -145
- package/.agent/skills/architecture/SKILL.md +226 -219
- package/.agent/skills/authentication-best-practices/SKILL.md +197 -189
- package/.agent/skills/backend-security-expert/SKILL.md +16 -2
- package/.agent/skills/bash-linux/SKILL.md +179 -179
- package/.agent/skills/behavioral-modes/SKILL.md +239 -223
- package/.agent/skills/brainstorming/SKILL.md +498 -486
- package/.agent/skills/browser-native-ai/SKILL.md +57 -4
- package/.agent/skills/building-native-ui/SKILL.md +202 -202
- package/.agent/skills/cicd-pro/SKILL.md +442 -0
- package/.agent/skills/clean-code/SKILL.md +400 -381
- package/.agent/skills/cloud-architect/SKILL.md +439 -0
- package/.agent/skills/code-review-checklist/SKILL.md +203 -194
- package/.agent/skills/config-validator/SKILL.md +165 -165
- package/.agent/skills/containerization-pro/SKILL.md +452 -0
- package/.agent/skills/csharp-developer/SKILL.md +518 -518
- package/.agent/skills/data-validation-schemas/SKILL.md +333 -328
- package/.agent/skills/database-design/SKILL.md +247 -240
- package/.agent/skills/deployment-procedures/SKILL.md +172 -169
- package/.agent/skills/devops-engineer/SKILL.md +345 -345
- package/.agent/skills/devops-incident-responder/SKILL.md +143 -137
- package/.agent/skills/doc.md +209 -177
- package/.agent/skills/documentation-templates/SKILL.md +291 -279
- package/.agent/skills/edge-computing/SKILL.md +183 -181
- package/.agent/skills/error-resilience/SKILL.md +411 -428
- package/.agent/skills/extract-design-system/SKILL.md +160 -158
- package/.agent/skills/framer-motion-expert/SKILL.md +253 -244
- package/.agent/skills/frontend-design/SKILL.md +208 -201
- package/.agent/skills/frontend-security-expert/SKILL.md +16 -3
- package/.agent/skills/game-design-expert/SKILL.md +132 -129
- package/.agent/skills/game-engineering-expert/SKILL.md +148 -146
- package/.agent/skills/generative-ui-expert/SKILL.md +57 -1
- package/.agent/skills/geo-fundamentals/SKILL.md +148 -147
- package/.agent/skills/git-pro/SKILL.md +435 -0
- package/.agent/skills/github-operations/SKILL.md +335 -329
- package/.agent/skills/gsap-core/SKILL.md +319 -308
- package/.agent/skills/gsap-frameworks/SKILL.md +213 -207
- package/.agent/skills/gsap-performance/SKILL.md +139 -133
- package/.agent/skills/gsap-plugins/SKILL.md +486 -480
- package/.agent/skills/gsap-react/SKILL.md +202 -189
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +357 -350
- package/.agent/skills/gsap-timeline/SKILL.md +165 -161
- package/.agent/skills/gsap-utils/SKILL.md +344 -338
- package/.agent/skills/harness-protocol/SKILL.md +48 -0
- package/.agent/skills/i18n-localization/SKILL.md +174 -163
- package/.agent/skills/intelligent-routing/SKILL.md +202 -246
- package/.agent/skills/knowledge-graph/SKILL.md +60 -52
- package/.agent/skills/lint-and-validate/SKILL.md +261 -261
- package/.agent/skills/llm-engineering/SKILL.md +400 -394
- package/.agent/skills/local-first/SKILL.md +178 -178
- package/.agent/skills/mcp-builder/SKILL.md +143 -142
- package/.agent/skills/mobile-design/SKILL.md +272 -263
- package/.agent/skills/monorepo-management/SKILL.md +335 -334
- package/.agent/skills/motion-engineering/SKILL.md +266 -234
- package/.agent/skills/nextjs-react-expert/SKILL.md +236 -234
- package/.agent/skills/nodejs-best-practices/SKILL.md +547 -548
- package/.agent/skills/observability/SKILL.md +343 -343
- package/.agent/skills/parallel-agents/SKILL.md +143 -146
- package/.agent/skills/performance-profiling/SKILL.md +259 -267
- package/.agent/skills/plan-writing/SKILL.md +150 -142
- package/.agent/skills/platform-engineer/SKILL.md +148 -147
- package/.agent/skills/playwright-best-practices/SKILL.md +188 -187
- package/.agent/skills/powershell-windows/SKILL.md +162 -162
- package/.agent/skills/project-idioms/SKILL.md +137 -137
- package/.agent/skills/python-patterns/SKILL.md +260 -259
- package/.agent/skills/python-pro/SKILL.md +324 -323
- package/.agent/skills/react-specialist/SKILL.md +305 -277
- package/.agent/skills/readme-builder/SKILL.md +310 -300
- package/.agent/skills/realtime-patterns/SKILL.md +323 -319
- package/.agent/skills/red-team-tactics/SKILL.md +231 -218
- package/.agent/skills/rust-pro/SKILL.md +671 -673
- package/.agent/skills/seo-fundamentals/SKILL.md +179 -179
- package/.agent/skills/server-management/SKILL.md +218 -214
- package/.agent/skills/shadcn-ui-expert/SKILL.md +231 -231
- package/.agent/skills/skill-creator/SKILL.md +87 -86
- package/.agent/skills/sql-pro/SKILL.md +629 -629
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +97 -97
- package/.agent/skills/swiftui-expert/SKILL.md +204 -201
- package/.agent/skills/system-design-pro/SKILL.md +345 -0
- package/.agent/skills/systematic-debugging/SKILL.md +153 -142
- package/.agent/skills/tailwind-patterns/SKILL.md +610 -566
- package/.agent/skills/tdd-workflow/SKILL.md +169 -161
- package/.agent/skills/test-result-analyzer/SKILL.md +313 -309
- package/.agent/skills/testing-patterns/SKILL.md +566 -579
- package/.agent/skills/trend-researcher/SKILL.md +243 -237
- package/.agent/skills/typescript-advanced/SKILL.md +336 -335
- package/.agent/skills/ui-ux-pro-max/SKILL.md +590 -562
- package/.agent/skills/ui-ux-researcher/SKILL.md +244 -244
- package/.agent/skills/vue-expert/SKILL.md +294 -275
- package/.agent/skills/vulnerability-scanner/SKILL.md +416 -404
- package/.agent/skills/web-accessibility-auditor/SKILL.md +219 -218
- package/.agent/skills/web-design-guidelines/SKILL.md +192 -186
- package/.agent/skills/webapp-testing/SKILL.md +167 -169
- package/.agent/skills/webgpu-performance/SKILL.md +56 -2
- package/.agent/skills/whimsy-injector/SKILL.md +346 -325
- package/.agent/skills/workflow-optimizer/SKILL.md +231 -229
- package/.agent/workflows/acf.md +141 -0
- package/.agent/workflows/api-tester.md +176 -151
- package/.agent/workflows/audit.md +150 -127
- package/.agent/workflows/brainstorm.md +134 -110
- package/.agent/workflows/changelog.md +140 -112
- package/.agent/workflows/create.md +168 -124
- package/.agent/workflows/debug.md +190 -165
- package/.agent/workflows/deploy.md +201 -180
- package/.agent/workflows/enhance.md +154 -128
- package/.agent/workflows/fix.md +136 -114
- package/.agent/workflows/generate.md +198 -183
- package/.agent/workflows/marathon.md +37 -11
- package/.agent/workflows/migrate.md +184 -160
- package/.agent/workflows/orchestrate.md +192 -168
- package/.agent/workflows/performance-benchmarker.md +135 -114
- package/.agent/workflows/plan.md +196 -173
- package/.agent/workflows/preview.md +103 -80
- package/.agent/workflows/refactor.md +192 -161
- package/.agent/workflows/review-ai.md +125 -101
- package/.agent/workflows/review.md +141 -116
- package/.agent/workflows/session.md +122 -94
- package/.agent/workflows/status.md +101 -79
- package/.agent/workflows/strengthen-skills.md +164 -138
- package/.agent/workflows/super-prompt.md +24 -0
- package/.agent/workflows/swarm.md +193 -179
- package/.agent/workflows/test.md +211 -189
- package/.agent/workflows/tribunal-backend.md +136 -105
- package/.agent/workflows/tribunal-database.md +122 -95
- package/.agent/workflows/tribunal-frontend.md +221 -96
- package/.agent/workflows/tribunal-full.md +129 -100
- package/.agent/workflows/tribunal-mobile.md +122 -95
- package/.agent/workflows/tribunal-performance.md +136 -110
- package/.agent/workflows/tribunal-speed.md +209 -183
- package/.agent/workflows/ui-ux-pro-max.md +145 -122
- package/README.md +107 -55
- package/bin/mcp-server.js +159 -0
- package/bin/tribunal-kit.js +105 -29
- package/bin/wrapper.js +16 -7
- package/mcp_config.json +9 -0
- package/package.json +94 -86
- package/scripts/changelog.js +4 -3
- package/scripts/validate-payload.js +6 -1
- package/scripts/postinstall.js +0 -127
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: system-design-pro
|
|
3
|
+
description: Industry-level system design mastery for interviews and production. The 6-step design framework, scale estimation (DAU→QPS→storage→bandwidth), core building blocks (load balancers L4/L7, CDN, caches, queues), database selection matrix, CAP Theorem applied, and reference designs for URL shortener, rate limiter, Twitter feed, distributed cache, and notification system. Use when designing systems for scale, conducting architecture reviews, or preparing system design discussions.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
last-updated: 2026-06-21
|
|
7
|
+
applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
|
|
8
|
+
routing:
|
|
9
|
+
domain: architecture
|
|
10
|
+
tier: pro
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [design a system, scale estimation, CAP Theorem, rate limiter]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Hallucination Traps (Read First)
|
|
16
|
+
|
|
17
|
+
- ❌ "Just use microservices" for <10K RPM → ✅ Microservices add operational complexity that kills small teams. Start monolith.
|
|
18
|
+
- ❌ Adding database sharding before exhausting vertical scaling → ✅ Sharding is a last resort. Try: connection pooling → read replicas → caching → vertical scaling first.
|
|
19
|
+
- ❌ Applying CQRS to simple CRUD apps → ✅ CQRS is only justified when read and write models genuinely diverge at scale.
|
|
20
|
+
- ❌ Choosing NoSQL because "it scales better" → ✅ NoSQL sacrifices ACID transactions and query flexibility. Choose based on data model, not hype.
|
|
21
|
+
- ❌ Designing for peak load from day one → ✅ Design for 3-5x current load. Over-engineering kills velocity. Add complexity when measured, not speculated.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# System Design Pro — Industry-Level Mastery
|
|
26
|
+
|
|
27
|
+
## 1. The 6-Step Design Framework
|
|
28
|
+
|
|
29
|
+
Use this structure for every system design discussion:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
Step 1: CLARIFY SCOPE (5 min)
|
|
33
|
+
→ What features are in scope for THIS design?
|
|
34
|
+
→ Read-heavy or write-heavy?
|
|
35
|
+
→ What are the consistency requirements? (eventual OK, or strict?)
|
|
36
|
+
→ What are the latency requirements?
|
|
37
|
+
|
|
38
|
+
Step 2: ESTIMATE SCALE (5 min)
|
|
39
|
+
→ Daily Active Users (DAU)
|
|
40
|
+
→ Queries Per Second (QPS) — read and write separately
|
|
41
|
+
→ Data storage growth per year
|
|
42
|
+
→ Bandwidth (inbound + outbound)
|
|
43
|
+
|
|
44
|
+
Step 3: DEFINE THE API (5 min)
|
|
45
|
+
→ Sketch the core API endpoints / interfaces
|
|
46
|
+
→ Defines the contract before implementation details
|
|
47
|
+
|
|
48
|
+
Step 4: DATA MODEL (10 min)
|
|
49
|
+
→ Which database type? (SQL / NoSQL / Graph / Time-series)
|
|
50
|
+
→ Core entities and relationships
|
|
51
|
+
→ Key fields, indexes
|
|
52
|
+
|
|
53
|
+
Step 5: HIGH-LEVEL DESIGN (15 min)
|
|
54
|
+
→ Draw the boxes: clients → LB → services → DB → cache
|
|
55
|
+
→ Happy path data flow
|
|
56
|
+
|
|
57
|
+
Step 6: DEEP DIVE (20 min)
|
|
58
|
+
→ Bottleneck analysis
|
|
59
|
+
→ Scaling strategies for the identified bottleneck
|
|
60
|
+
→ Failure modes and mitigations
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 2. Scale Estimation (The Math)
|
|
66
|
+
|
|
67
|
+
### Reference Numbers
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
Latency Numbers Every Engineer Should Know:
|
|
71
|
+
L1 cache reference: 0.5 ns
|
|
72
|
+
Main memory access: 100 ns
|
|
73
|
+
SSD random read: 150 μs
|
|
74
|
+
Read 1 MB from SSD: 1 ms
|
|
75
|
+
Round trip within datacenter: 500 μs
|
|
76
|
+
Round trip CA to Netherlands: 150 ms
|
|
77
|
+
|
|
78
|
+
Storage:
|
|
79
|
+
1 character = 1 byte
|
|
80
|
+
1 photo (compressed) = 300 KB
|
|
81
|
+
1 video (1 min, 720p) = 50 MB
|
|
82
|
+
1 tweet = ~280 bytes
|
|
83
|
+
|
|
84
|
+
Throughput:
|
|
85
|
+
1 server handles: ~10K connections (nginx), ~1K QPS (Node.js CPU-bound)
|
|
86
|
+
PostgreSQL: ~5K–10K simple queries/sec
|
|
87
|
+
Redis: ~100K–1M ops/sec
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Worked Example: Twitter-Scale Feed
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
Given:
|
|
94
|
+
DAU = 300M users
|
|
95
|
+
Each user reads feed 5x/day → 1.5B read requests/day
|
|
96
|
+
Each user posts 1 tweet/week → 43M writes/day
|
|
97
|
+
|
|
98
|
+
Calculations:
|
|
99
|
+
Read QPS = 1,500,000,000 / 86,400 = ~17,400 QPS
|
|
100
|
+
Write QPS = 43,000,000 / 86,400 = ~500 QPS
|
|
101
|
+
Ratio = 35:1 (heavily read-dominant → aggressive caching justified)
|
|
102
|
+
|
|
103
|
+
Storage (tweets):
|
|
104
|
+
43M tweets/day × 280 bytes = ~12 GB/day
|
|
105
|
+
12 GB × 365 = ~4.4 TB/year for text
|
|
106
|
+
(media stored separately in object storage)
|
|
107
|
+
|
|
108
|
+
Bandwidth:
|
|
109
|
+
Outbound: 17,400 QPS × 20 tweets/feed × 280 bytes = ~97 MB/s outbound text
|
|
110
|
+
(plus CDN-served media)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 3. Core Building Blocks
|
|
116
|
+
|
|
117
|
+
### Load Balancer Selection
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
L4 Load Balancer (Transport Layer):
|
|
121
|
+
- Routes based on TCP/UDP — no HTTP awareness
|
|
122
|
+
- Ultra-low overhead, extremely fast
|
|
123
|
+
- Can't do: SSL termination, path-based routing, header inspection
|
|
124
|
+
- Use for: raw TCP services, database connections, non-HTTP
|
|
125
|
+
- AWS equivalent: Network Load Balancer (NLB)
|
|
126
|
+
|
|
127
|
+
L7 Load Balancer (Application Layer):
|
|
128
|
+
- Routes based on HTTP headers, path, host, cookies
|
|
129
|
+
- Can do: SSL termination, A/B testing, sticky sessions, compression
|
|
130
|
+
- Slightly higher overhead than L4
|
|
131
|
+
- Use for: web applications, REST APIs, microservices
|
|
132
|
+
- AWS equivalent: Application Load Balancer (ALB)
|
|
133
|
+
|
|
134
|
+
Algorithms:
|
|
135
|
+
Round Robin → even distribution, no server awareness
|
|
136
|
+
Least Connections → route to server with fewest active connections
|
|
137
|
+
IP Hash → sticky sessions (same client → same server)
|
|
138
|
+
Weighted → send 80% to v1, 20% to v2 (canary deploys)
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Cache Strategies
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
Cache-Aside (Lazy Loading) — most common:
|
|
145
|
+
1. App checks cache → MISS
|
|
146
|
+
2. App reads from DB
|
|
147
|
+
3. App writes result to cache
|
|
148
|
+
4. Returns data
|
|
149
|
+
Pro: Only caches what's actually read. Cache failure doesn't break app.
|
|
150
|
+
Con: First request always slow. Cache can become stale.
|
|
151
|
+
|
|
152
|
+
Write-Through:
|
|
153
|
+
1. App writes to cache AND DB simultaneously
|
|
154
|
+
Pro: Cache always up-to-date
|
|
155
|
+
Con: Write latency doubled. Caches data that may never be read.
|
|
156
|
+
|
|
157
|
+
Write-Behind (Write-Back):
|
|
158
|
+
1. App writes to cache
|
|
159
|
+
2. Cache asynchronously writes to DB (batched)
|
|
160
|
+
Pro: Very fast writes
|
|
161
|
+
Con: Risk of data loss if cache fails before flush
|
|
162
|
+
|
|
163
|
+
Read-Through:
|
|
164
|
+
Cache sits in front of DB. On miss, cache fetches from DB.
|
|
165
|
+
Pro: Simpler app code (cache handles DB reads)
|
|
166
|
+
Con: Cold start problem. Cache becomes SPOF.
|
|
167
|
+
|
|
168
|
+
TTL Strategy:
|
|
169
|
+
Short TTL (seconds–minutes): Real-time data, stock prices, feed counts
|
|
170
|
+
Medium TTL (hours): User profiles, product details
|
|
171
|
+
Long TTL (days): Static content, configuration
|
|
172
|
+
No TTL: Immutable data (old posts, completed orders)
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Message Queues
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
When to use a queue:
|
|
179
|
+
✅ Async processing (email sending, image resize, notifications)
|
|
180
|
+
✅ Rate limiting (smooth out traffic spikes)
|
|
181
|
+
✅ Decoupling services (producer doesn't know about consumer)
|
|
182
|
+
✅ Retry logic (failed jobs re-queued automatically)
|
|
183
|
+
|
|
184
|
+
Queue Selection:
|
|
185
|
+
BullMQ (Redis-backed) → Simple, single-service, <100K jobs/day
|
|
186
|
+
RabbitMQ → Complex routing, dead-letter, multi-consumer
|
|
187
|
+
Apache Kafka → High throughput (millions/sec), replay, event log
|
|
188
|
+
AWS SQS → Serverless, managed, Lambda integration
|
|
189
|
+
AWS SQS + SNS (fan-out) → Broadcast one event to multiple consumers
|
|
190
|
+
|
|
191
|
+
Delivery guarantees:
|
|
192
|
+
At-most-once → messages may be lost (fire-and-forget analytics)
|
|
193
|
+
At-least-once → messages may be duplicated (requires idempotent consumers)
|
|
194
|
+
Exactly-once → expensive, complex; only Kafka transactions + consumer groups
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## 4. Database Selection Matrix
|
|
200
|
+
|
|
201
|
+
| Signal | Recommended | Why |
|
|
202
|
+
| -------------------------------------- | --------------------------------- | -------------------------------------------- |
|
|
203
|
+
| Structured data, ACID, complex queries | **PostgreSQL** | Relational model, joins, transactions |
|
|
204
|
+
| Time-series data (metrics, logs) | **InfluxDB / TimescaleDB** | Optimized for time-ordered data, compression |
|
|
205
|
+
| Document storage, flexible schema | **MongoDB** | Schema-free, embedded documents |
|
|
206
|
+
| Key-value, <1ms latency | **Redis / DynamoDB** | In-memory or single-digit ms |
|
|
207
|
+
| Graph relationships (social, rec) | **Neo4j / Neptune** | Traversal queries 100x faster than SQL joins |
|
|
208
|
+
| Search & full-text | **Elasticsearch / OpenSearch** | Inverted index, relevance scoring |
|
|
209
|
+
| Immutable audit log | **Kafka / Append-only table** | Never update, only append |
|
|
210
|
+
| Multi-region globally distributed | **CockroachDB / DynamoDB Global** | Multi-master, automatic failover |
|
|
211
|
+
|
|
212
|
+
### CAP Theorem Applied
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
CAP: You can only guarantee 2 of: Consistency, Availability, Partition Tolerance
|
|
216
|
+
(In distributed systems, Partition Tolerance is mandatory → choose C or A)
|
|
217
|
+
|
|
218
|
+
CP (Consistency + Partition Tolerance):
|
|
219
|
+
→ All reads return latest write or error
|
|
220
|
+
→ Use for: Banking, financial transactions, inventory (overselling is catastrophic)
|
|
221
|
+
→ Examples: PostgreSQL, ZooKeeper, HBase
|
|
222
|
+
|
|
223
|
+
AP (Availability + Partition Tolerance):
|
|
224
|
+
→ System stays up even during partitions, may return stale data
|
|
225
|
+
→ Use for: Social feeds, shopping carts, DNS, search indexes
|
|
226
|
+
→ Examples: DynamoDB (eventually consistent), Cassandra, CouchDB
|
|
227
|
+
|
|
228
|
+
Practical rule:
|
|
229
|
+
Does incorrect data cause financial harm or security breach? → CP
|
|
230
|
+
Can users tolerate seeing slightly stale data for seconds? → AP
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## 5. Classic Reference Designs
|
|
236
|
+
|
|
237
|
+
### URL Shortener (tinyurl.com)
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
API:
|
|
241
|
+
POST /api/shorten { url: "https://long-url.com" } → { shortCode: "abc123" }
|
|
242
|
+
GET /:shortCode → HTTP 302 redirect to original URL
|
|
243
|
+
|
|
244
|
+
Scale:
|
|
245
|
+
Reads: 100:1 read-to-write (CDN + cache at edge)
|
|
246
|
+
Writes: ~1M URLs/day = ~12 writes/sec
|
|
247
|
+
|
|
248
|
+
Key Design Decisions:
|
|
249
|
+
Short code generation: MD5(url)[:6] — fast, deterministic, but collision-prone
|
|
250
|
+
Better: Globally unique counter + base62 encoding (a-zA-Z0-9)
|
|
251
|
+
Best: Distributed ID with snowflake-style (timestamp + datacenter + sequence)
|
|
252
|
+
|
|
253
|
+
Data model:
|
|
254
|
+
urls table: { id BIGINT PK, short_code VARCHAR(8) UNIQUE, original_url TEXT,
|
|
255
|
+
user_id BIGINT, created_at TIMESTAMP, click_count INT }
|
|
256
|
+
|
|
257
|
+
Caching:
|
|
258
|
+
Cache short_code → original_url in Redis (high read QPS, small value size)
|
|
259
|
+
TTL: 24h (popular links stay warm)
|
|
260
|
+
|
|
261
|
+
Scaling bottleneck: DB write throughput
|
|
262
|
+
Fix: Write to a queue, batch-insert every 100ms
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Rate Limiter
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
Algorithms:
|
|
269
|
+
Token Bucket:
|
|
270
|
+
- Bucket refills at rate R tokens/second, max capacity C
|
|
271
|
+
- Each request consumes 1 token
|
|
272
|
+
- Allows bursting (use all C tokens instantly)
|
|
273
|
+
- Ideal for: most APIs
|
|
274
|
+
|
|
275
|
+
Sliding Window Counter:
|
|
276
|
+
- Count requests in sliding 1-minute window
|
|
277
|
+
- More precise than fixed window (no edge-of-window bursts)
|
|
278
|
+
- Implementation: Redis sorted set (ZADD + ZCOUNT + ZREMRANGEBYSCORE)
|
|
279
|
+
|
|
280
|
+
Redis Implementation (Token Bucket):
|
|
281
|
+
EVAL lua_script KEYS[1] ARGV[1] ARGV[2] ARGV[3]
|
|
282
|
+
-- key=user_id, capacity, refill_rate, current_time
|
|
283
|
+
-- atomically check and decrement token count
|
|
284
|
+
|
|
285
|
+
Response headers:
|
|
286
|
+
X-RateLimit-Limit: 1000
|
|
287
|
+
X-RateLimit-Remaining: 42
|
|
288
|
+
X-RateLimit-Reset: 1719532800 (Unix timestamp)
|
|
289
|
+
Retry-After: 60 (on 429 response)
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### Notification System
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
Requirements: Send 10M push notifications/day via email, SMS, push
|
|
296
|
+
|
|
297
|
+
Architecture:
|
|
298
|
+
1. Producer: API receives notification request → publishes to Kafka topic
|
|
299
|
+
2. Kafka topics: one per channel (email-queue, sms-queue, push-queue)
|
|
300
|
+
3. Workers: Dedicated consumers per channel
|
|
301
|
+
- email-worker → SendGrid API
|
|
302
|
+
- sms-worker → Twilio API
|
|
303
|
+
- push-worker → FCM (Android) / APNS (iOS)
|
|
304
|
+
4. Retry queue: Failed notifications → dead-letter queue → retry with backoff
|
|
305
|
+
5. Notification log: All sent notifications stored in Cassandra (time-series)
|
|
306
|
+
|
|
307
|
+
Failure handling:
|
|
308
|
+
- Idempotency key per notification (dedup on retry)
|
|
309
|
+
- Exponential backoff: 1s → 10s → 100s → dead letter
|
|
310
|
+
- Alert on dead letter queue depth > threshold
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## 🤖 LLM-Specific Traps
|
|
316
|
+
|
|
317
|
+
1. **Premature sharding**: Suggesting database sharding before the user has even mentioned scale issues. Sharding is complex; exhaust simpler options first.
|
|
318
|
+
2. **NoSQL for everything**: DynamoDB and MongoDB are not universally better. They sacrifice joins and ACID. Present the tradeoffs honestly.
|
|
319
|
+
3. **Ignoring the 80/20 of read QPS**: Most web apps are 80-95% reads. Design the read path first (caching, CDN, read replicas) before optimizing writes.
|
|
320
|
+
4. **Forgetting the Coordinator Problem**: Distributed systems need coordination (who is the leader?). Mention ZooKeeper/etcd or leaderless designs when relevant.
|
|
321
|
+
5. **Over-specifying CAP**: Real systems pick AP vs CP at the feature level, not the system level. A shopping cart (AP) and payment processing (CP) can coexist.
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## 🏛️ Tribunal Integration (Anti-Hallucination)
|
|
326
|
+
|
|
327
|
+
**Slash command: `/review` or `/tribunal-full`**
|
|
328
|
+
**Active reviewers: `logic-reviewer` · `system-architect` · `database-architect`**
|
|
329
|
+
|
|
330
|
+
### ✅ Pre-Flight Self-Audit
|
|
331
|
+
|
|
332
|
+
```
|
|
333
|
+
✅ Did I quantify the scale before recommending a solution?
|
|
334
|
+
✅ Did I present at least 2 database options with tradeoffs?
|
|
335
|
+
✅ Did I define the read:write ratio before choosing a caching strategy?
|
|
336
|
+
✅ Did I verify the system doesn't need microservices before recommending them?
|
|
337
|
+
✅ Did I define a failure mode and mitigation for the primary bottleneck?
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
341
|
+
|
|
342
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
343
|
+
|
|
344
|
+
- ❌ **Forbidden**: Recommending an architecture without first establishing scale numbers.
|
|
345
|
+
- ✅ **Required**: Every system design must include: QPS estimates, data model, caching strategy, and at least one identified bottleneck with a scaling plan.
|
|
@@ -1,146 +1,155 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: systematic-debugging
|
|
3
|
-
description: Systematic debugging framework. Root-cause isolation, 4-phase methodology, hypothesis testing, log tracing, avoiding shotgun-surgery, memory allocation analysis, and empirical evidence gathering. Use when debugging complex, highly-coupled, or elusive bugs across mixed execution environments.
|
|
4
|
-
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
-
version: 2.0.0
|
|
6
|
-
last-updated: 2026-04-02
|
|
7
|
-
applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
|
|
102
|
-
2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
|
|
103
|
-
3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
|
|
104
|
-
4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
105
|
-
5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
**Slash command: `/review` or `/tribunal-full`**
|
|
112
|
-
**Active reviewers: `logic-reviewer` · `security-auditor`**
|
|
113
|
-
|
|
114
|
-
### ❌ Forbidden AI Tropes
|
|
115
|
-
|
|
116
|
-
1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
|
|
117
|
-
2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
|
|
118
|
-
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
Review these questions before confirming output:
|
|
123
|
-
```
|
|
124
|
-
✅ Did I rely ONLY on real, verified tools and methods?
|
|
125
|
-
✅ Is this solution appropriately scoped to the user's constraints?
|
|
126
|
-
✅ Did I handle potential failure modes and edge cases?
|
|
127
|
-
✅ Have I avoided generic boilerplate that doesn't add value?
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
131
|
-
|
|
132
|
-
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
133
|
-
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
134
|
-
- ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
## Pre-Flight Checklist
|
|
138
|
-
- [ ] Have I reviewed the user's specific constraints and requests?
|
|
139
|
-
- [ ] Have I checked the environment for relevant existing implementations?
|
|
140
|
-
|
|
141
|
-
## VBC Protocol (Verification-Before-Completion)
|
|
142
|
-
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
1
|
+
---
|
|
2
|
+
name: systematic-debugging
|
|
3
|
+
description: Systematic debugging framework. Root-cause isolation, 4-phase methodology, hypothesis testing, log tracing, avoiding shotgun-surgery, memory allocation analysis, and empirical evidence gathering. Use when debugging complex, highly-coupled, or elusive bugs across mixed execution environments.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
version: 2.0.0
|
|
6
|
+
last-updated: 2026-04-02
|
|
7
|
+
applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
|
|
8
|
+
routing:
|
|
9
|
+
domain: general
|
|
10
|
+
tier: basic
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Hallucination Traps (Read First)
|
|
14
|
+
|
|
15
|
+
- ❌ Changing multiple things at once to fix a bug -> ✅ Change ONE variable at a time; multiple changes make it impossible to identify the fix
|
|
16
|
+
- ❌ Assuming the bug is where the error message points -> ✅ The error location is often downstream; trace UP the call stack to find root cause
|
|
17
|
+
- ❌ Not reproducing the bug before attempting a fix -> ✅ If you cannot reproduce it reliably, you cannot verify your fix works
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Systematic Debugging — Root Cause Mastery
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 1. The 4-Phase Debugging Methodology
|
|
26
|
+
|
|
27
|
+
Never jump straight into modifying code when a bug is reported.
|
|
28
|
+
|
|
29
|
+
### Phase 1: Replication & Isolation
|
|
30
|
+
|
|
31
|
+
**Goal:** Prove the bug exists continuously and isolate the execution path.
|
|
32
|
+
|
|
33
|
+
1. Write a failing deterministic unit/integration test that replicates the exact condition.
|
|
34
|
+
2. Strip away all unnecessary layers (If the UI button fails to delete a user, curl the endpoint directly. Does the API fail? If yes, UI is fine, bug is in the backend/database).
|
|
35
|
+
|
|
36
|
+
### Phase 2: Hypothesis Generation
|
|
37
|
+
|
|
38
|
+
**Goal:** Formulate logical explanations for the anomaly based on data, not guesses.
|
|
39
|
+
|
|
40
|
+
- "Because the log shows `auth: false` even after successful token parse, the RBAC middleware must be overwriting the session."
|
|
41
|
+
|
|
42
|
+
### Phase 3: Evidence-Based Testing (The Probe)
|
|
43
|
+
|
|
44
|
+
**Goal:** Prove or disprove the hypothesis without mutating the actual program functionality.
|
|
45
|
+
|
|
46
|
+
- Insert strict logging probes: `logger.debug("Executing line 45. User.permissions:", user.permissions)`.
|
|
47
|
+
- If the logs match your hypothesis, proceed. If they do not, discard the hypothesis.
|
|
48
|
+
|
|
49
|
+
### Phase 4: Resolution & Verification
|
|
50
|
+
|
|
51
|
+
**Goal:** Apply the minimal surgical change required, then verify via tests.
|
|
52
|
+
|
|
53
|
+
- Re-run the deterministic failing test created in Phase 1. It must now pass.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 2. Advanced Diagnostic Vectors
|
|
58
|
+
|
|
59
|
+
When pure logic errors are ruled out, look for environmental factors.
|
|
60
|
+
|
|
61
|
+
**1. Race Conditions / Timing Bugs**
|
|
62
|
+
|
|
63
|
+
- _Symptom:_ The bug only happens 30% of the time, or depends on network speed.
|
|
64
|
+
- _Cause:_ Missing `await` statements, relying on asynchronous callbacks returning in a specific order, or concurrent database transacting.
|
|
65
|
+
|
|
66
|
+
**2. State Leakage**
|
|
67
|
+
|
|
68
|
+
- _Symptom:_ The first operation works perfectly. The second consecutive operation fails mysteriously.
|
|
69
|
+
- _Cause:_ Global variables, cached HTTP clients, or React state lacking proper cleanup functions between unmounts.
|
|
70
|
+
|
|
71
|
+
**3. Silent Failures (Swallowed Errors)**
|
|
72
|
+
|
|
73
|
+
- _Symptom:_ The application stops processing midway through an operation, but nothing is in the error logs.
|
|
74
|
+
- _Cause:_ Empty `catch (e) {}` blocks, unhandled promise rejections, or frontend elements conditionally rendering `null` on missing datasets.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 3. The Bisection Method (Git Bisect)
|
|
79
|
+
|
|
80
|
+
When a catastrophic bug appears in production but worked fine last week, use algorithmic isolation across the git history.
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
git bisect start
|
|
84
|
+
git bisect bad HEAD # The current state is broken
|
|
85
|
+
git bisect good v1.4.0 # It worked fine in the last release
|
|
86
|
+
|
|
87
|
+
# Git will now jump you exactly halfway between those commits.
|
|
88
|
+
# Run your tests...
|
|
89
|
+
git bisect bad # (If it failed)
|
|
90
|
+
# Or...
|
|
91
|
+
git bisect good # (If it passed)
|
|
92
|
+
|
|
93
|
+
# Git will isolate the exact commit that introduced the bug in O(log N) steps.
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 4. Reading the Stack Trace Properly
|
|
99
|
+
|
|
100
|
+
Do not skim. Stack traces tell the exact sequence of destruction.
|
|
143
101
|
|
|
102
|
+
1. **Top line:** The final fatal blow (e.g., `TypeError: Cannot read properties of undefined (reading 'map')`).
|
|
103
|
+
2. **First Application Function:** Scroll down past `node_modules` and framework internals. Find the absolute top-most function call that YOU wrote (e.g., `at UserList (src/components/UserList.tsx:45)`).
|
|
104
|
+
3. **The Parameter Conclusion:** Therefore, line 45 invoked `.map` on a variable that was `undefined`. Why did the parent layer pass `undefined` instead of `[]`?
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
|
|
111
|
+
|
|
112
|
+
1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
|
|
113
|
+
2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
|
|
114
|
+
3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
|
|
115
|
+
4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
116
|
+
5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
**Slash command: `/review` or `/tribunal-full`**
|
|
121
|
+
**Active reviewers: `logic-reviewer` · `security-auditor`**
|
|
122
|
+
|
|
123
|
+
### ❌ Forbidden AI Tropes
|
|
124
|
+
|
|
125
|
+
1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
|
|
126
|
+
2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
|
|
127
|
+
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
128
|
+
|
|
129
|
+
Review these questions before confirming output:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
✅ Did I rely ONLY on real, verified tools and methods?
|
|
133
|
+
✅ Is this solution appropriately scoped to the user's constraints?
|
|
134
|
+
✅ Did I handle potential failure modes and edge cases?
|
|
135
|
+
✅ Have I avoided generic boilerplate that doesn't add value?
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
139
|
+
|
|
140
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
141
|
+
|
|
142
|
+
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
143
|
+
- ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
|
|
144
|
+
|
|
145
|
+
## Pre-Flight Checklist
|
|
146
|
+
|
|
147
|
+
- [ ] Have I reviewed the user's specific constraints and requests?
|
|
148
|
+
- [ ] Have I checked the environment for relevant existing implementations?
|
|
149
|
+
|
|
150
|
+
## VBC Protocol (Verification-Before-Completion)
|
|
151
|
+
|
|
152
|
+
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
144
153
|
|
|
145
154
|
---
|
|
146
155
|
|
|
@@ -170,6 +179,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
|
|
|
170
179
|
### ✅ Pre-Flight Self-Audit
|
|
171
180
|
|
|
172
181
|
Review these questions before confirming output:
|
|
182
|
+
|
|
173
183
|
```
|
|
174
184
|
✅ Did I rely ONLY on real, verified tools and methods?
|
|
175
185
|
✅ Is this solution appropriately scoped to the user's constraints?
|
|
@@ -180,5 +190,6 @@ Review these questions before confirming output:
|
|
|
180
190
|
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
181
191
|
|
|
182
192
|
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
193
|
+
|
|
183
194
|
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
184
195
|
- ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
|