# NT8 SDK - Code Review Checklist ## Pre-Commit Checklist for AI Agents ### ✅ Compatibility Check - [ ] All projects target `net48` - [ ] Language version set to `5.0` in all projects - [ ] No modern C# features used (records, nullable refs, string interpolation) - [ ] No .NET Core packages added - [ ] `.\verify-build.bat` passes with zero errors ### ✅ Architecture Compliance - [ ] All trading logic goes through IRiskManager - [ ] Strategies are thin plugins (signal generation only) - [ ] No direct market access from strategies - [ ] Proper error handling and logging ### ✅ Code Quality - [ ] All classes have proper constructors (no auto-properties with initializers) - [ ] Dictionary initialization uses `.Add()` method - [ ] String formatting uses `String.Format()` not interpolation - [ ] All interfaces properly implemented - [ ] Unit tests included for new functionality ### ✅ Testing Requirements - [ ] MSTest framework used (not xUnit) - [ ] Test coverage >80% for core components - [ ] All risk scenarios tested - [ ] Integration tests work with mock data ## Common Rejection Reasons ### ❌ Automatic Rejection 1. **Uses C# 6+ features** (records, nullable refs, etc.) 2. **Targets wrong framework** (.NET Core instead of Framework 4.8) 3. **Adds incompatible packages** (Microsoft.Extensions.*) 4. **Bypasses risk management** (direct order submission) 5. **Build fails** (compilation errors, warnings) ### ⚠️ Review Required 1. **Complex inheritance hierarchies** 2. **Performance-critical code** (may need optimization later) 3. **External dependencies** (evaluate NT8 compatibility) 4. **Configuration changes** (verify impact on existing functionality) ## Review Process ### For Human Reviewers 1. **Run verification**: `.\verify-build.bat` 2. **Check guidelines**: Verify compliance with `AI_DEVELOPMENT_GUIDELINES.md` 3. **Test coverage**: Ensure new features have adequate tests 4. **Architecture review**: Confirm risk-first design maintained ### For AI Agents 1. **Self-check**: Use this checklist before submitting 2. **Build verification**: Always run build verification 3. **Pattern matching**: Follow existing code patterns in the repo 4. **Documentation**: Update relevant docs if needed ## Phase-Specific Guidelines ### Current Phase (Phase 1) - Focus on NT8 integration only - Implement basic order management - Enhance risk controls (Tier 2) - No UI work or advanced features ### Future Phases - Will be specified in separate guidelines - Do not implement features from future phases - Stay within current phase scope ## Examples of Good vs Bad Code ### ✅ Good (C# 5.0 Compatible) ```csharp public class RiskDecision { public bool Allow { get; set; } public string RejectReason { get; set; } public RiskDecision(bool allow, string rejectReason) { Allow = allow; RejectReason = rejectReason; } } var metrics = new Dictionary(); metrics.Add("risk", 100.0); metrics.Add("reason", "Daily limit"); ``` ### ❌ Bad (Modern C# - Will Not Compile) ```csharp public record RiskDecision(bool Allow, string? RejectReason); var metrics = new Dictionary { ["risk"] = 100.0, ["reason"] = "Daily limit" }; ``` This checklist should be used by AI agents before every commit and by human reviewers for all pull requests.