2.2 KiB
2.2 KiB
Verification Requirements
Run .\verify-build.bat from C:\dev\nt8-sdk\ after every single file change.
Do not proceed to the next task until this passes.
After Every File Change
Step 1 — Build verification
cd C:\dev\nt8-sdk
.\verify-build.bat
Expected: ✅ All checks passed!
If it fails:
- Read the compiler error carefully
- Fix it immediately
- Re-run before continuing
- NEVER move to the next file with a broken build
Step 2 — Syntax check (self-audit before running)
Scan your code for forbidden patterns:
- No
$"..."(string interpolation) → usestring.Format("...", a, b) - No
?.or?[→ use explicit null checks - No
=>on properties or methods → use full{ get { return x; } }syntax - No
nameof(x)→ use"x"string literal - No
var x; ...TryGetValue(key, out var x)inline → declare var separately
Step 3 — After completing a whole class
dotnet test tests\NT8.Core.Tests --verbosity minimal
All existing tests must still pass. Zero regressions allowed.
Specific Test Commands by Area
# Test execution layer (TrailingStopManager etc.)
dotnet test tests\NT8.Core.Tests --filter "FullyQualifiedName~Execution"
# Test adapters
dotnet test tests\NT8.Core.Tests --filter "FullyQualifiedName~Adapters"
# Test all integration tests
dotnet test tests\NT8.Integration.Tests --verbosity minimal
# Full suite
dotnet test NT8-SDK.sln --verbosity minimal
Emergency Stop Conditions
STOP and report back if:
- Build fails with errors you do not understand
- Existing tests fail after your changes
- You need to touch a file outside allowed boundaries
- You are unsure about a design decision
- You are about to modify a NinjaTrader API call signature
Quality Gates (ALL must pass before task is complete)
| Gate | Check |
|---|---|
| ✅ Compilation | verify-build.bat outputs "All checks passed!" |
| ✅ Syntax | No C# 6+ features |
| ✅ Thread safety | All shared Dictionary/List access inside lock (_lock) |
| ✅ Error handling | All public methods have try-catch |
| ✅ Logging | All log calls use string.Format() not $"" |
| ✅ XML docs | All public members have /// <summary> |
| ✅ No regressions | 240+ existing tests still pass |