Files
nt8-sdk/.kilocode/rules/file_boundaries.md
2026-02-24 15:00:41 -05:00

2.3 KiB

File Modification Boundaries — Production Hardening

You are fixing specific gaps. These are the ONLY files you may touch.


Files You MAY Modify

File What to Change
src/NT8.Adapters/Strategies/NT8StrategyBase.cs Add EnableKillSwitch, EnableVerboseLogging NinjaScript params; add kill switch early-exit in OnBarUpdate; wire ExecutionCircuitBreaker; call _circuitBreaker.RecordOrderRejection() from OnOrderUpdate
src/NT8.Core/Execution/TrailingStopManager.cs Fix CalculateNewStopPrice() — replace placeholder math with real formulas for FixedTrailing, ATRTrailing, Chandelier
src/NT8.Core/Logging/BasicLogger.cs Add LogLevel MinimumLevel property; skip writes below minimum level
src/NT8.Core/MarketData/SessionManager.cs Add static CME holiday list; update IsRegularTradingHours() to return false on holidays

Files You MAY Create (New)

File Purpose
tests/NT8.Core.Tests/Execution/TrailingStopManagerFixedTests.cs Unit tests for fixed trailing stop calculations

Files You Must NOT Touch

File / Directory Reason
src/NT8.Adapters/NinjaTrader/NT8OrderAdapter.cs The stub does NOT block execution — NT8StrategyBase.SubmitOrderToNT8() is what submits orders. Leave the adapter alone.
src/NT8.Adapters/Strategies/SimpleORBNT8.cs Strategy wrapper is correct
src/NT8.Strategies/Examples/SimpleORBStrategy.cs Strategy logic is correct
src/NT8.Core/OMS/** Complete and tested
src/NT8.Core/Risk/** Complete and tested
src/NT8.Core/Sizing/** Complete and tested
src/NT8.Core/Intelligence/** Complete and tested
src/NT8.Core/Analytics/** Complete and tested
src/NT8.Core/Execution/ExecutionCircuitBreaker.cs Already correct — only instantiate and use it, don't modify
src/NT8.Core/Common/** Interfaces and models — never touch
Directory.Build.props Never touch
*.csproj Never touch
Any existing passing test file Do not break passing tests

Quick Self-Check

Before editing any file, ask:

  1. Is this file in the allowed list above?
  2. Am I changing an interface? → STOP
  3. Am I modifying existing Risk/Sizing/OMS/Intelligence/Analytics code? → STOP
  4. Am I breaking a passing test? → STOP