1.5 KiB
1.5 KiB
Compile Error Guidance - Reusable Protocol
Last Updated: 2026-04-05
Apply this protocol for all compile issues.
1) Verify First
- Verify exact NinjaScript/API signature against official NT8 docs before editing:
https://developer.ninjatrader.com/docs/desktop. - Confirm file is in scope before making any change.
2) Classify the Error
- Missing type/namespace (e.g.,
CS0246). - Invalid override/signature/access modifier (e.g.,
CS0115,CS0507). - Argument mismatch or wrong overload (e.g.,
CS1503). - C# language version incompatibility (C# 6+ syntax in C# 5 project).
3) Apply Smallest Safe Fix
- Prefer minimal edits in scoped files only.
- Fix root cause, not symptom chaining.
- Preserve existing architecture/contracts unless task explicitly requires change.
4) Re-Run Verification
- Run
.\verify-build.bat. - Run required tests for changed area.
- If NinjaScript touched, run NT8 compile check in NinjaScript Editor.
5) Capture Durable Learning
For non-trivial compile failures, add concise entries to:
docs/00-governance/common_failures.md(error fingerprint + fix).docs/00-governance/compile_guardrails.md(prevention rule).docs/00-governance/patterns_and_antipatterns.md(good vs bad pattern).
Do Not
- Do not guess signatures, overloads, enums, or attributes.
- Do not invent placeholder enums/types unless confirmed by domain/task requirements.
- Do not keep one-off incident dumps in this rule file; store incidents in
common_failures.md.