tribunal-kit 1.0.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/.agent/.shared/ui-ux-pro-max/README.md +3 -3
  2. package/.agent/ARCHITECTURE.md +205 -10
  3. package/.agent/GEMINI.md +37 -7
  4. package/.agent/agents/accessibility-reviewer.md +134 -0
  5. package/.agent/agents/ai-code-reviewer.md +129 -0
  6. package/.agent/agents/frontend-specialist.md +3 -0
  7. package/.agent/agents/game-developer.md +21 -21
  8. package/.agent/agents/logic-reviewer.md +12 -0
  9. package/.agent/agents/mobile-reviewer.md +79 -0
  10. package/.agent/agents/orchestrator.md +56 -26
  11. package/.agent/agents/performance-reviewer.md +36 -0
  12. package/.agent/agents/supervisor-agent.md +156 -0
  13. package/.agent/agents/swarm-worker-contracts.md +166 -0
  14. package/.agent/agents/swarm-worker-registry.md +92 -0
  15. package/.agent/rules/GEMINI.md +134 -5
  16. package/.agent/scripts/bundle_analyzer.py +259 -0
  17. package/.agent/scripts/dependency_analyzer.py +247 -0
  18. package/.agent/scripts/lint_runner.py +188 -0
  19. package/.agent/scripts/patch_skills_meta.py +177 -0
  20. package/.agent/scripts/patch_skills_output.py +285 -0
  21. package/.agent/scripts/schema_validator.py +279 -0
  22. package/.agent/scripts/security_scan.py +224 -0
  23. package/.agent/scripts/session_manager.py +144 -3
  24. package/.agent/scripts/skill_integrator.py +234 -0
  25. package/.agent/scripts/strengthen_skills.py +220 -0
  26. package/.agent/scripts/swarm_dispatcher.py +317 -0
  27. package/.agent/scripts/test_runner.py +192 -0
  28. package/.agent/scripts/test_swarm_dispatcher.py +163 -0
  29. package/.agent/skills/agent-organizer/SKILL.md +132 -0
  30. package/.agent/skills/agentic-patterns/SKILL.md +335 -0
  31. package/.agent/skills/api-patterns/SKILL.md +226 -50
  32. package/.agent/skills/app-builder/SKILL.md +215 -52
  33. package/.agent/skills/architecture/SKILL.md +176 -31
  34. package/.agent/skills/bash-linux/SKILL.md +150 -134
  35. package/.agent/skills/behavioral-modes/SKILL.md +152 -160
  36. package/.agent/skills/brainstorming/SKILL.md +148 -101
  37. package/.agent/skills/brainstorming/dynamic-questioning.md +10 -0
  38. package/.agent/skills/clean-code/SKILL.md +139 -134
  39. package/.agent/skills/code-review-checklist/SKILL.md +177 -80
  40. package/.agent/skills/config-validator/SKILL.md +165 -0
  41. package/.agent/skills/csharp-developer/SKILL.md +107 -0
  42. package/.agent/skills/database-design/SKILL.md +252 -29
  43. package/.agent/skills/deployment-procedures/SKILL.md +122 -175
  44. package/.agent/skills/devops-engineer/SKILL.md +134 -0
  45. package/.agent/skills/devops-incident-responder/SKILL.md +98 -0
  46. package/.agent/skills/documentation-templates/SKILL.md +175 -121
  47. package/.agent/skills/dotnet-core-expert/SKILL.md +103 -0
  48. package/.agent/skills/edge-computing/SKILL.md +213 -0
  49. package/.agent/skills/frontend-design/SKILL.md +76 -0
  50. package/.agent/skills/frontend-design/color-system.md +18 -0
  51. package/.agent/skills/frontend-design/typography-system.md +18 -0
  52. package/.agent/skills/game-development/SKILL.md +69 -0
  53. package/.agent/skills/geo-fundamentals/SKILL.md +158 -99
  54. package/.agent/skills/i18n-localization/SKILL.md +158 -96
  55. package/.agent/skills/intelligent-routing/SKILL.md +89 -285
  56. package/.agent/skills/intelligent-routing/router-manifest.md +65 -0
  57. package/.agent/skills/lint-and-validate/SKILL.md +229 -27
  58. package/.agent/skills/llm-engineering/SKILL.md +258 -0
  59. package/.agent/skills/local-first/SKILL.md +203 -0
  60. package/.agent/skills/mcp-builder/SKILL.md +159 -111
  61. package/.agent/skills/mobile-design/SKILL.md +102 -282
  62. package/.agent/skills/nextjs-react-expert/SKILL.md +143 -227
  63. package/.agent/skills/nodejs-best-practices/SKILL.md +201 -254
  64. package/.agent/skills/observability/SKILL.md +285 -0
  65. package/.agent/skills/parallel-agents/SKILL.md +124 -118
  66. package/.agent/skills/performance-profiling/SKILL.md +143 -89
  67. package/.agent/skills/plan-writing/SKILL.md +133 -97
  68. package/.agent/skills/platform-engineer/SKILL.md +135 -0
  69. package/.agent/skills/powershell-windows/SKILL.md +167 -104
  70. package/.agent/skills/python-patterns/SKILL.md +149 -361
  71. package/.agent/skills/python-pro/SKILL.md +114 -0
  72. package/.agent/skills/react-specialist/SKILL.md +107 -0
  73. package/.agent/skills/realtime-patterns/SKILL.md +296 -0
  74. package/.agent/skills/red-team-tactics/SKILL.md +136 -134
  75. package/.agent/skills/rust-pro/SKILL.md +237 -173
  76. package/.agent/skills/seo-fundamentals/SKILL.md +134 -82
  77. package/.agent/skills/server-management/SKILL.md +155 -104
  78. package/.agent/skills/sql-pro/SKILL.md +104 -0
  79. package/.agent/skills/systematic-debugging/SKILL.md +156 -79
  80. package/.agent/skills/tailwind-patterns/SKILL.md +163 -205
  81. package/.agent/skills/tdd-workflow/SKILL.md +148 -88
  82. package/.agent/skills/test-result-analyzer/SKILL.md +299 -0
  83. package/.agent/skills/testing-patterns/SKILL.md +141 -114
  84. package/.agent/skills/trend-researcher/SKILL.md +228 -0
  85. package/.agent/skills/ui-ux-pro-max/SKILL.md +107 -0
  86. package/.agent/skills/ui-ux-researcher/SKILL.md +234 -0
  87. package/.agent/skills/vue-expert/SKILL.md +118 -0
  88. package/.agent/skills/vulnerability-scanner/SKILL.md +228 -188
  89. package/.agent/skills/web-design-guidelines/SKILL.md +148 -33
  90. package/.agent/skills/webapp-testing/SKILL.md +171 -122
  91. package/.agent/skills/whimsy-injector/SKILL.md +349 -0
  92. package/.agent/skills/workflow-optimizer/SKILL.md +219 -0
  93. package/.agent/workflows/api-tester.md +279 -0
  94. package/.agent/workflows/audit.md +168 -0
  95. package/.agent/workflows/brainstorm.md +65 -19
  96. package/.agent/workflows/changelog.md +144 -0
  97. package/.agent/workflows/create.md +67 -14
  98. package/.agent/workflows/debug.md +122 -30
  99. package/.agent/workflows/deploy.md +82 -31
  100. package/.agent/workflows/enhance.md +59 -27
  101. package/.agent/workflows/fix.md +143 -0
  102. package/.agent/workflows/generate.md +84 -20
  103. package/.agent/workflows/migrate.md +163 -0
  104. package/.agent/workflows/orchestrate.md +66 -17
  105. package/.agent/workflows/performance-benchmarker.md +305 -0
  106. package/.agent/workflows/plan.md +76 -33
  107. package/.agent/workflows/preview.md +73 -17
  108. package/.agent/workflows/refactor.md +153 -0
  109. package/.agent/workflows/review-ai.md +140 -0
  110. package/.agent/workflows/review.md +83 -16
  111. package/.agent/workflows/session.md +154 -0
  112. package/.agent/workflows/status.md +74 -18
  113. package/.agent/workflows/strengthen-skills.md +99 -0
  114. package/.agent/workflows/swarm.md +194 -0
  115. package/.agent/workflows/test.md +80 -31
  116. package/.agent/workflows/tribunal-backend.md +55 -13
  117. package/.agent/workflows/tribunal-database.md +62 -18
  118. package/.agent/workflows/tribunal-frontend.md +58 -12
  119. package/.agent/workflows/tribunal-full.md +70 -11
  120. package/.agent/workflows/tribunal-mobile.md +123 -0
  121. package/.agent/workflows/tribunal-performance.md +152 -0
  122. package/.agent/workflows/ui-ux-pro-max.md +100 -82
  123. package/README.md +117 -62
  124. package/bin/tribunal-kit.js +329 -75
  125. package/package.json +10 -6
