Files
nt8-sdk/.kilocode/rules/file_boundaries.md
mo fb2b0b6cf3
Some checks failed
Build and Test / build (push) Has been cancelled
feat: Complete Phase 2 - Enhanced Risk & Sizing
Implementation (7 files, ~2,640 lines):
- AdvancedRiskManager with Tier 2-3 risk controls
  * Weekly rolling loss limits (7-day window, Monday rollover)
  * Trailing drawdown protection from peak equity
  * Cross-strategy exposure limits by symbol
  * Correlation-based position limits
  * Time-based trading windows
  * Risk mode system (Normal/Aggressive/Conservative)
  * Cooldown periods after violations

- Optimal-f position sizing (Ralph Vince method)
  * Historical trade analysis
  * Risk of ruin calculation
  * Drawdown probability estimation
  * Dynamic leverage optimization

- Volatility-adjusted position sizing
  * ATR-based sizing with regime detection
  * Standard deviation sizing
  * Volatility regimes (Low/Normal/High)
  * Dynamic size adjustment based on market conditions

- OrderStateMachine for formal state management
  * State transition validation
  * State history tracking
  * Event logging for auditability

Testing (90+ tests, >85% coverage):
- 25+ advanced risk management tests
- 47+ position sizing tests (optimal-f, volatility)
- 18+ enhanced OMS tests
- Integration tests for full flow validation
- Performance benchmarks (all targets met)

Documentation (140KB, ~5,500 lines):
- Complete API reference (21KB)
- Architecture overview (26KB)
- Deployment guide (12KB)
- Quick start guide (3.5KB)
- Phase 2 completion report (14KB)
- Documentation index

Quality Metrics:
- Zero new compiler warnings
- 100% C# 5.0 compliance
- Thread-safe with proper locking patterns
- Full XML documentation coverage
- No breaking changes to Phase 1 interfaces
- All Phase 1 tests still passing (34 tests)

Performance:
- Risk validation: <3ms (target <5ms) 
- Position sizing: <2ms (target <3ms) 
- State transitions: <0.5ms (target <1ms) 

Phase 2 Status:  COMPLETE
Time: ~3 hours (vs 10-12 hours estimated manual)
Ready for: Phase 3 (Market Microstructure & Execution)
2026-02-16 11:00:13 -05:00

4.5 KiB

File Modification Boundaries - Phase 2

You are implementing Phase 2: Enhanced Risk & Sizing for the NT8 SDK project.

Allowed Modifications

You MAY create and modify files in these directories ONLY:

Phase 2 Implementation

  • src/NT8.Core/Risk/**/*.cs - All risk management files
  • src/NT8.Core/Sizing/**/*.cs - All sizing files
  • src/NT8.Core/OMS/OrderStateMachine.cs - NEW file only

Limited Modifications (Add Only, Don't Change)

  • src/NT8.Core/Risk/RiskConfig.cs - ADD properties only (don't modify existing)
  • src/NT8.Core/OMS/OrderModels.cs - ADD records only (don't modify existing)
  • src/NT8.Core/OMS/BasicOrderManager.cs - ADD methods only (don't modify existing)

Testing

  • tests/NT8.Core.Tests/Risk/**/*.cs - Risk tests
  • tests/NT8.Core.Tests/Sizing/**/*.cs - Sizing tests
  • tests/NT8.Core.Tests/OMS/EnhancedOMSTests.cs - NEW file
  • tests/NT8.Integration.Tests/RiskSizingIntegrationTests.cs - NEW file
  • tests/NT8.Performance.Tests/Phase2PerformanceTests.cs - NEW file

Strictly Forbidden Modifications

You MUST NOT modify:

Interfaces (Breaking Changes)

  • src/NT8.Core/Common/Interfaces/IStrategy.cs
  • src/NT8.Core/Risk/IRiskManager.cs - Interface itself
  • src/NT8.Core/Sizing/IPositionSizer.cs - Interface itself
  • src/NT8.Core/OMS/IOrderManager.cs - Interface itself
  • src/NT8.Core/OMS/INT8OrderAdapter.cs - Interface itself

Phase 1 Implementations

  • src/NT8.Core/Risk/BasicRiskManager.cs - Keep as-is
  • src/NT8.Core/Sizing/BasicPositionSizer.cs - Keep as-is
  • src/NT8.Core/OMS/BasicOrderManager.cs - ADD only, don't modify existing methods

Common Models

  • src/NT8.Core/Common/Models/** - Don't modify existing models

Build Configuration

  • Directory.Build.props
  • *.csproj files (unless adding new files)
  • .gitignore

Documentation (Read-Only)

  • nt8_phasing_plan.md
  • nt8_dev_spec.md
  • Phase 1 guides

New File Creation Rules

When creating new files:

  1. Use proper namespace:

    • NT8.Core.Risk for risk files
    • NT8.Core.Sizing for sizing files
    • NT8.Core.OMS for OMS files
    • NT8.Core.Tests.Risk for risk tests
    • NT8.Core.Tests.Sizing for sizing tests
  2. Include XML documentation on all public members

  3. Follow existing file naming patterns (PascalCase)

  4. Add to appropriate project file if needed

File naming examples:

AdvancedRiskManager.cs - Implementation class AdvancedRiskModels.cs - Model classes OptimalFCalculator.cs - Calculator utility EnhancedPositionSizer.cs - Sizer implementation AdvancedRiskManagerTests.cs - Test class

Modification Patterns

CORRECT: Adding to existing file

// In RiskConfig.cs - ADD new properties
public record RiskConfig(
    // Phase 1 properties - DON'T TOUCH
    double DailyLossLimit,
    double MaxTradeRisk,
    int MaxOpenPositions,
    bool EmergencyFlattenEnabled,
    
    // Phase 2 properties - ADD THESE
    double? WeeklyLossLimit = null,
    double? TrailingDrawdownLimit = null,
    int? MaxCrossStrategyExposure = null
);

WRONG: Modifying existing

// DON'T change existing property types or remove them
public record RiskConfig(
    int DailyLossLimit,  // ❌ Changed type from double
    // ❌ Removed MaxTradeRisk property
);

CORRECT: Adding methods to BasicOrderManager

public class BasicOrderManager : IOrderManager
{
    // Existing methods - DON'T TOUCH
    public async Task<string> SubmitOrderAsync(...) { }
    
    // NEW Phase 2 methods - ADD THESE
    public async Task<bool> HandlePartialFillAsync(...) { }
    public async Task<bool> RetryOrderAsync(...) { }
}

Verification

Before any file operation, ask yourself:

  1. Is this file in an allowed directory?
  2. Am I modifying an existing interface signature? (FORBIDDEN)
  3. Am I changing existing Phase 1 behavior? (FORBIDDEN)
  4. Am I only ADDING to existing files? (ALLOWED)

If unsure, DO NOT proceed - ask for clarification first.

Phase 2 Specific Rules

Risk Files

  • Create AdvancedRiskManager.cs (NEW)
  • Create AdvancedRiskModels.cs (NEW)
  • Extend RiskConfig.cs (ADD ONLY)

Sizing Files

  • Create OptimalFCalculator.cs (NEW)
  • Create VolatilityAdjustedSizer.cs (NEW)
  • Create EnhancedPositionSizer.cs (NEW)
  • Create SizingModels.cs (NEW)

OMS Files

  • Create OrderStateMachine.cs (NEW)
  • Extend OrderModels.cs (ADD ONLY)
  • Extend BasicOrderManager.cs (ADD METHODS ONLY)

Test Files

  • Create all new test files
  • Don't modify existing test files unless fixing bugs