# 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