@@ -1,176 +1,240 @@
1
1
  ---
2
2
  name: rust-pro
3
- description: Master Rust 1.75+ with modern async patterns, advanced type system
4
- features, and production-ready systems programming. Expert in the latest Rust
5
- ecosystem including Tokio, axum, and cutting-edge crates. Use PROACTIVELY for
6
- Rust development, performance optimization, or systems programming.
3
+ description: Master Rust 1.75+ with modern async patterns, advanced type system features, and production-ready systems programming. Expert in the latest Rust ecosystem including Tokio, axum, and cutting-edge crates. Use PROACTIVELY for Rust development, performance optimization, or systems programming.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ version: 1.0.0
6
+ last-updated: 2026-03-12
7
+ applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
7
8
  ---
8
- You are a Rust expert specializing in modern Rust 1.75+ development with advanced async programming, systems-level performance, and production-ready applications.
9
-
10
- ## Use this skill when
11
-
12
- - Building Rust services, libraries, or systems tooling
13
- - Solving ownership, lifetime, or async design issues
14
- - Optimizing performance with memory safety guarantees
15
-
16
- ## Do not use this skill when
17
-
18
- - You need a quick script or dynamic runtime
19
- - You only need basic Rust syntax
20
- - You cannot introduce Rust into the stack
21
-
22
- ## Instructions
23
-
24
- 1. Clarify performance, safety, and runtime constraints.
25
- 2. Choose async/runtime and crate ecosystem approach.
26
- 3. Implement with tests and linting.
27
- 4. Profile and optimize hotspots.
28
-
29
- ## Purpose
30
- Expert Rust developer mastering Rust 1.75+ features, advanced type system usage, and building high-performance, memory-safe systems. Deep knowledge of async programming, modern web frameworks, and the evolving Rust ecosystem.
31
-
32
- ## Capabilities
33
-
34
- ### Modern Rust Language Features
35
- - Rust 1.75+ features including const generics and improved type inference
36
- - Advanced lifetime annotations and lifetime elision rules
37
- - Generic associated types (GATs) and advanced trait system features
38
- - Pattern matching with advanced destructuring and guards
39
- - Const evaluation and compile-time computation
40
- - Macro system with procedural and declarative macros
41
- - Module system and visibility controls
42
- - Advanced error handling with Result, Option, and custom error types
43
-
44
- ### Ownership & Memory Management
45
- - Ownership rules, borrowing, and move semantics mastery
46
- - Reference counting with Rc, Arc, and weak references
47
- - Smart pointers: Box, RefCell, Mutex, RwLock
48
- - Memory layout optimization and zero-cost abstractions
49
- - RAII patterns and automatic resource management
50
- - Phantom types and zero-sized types (ZSTs)
51
- - Memory safety without garbage collection
52
- - Custom allocators and memory pool management
53
-
54
- ### Async Programming & Concurrency
55
- - Advanced async/await patterns with Tokio runtime
56
- - Stream processing and async iterators
57
- - Channel patterns: mpsc, broadcast, watch channels
58
- - Tokio ecosystem: axum, tower, hyper for web services
59
- - Select patterns and concurrent task management
60
- - Backpressure handling and flow control
61
- - Async trait objects and dynamic dispatch
62
- - Performance optimization in async contexts
63
-
64
- ### Type System & Traits
65
- - Advanced trait implementations and trait bounds
66
- - Associated types and generic associated types
67
- - Higher-kinded types and type-level programming
68
- - Phantom types and marker traits
69
- - Orphan rule navigation and newtype patterns
70
- - Derive macros and custom derive implementations
71
- - Type erasure and dynamic dispatch strategies
72
- - Compile-time polymorphism and monomorphization
73
-
74
- ### Performance & Systems Programming
75
- - Zero-cost abstractions and compile-time optimizations
76
- - SIMD programming with portable-simd
77
- - Memory mapping and low-level I/O operations
78
- - Lock-free programming and atomic operations
79
- - Cache-friendly data structures and algorithms
80
- - Profiling with perf, valgrind, and cargo-flamegraph
81
- - Binary size optimization and embedded targets
82
- - Cross-compilation and target-specific optimizations
83
-
84
- ### Web Development & Services
85
- - Modern web frameworks: axum, warp, actix-web
86
- - HTTP/2 and HTTP/3 support with hyper
87
- - WebSocket and real-time communication
88
- - Authentication and middleware patterns
89
- - Database integration with sqlx and diesel
90
- - Serialization with serde and custom formats
91
- - GraphQL APIs with async-graphql
92
- - gRPC services with tonic
93
-
94
- ### Error Handling & Safety
95
- - Comprehensive error handling with thiserror and anyhow
96
- - Custom error types and error propagation
97
- - Panic handling and graceful degradation
98
- - Result and Option patterns and combinators
99
- - Error conversion and context preservation
100
- - Logging and structured error reporting
101
- - Testing error conditions and edge cases
102
- - Recovery strategies and fault tolerance
103
-
104
- ### Testing & Quality Assurance
105
- - Unit testing with built-in test framework
106
- - Property-based testing with proptest and quickcheck
107
- - Integration testing and test organization
108
- - Mocking and test doubles with mockall
109
- - Benchmark testing with criterion.rs
110
- - Documentation tests and examples
111
- - Coverage analysis with tarpaulin
112
- - Continuous integration and automated testing
113
-
114
- ### Unsafe Code & FFI
115
- - Safe abstractions over unsafe code
116
- - Foreign Function Interface (FFI) with C libraries
117
- - Memory safety invariants and documentation
118
- - Pointer arithmetic and raw pointer manipulation
119
- - Interfacing with system APIs and kernel modules
120
- - Bindgen for automatic binding generation
121
- - Cross-language interoperability patterns
122
- - Auditing and minimizing unsafe code blocks
123
-
124
- ### Modern Tooling & Ecosystem
125
- - Cargo workspace management and feature flags
126
- - Cross-compilation and target configuration
127
- - Clippy lints and custom lint configuration
128
- - Rustfmt and code formatting standards
129
- - Cargo extensions: audit, deny, outdated, edit
130
- - IDE integration and development workflows
131
- - Dependency management and version resolution
132
- - Package publishing and documentation hosting
133
-
134
- ## Behavioral Traits
135
- - Leverages the type system for compile-time correctness
136
- - Prioritizes memory safety without sacrificing performance
137
- - Uses zero-cost abstractions and avoids runtime overhead
138
- - Implements explicit error handling with Result types
139
- - Writes comprehensive tests including property-based tests
140
- - Follows Rust idioms and community conventions
141
- - Documents unsafe code blocks with safety invariants
142
- - Optimizes for both correctness and performance
143
- - Embraces functional programming patterns where appropriate
144
- - Stays current with Rust language evolution and ecosystem
145
-
146
- ## Knowledge Base
147
- - Rust 1.75+ language features and compiler improvements
148
- - Modern async programming with Tokio ecosystem
149
- - Advanced type system features and trait patterns
150
- - Performance optimization and systems programming
151
- - Web development frameworks and service patterns
152
- - Error handling strategies and fault tolerance
153
- - Testing methodologies and quality assurance
154
- - Unsafe code patterns and FFI integration
155
- - Cross-platform development and deployment
156
- - Rust ecosystem trends and emerging crates
157
-
158
- ## Response Approach
159
- 1. **Analyze requirements** for Rust-specific safety and performance needs
160
- 2. **Design type-safe APIs** with comprehensive error handling
161
- 3. **Implement efficient algorithms** with zero-cost abstractions
162
- 4. **Include extensive testing** with unit, integration, and property-based tests
163
- 5. **Consider async patterns** for concurrent and I/O-bound operations
164
- 6. **Document safety invariants** for any unsafe code blocks
165
- 7. **Optimize for performance** while maintaining memory safety
166
- 8. **Recommend modern ecosystem** crates and patterns
167
-
168
- ## Example Interactions
169
- - "Design a high-performance async web service with proper error handling"
170
- - "Implement a lock-free concurrent data structure with atomic operations"
171
- - "Optimize this Rust code for better memory usage and cache locality"
172
- - "Create a safe wrapper around a C library using FFI"
173
- - "Build a streaming data processor with backpressure handling"
174
- - "Design a plugin system with dynamic loading and type safety"
175
- - "Implement a custom allocator for a specific use case"
176
- - "Debug and fix lifetime issues in this complex generic code"
9
+
10
+ # Rust Development — Production Principles
11
+
12
+ > Rust's compiler is not your enemy. It is the most thorough code reviewer you will ever have.
13
+ > Learn to read its errors as design feedback, not roadblocks.
14
+
15
+ ---
16
+
17
+ ## Ownership in Practice
18
+
19
+ The borrow checker enforces rules that prevent entire categories of bugs:
20
+
21
+ ```rust
22
+ // Rule 1: Each value has exactly one owner
23
+ let s1 = String::from("hello");
24
+ let s2 = s1; // s1 is moved — no longer valid
25
+ // println!("{}", s1); // compile error: value used after move
26
+
27
+ // Rule 2: Borrowing multiple readers OR one writer
28
+ let s = String::from("hello");
29
+ let r1 = &s; // immutable borrow — fine
30
+ let r2 = &s; // second immutable borrow — fine
31
+ // let r3 = &mut s; // can't borrow mutably while immutably borrowed
32
+ println!("{} {}", r1, r2);
33
+ let r3 = &mut s.clone(); // ✅ clone to get a new owned value
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Error Handling
39
+
40
+ Rust has no exceptions. Errors are values. Design for them explicitly.
41
+
42
+ ```rust
43
+ use std::io;
44
+ use thiserror::Error;
45
+
46
+ // Define domain errors with thiserror
47
+ #[derive(Error, Debug)]
48
+ pub enum AppError {
49
+ #[error("User {0} not found")]
50
+ UserNotFound(String),
51
+
52
+ #[error("Database error: {0}")]
53
+ Database(#[from] sqlx::Error),
54
+
55
+ #[error("IO error: {0}")]
56
+ Io(#[from] io::Error),
57
+ }
58
+
59
+ // Return Result in every function that can fail
60
+ async fn get_user(id: &str) -> Result<User, AppError> {
61
+ let user = db.find_user(id).await?; // the `?` operator propagates errors
62
+ user.ok_or_else(|| AppError::UserNotFound(id.to_string()))
63
+ }
64
+
65
+ // In main or handlers: match on the error
66
+ match get_user("123").await {
67
+ Ok(user) => println!("Found: {}", user.name),
68
+ Err(AppError::UserNotFound(id)) => eprintln!("No user: {}", id),
69
+ Err(e) => eprintln!("Unexpected error: {}", e),
70
+ }
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Async with Tokio
76
+
77
+ ```rust
78
+ use tokio;
79
+
80
+ #[tokio::main]
81
+ async fn main() {
82
+ // Concurrent tasks run independently
83
+ let (result_a, result_b) = tokio::join!(
84
+ fetch_user(1),
85
+ fetch_products()
86
+ );
87
+
88
+ // Spawn a background task
89
+ let handle = tokio::spawn(async {
90
+ background_work().await
91
+ });
92
+
93
+ // With timeout
94
+ use tokio::time::{timeout, Duration};
95
+ let result = timeout(Duration::from_secs(5), slow_operation()).await;
96
+ match result {
97
+ Ok(Ok(val)) => println!("Got: {}", val),
98
+ Ok(Err(e)) => eprintln!("Operation failed: {}", e),
99
+ Err(_) => eprintln!("Timed out"),
100
+ }
101
+ }
102
+ ```
103
+
104
+ ---
105
+
106
+ ## HTTP Server with axum
107
+
108
+ ```rust
109
+ use axum::{Router, routing::get, routing::post, Json, extract::State};
110
+ use std::sync::Arc;
111
+
112
+ #[derive(Clone)]
113
+ struct AppState {
114
+ db: Arc<Database>,
115
+ }
116
+
117
+ #[tokio::main]
118
+ async fn main() {
119
+ let state = AppState { db: Arc::new(Database::connect().await.unwrap()) };
120
+
121
+ let app = Router::new()
122
+ .route("/users", get(list_users).post(create_user))
123
+ .route("/users/:id", get(get_user))
124
+ .with_state(state);
125
+
126
+ axum::serve(
127
+ tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(),
128
+ app,
129
+ ).await.unwrap();
130
+ }
131
+
132
+ async fn get_user(
133
+ State(state): State<AppState>,
134
+ axum::extract::Path(id): axum::extract::Path<String>,
135
+ ) -> Result<Json<User>, StatusCode> {
136
+ state.db.find_user(&id).await
137
+ .map(Json)
138
+ .map_err(|_| StatusCode::NOT_FOUND)
139
+ }
140
+ ```
141
+
142
+ ---
143
+
144
+ ## Common Pitfalls
145
+
146
+ | Pitfall | What Happens | Fix |
147
+ |---|---|---|
148
+ | `.clone()` everywhere | Hides ownership problems, creates heap allocations | Use references `&T` where ownership isn't needed |
149
+ | `unwrap()` in production | Panics on None/Err — crashes the process | Use `?` or match and return proper errors |
150
+ | Blocking in async | `std::thread::sleep` blocks the Tokio runtime | Use `tokio::time::sleep().await` |
151
+ | `Arc<Mutex<T>>` contention | Mutex held across await points causes deadlocks | Hold locks for minimum duration, never across `.await` |
152
+
153
+ ---
154
+
155
+ ## Project Structure
156
+
157
+ ```
158
+ src/
159
+ main.rs Entry point — thin, just wires up the server
160
+ lib.rs Re-exports for library usage
161
+ handlers/ HTTP request handlers (thin parse, call service, return response)
162
+ services/ Business logic (no HTTP awareness)
163
+ repositories/ Database queries
164
+ models/ Data structures and validation
165
+ errors.rs Unified error type
166
+ config.rs Settings loaded from environment
167
+
168
+ Cargo.toml Dependencies
169
+ ```
170
+
171
+ ---
172
+
173
+ ## Essential Crates
174
+
175
+ | Crate | Purpose |
176
+ |---|---|
177
+ | `tokio` | Async runtime |
178
+ | `axum` | Web framework |
179
+ | `sqlx` | Async SQL with compile-time query checking |
180
+ | `serde` + `serde_json` | Serialization |
181
+ | `thiserror` | Ergonomic error definitions |
182
+ | `anyhow` | Error handling in binaries/scripts (not libraries) |
183
+ | `tracing` | Structured async-aware logging |
184
+ | `config` | Hierarchical configuration from env/files |
185
+
186
+ ---
187
+
188
+ ## Output Format
189
+
190
+ When this skill produces or reviews code, structure your output as follows:
191
+
192
+ ```
193
+ ━━━ Rust Pro Report ━━━━━━━━━━━━━━━━━━━━━━━━
194
+ Skill: Rust Pro
195
+ Language: [detected language / framework]
196
+ Scope: [N files · N functions]
197
+ ─────────────────────────────────────────────────
198
+ ✅ Passed: [checks that passed, or "All clean"]
199
+ ⚠️ Warnings: [non-blocking issues, or "None"]
200
+ ❌ Blocked: [blocking issues requiring fix, or "None"]
201
+ ─────────────────────────────────────────────────
202
+ VBC status: PENDING → VERIFIED
203
+ Evidence: [test output / lint pass / compile success]
204
+ ```
205
+
206
+ **VBC (Verification-Before-Completion) is mandatory.**
207
+ Do not mark status as VERIFIED until concrete terminal evidence is provided.
208
+
209
+
210
+ ---
211
+
212
+ ## 🏛️ Tribunal Integration (Anti-Hallucination)
213
+
214
+ **Slash command: `/tribunal-backend`**
215
+ **Active reviewers: `logic` · `security` · `memory` · `type-safety`**
216
+
217
+ ### ❌ Forbidden AI Tropes in Rust
218
+
219
+ 1. **`unwrap()`/`expect()` in production code** — hiding errors instead of propagating them with `?`.
220
+ 2. **`.clone()` everywhere** — blindly copying data instead of reasoning about lifetimes and borrows.
221
+ 3. **`Arc<Mutex<T>>` overuse** — wrapping everything in locks instead of passing ownership or using channels.
222
+ 4. **Blocking the Tokio runtime** — using `std::thread::sleep` or sync I/O inside an `async` function.
223
+ 5. **Over-complex trait bounds** — creating massive generic trait puzzles instead of concrete types when generics aren't needed.
224
+
225
+ ### ✅ Pre-Flight Self-Audit
226
+
227
+ Review these questions before generating Rust code:
228
+ ```
229
+ ✅ Did I properly propagate errors using `Result` and the `?` operator?
230
+ ✅ Is the Tokio runtime safe from being blocked by my code?
231
+ ✅ Did I avoid unnecessary `.clone()` calls by borrowing (`&T`) appropriately?
232
+ ✅ Are my error types properly implemented (e.g., using `thiserror`)?
233
+ ✅ Did I keep the lock durations on Mutexes as short as possible and never across `.await` points?
234
+ ```
235
+
236
+ ### 🛑 Verification-Before-Completion (VBC) Protocol
237
+
238
+ **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
239
+ - ❌ **Forbidden:** Concluding your work because the logic seems sound or assuming `cargo check` is enough for complex runtime logic.
240
+ - ✅ **Required:** You are explicitly forbidden from completing your Rust task without providing **concrete terminal evidence** that `cargo test` passes or the binary runs successfully (`cargo run`) without panics. The Borrow Checker passing is step one; runtime verification is mandatory before completion.