Phase 0 completion: NT8 SDK core framework with risk management and position sizing
Some checks failed
Build and Test / build (push) Has been cancelled
Some checks failed
Build and Test / build (push) Has been cancelled
This commit is contained in:
183
.aiconfig
Normal file
183
.aiconfig
Normal file
@@ -0,0 +1,183 @@
|
||||
# AI Agent Configuration for NT8 SDK
|
||||
|
||||
## Overview
|
||||
This configuration ensures AI agents maintain .NET Framework 4.8 compatibility and follow established patterns when working on the NT8 SDK project.
|
||||
|
||||
## Required Reading
|
||||
AI agents MUST review these documents before making any changes:
|
||||
1. `AI_DEVELOPMENT_GUIDELINES.md` - Core compatibility requirements
|
||||
2. `CODE_STYLE_GUIDE.md` - Required code patterns
|
||||
3. `CODE_REVIEW_CHECKLIST.md` - Pre-commit verification
|
||||
4. `NET_FRAMEWORK_CONVERSION.md` - Background on compatibility changes
|
||||
|
||||
## Project Constraints
|
||||
|
||||
### Hard Requirements (Non-Negotiable)
|
||||
- **Framework**: .NET Framework 4.8 ONLY
|
||||
- **Language**: C# 5.0 features ONLY
|
||||
- **Architecture**: Risk-first design pattern
|
||||
- **Testing**: MSTest framework ONLY
|
||||
- **Build**: Must pass `.\verify-build.bat` with zero errors
|
||||
|
||||
### Forbidden Technologies
|
||||
- .NET Core/.NET 5+/.NET 6+/.NET 9+
|
||||
- C# 6+ language features (records, nullable refs, string interpolation)
|
||||
- Microsoft.Extensions.* packages
|
||||
- xUnit, NUnit (use MSTest only)
|
||||
- Modern async patterns (use traditional async/await)
|
||||
|
||||
## Development Workflow
|
||||
|
||||
### Before Starting Any Task
|
||||
1. Run `.\verify-build.bat` to confirm baseline
|
||||
2. Review existing code patterns in the module you're working on
|
||||
3. Check `AI_DEVELOPMENT_GUIDELINES.md` for specific requirements
|
||||
|
||||
### During Development
|
||||
1. Follow patterns in `CODE_STYLE_GUIDE.md` exactly
|
||||
2. Use only C# 5.0 compatible syntax
|
||||
3. Maintain risk-first architecture
|
||||
4. Add unit tests for new functionality
|
||||
|
||||
### Before Committing
|
||||
1. Run `.\verify-build.bat` - MUST pass
|
||||
2. Complete `CODE_REVIEW_CHECKLIST.md`
|
||||
3. Verify no warnings in build output
|
||||
4. Ensure tests have adequate coverage
|
||||
|
||||
## Common Patterns to Follow
|
||||
|
||||
### Class Creation
|
||||
```csharp
|
||||
// Always follow this pattern
|
||||
public class NewClassName
|
||||
{
|
||||
private readonly ILogger _logger;
|
||||
|
||||
public Type PropertyName { get; set; }
|
||||
|
||||
public NewClassName(ILogger logger, Type parameter)
|
||||
{
|
||||
if (logger == null) throw new ArgumentNullException("logger");
|
||||
_logger = logger;
|
||||
PropertyName = parameter;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Method Implementation
|
||||
```csharp
|
||||
public ReturnType MethodName(Type parameter)
|
||||
{
|
||||
if (parameter == null) throw new ArgumentNullException("parameter");
|
||||
|
||||
try
|
||||
{
|
||||
// Implementation using C# 5.0 syntax only
|
||||
var result = ProcessParameter(parameter);
|
||||
_logger.LogDebug("Method completed: {0}", result);
|
||||
return result;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError("Method failed: {0}", ex.Message);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Testing Requirements
|
||||
|
||||
### Test Class Pattern
|
||||
```csharp
|
||||
[TestClass]
|
||||
public class NewClassNameTests
|
||||
{
|
||||
private NewClassName _target;
|
||||
private ILogger _logger;
|
||||
|
||||
[TestInitialize]
|
||||
public void TestInitialize()
|
||||
{
|
||||
_logger = new BasicLogger("NewClassNameTests");
|
||||
_target = new NewClassName(_logger, /* parameters */);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void MethodName_ValidInput_ShouldSucceed()
|
||||
{
|
||||
// Arrange, Act, Assert pattern
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Error Prevention
|
||||
|
||||
### Build Verification
|
||||
Always run this before committing:
|
||||
```bash
|
||||
.\verify-build.bat
|
||||
```
|
||||
|
||||
### Quick Syntax Check
|
||||
Common mistakes to avoid:
|
||||
- Using `record` instead of `class`
|
||||
- Using `string?` instead of `string`
|
||||
- Using `$"..."` instead of `String.Format()`
|
||||
- Using `new Dictionary<>() { ["key"] = value }` instead of `.Add()`
|
||||
|
||||
## Integration Points
|
||||
|
||||
### Risk Management Integration
|
||||
ALL trading logic must go through:
|
||||
```csharp
|
||||
var riskDecision = _riskManager.ValidateOrder(intent, context, config);
|
||||
if (!riskDecision.Allow)
|
||||
{
|
||||
// Handle rejection
|
||||
return;
|
||||
}
|
||||
```
|
||||
|
||||
### Logging Integration
|
||||
Use the custom logging system:
|
||||
```csharp
|
||||
_logger.LogInformation("Operation completed: {0}", result);
|
||||
_logger.LogError("Operation failed: {0}", error.Message);
|
||||
```
|
||||
|
||||
## Phase 1 Specific Guidelines
|
||||
|
||||
### Current Focus Areas
|
||||
- NT8 adapter implementations
|
||||
- Market data integration
|
||||
- Order execution system
|
||||
- Enhanced risk controls (Tier 2 only)
|
||||
|
||||
### Do NOT Implement
|
||||
- Features from Phases 2-6
|
||||
- UI components
|
||||
- Advanced analytics
|
||||
- Performance optimizations (until specified)
|
||||
|
||||
## Quality Gates
|
||||
|
||||
Every commit must pass:
|
||||
1. ✅ Compilation with zero errors
|
||||
2. ✅ Zero build warnings
|
||||
3. ✅ All tests passing
|
||||
4. ✅ C# 5.0 syntax compliance
|
||||
5. ✅ Architecture compliance
|
||||
6. ✅ Code style compliance
|
||||
|
||||
Failure of any quality gate = automatic rejection.
|
||||
|
||||
## Support and Escalation
|
||||
|
||||
If you encounter:
|
||||
- **Compatibility issues**: Review this configuration and guidelines
|
||||
- **Architecture questions**: Check existing implementations for patterns
|
||||
- **Build failures**: Run verification script and review error messages
|
||||
- **Uncertainty**: Flag for human review rather than guessing
|
||||
|
||||
Remember: **Maintaining NT8 compatibility is the highest priority.** When in doubt, use simpler, more traditional approaches.
|
||||
Reference in New Issue
Block a user