*Every weekday a single, opinionated rule for senior C#/.NET engineers using Cursor. Here's the full week in one read — canonical posts live on [the Agentic Architect blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/).*
## 7 daily senior rules
### Rule 14: Sealed By Default
_Sun 21 Jun_
Mark every class sealed unless inheritance is explicitly planned. Stops Cursor inventing accidental inheritance hierarchies "for flexibility." Small but measurable virtual-call perf wins too.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-21)
### Rule 13: Strongly-Typed IDs
_Sat 20 Jun_
OrderId as record struct OrderId(Guid Value) beats raw Guid everywhere. Stops the AI passing a CustomerId where an OrderId was expected — a bug the compiler can't catch with primitive obsession but catches instantly with domain primitives.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-20)
### Rule 12: IOptionsSnapshot Over Raw Config
_Fri 19 Jun_
Business code should never call IConfiguration directly. Strongly-typed IOptions or IOptionsSnapshot bindings only. The AI loves to "just grab the config value" — refuse it and force a settings class with validation attributes.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-19)
### Rule 11: Rethrow, Don't throw ex
_Thu 18 Jun_
throw ex resets the stack trace. throw preserves it. Cursor gets this wrong about 40 percent of the time when generating catch blocks. Rewrite any naked throw ex to throw unless the exception has been explicitly wrapped.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-18)
### Rule 10: AsNoTracking for Reads
_Wed 17 Jun_
Every read-only EF Core query should call AsNoTracking. Add a rule that recognises query methods returning DTOs (not entities) and inserts the call. Cursor never does this by default and your read perf degrades silently across releases.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-17)
### Rule 9: Scoped Capture in Singleton
_Tue 16 Jun_
The single most expensive .NET runtime bug: a Singleton holding a Scoped service. Cursor cheerfully writes this without warning. Audit constructor parameters of any class registered as Singleton — if any are typically Scoped (DbContext, repositories, MediatR sender), flag it before merge.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-16)
### Rule 8: CancellationToken Propagation
_Mon 15 Jun_
Every async method in your codebase should accept and forward a CancellationToken. Make it a rule that any new async signature without one is flagged. Stops the AI from quietly losing cancellation half-way down a call chain.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-15)
---
## Try one rule before you trust the whole kit
The free **[`arch-core-lite.mdc`](https://github.com/agenticstandardcontact-byte/agentic-architect/blob/main/arch-core-lite.mdc?utm_source=devto&utm_medium=weekly_digest&utm_campaign=free_sample)** is one drop-in Cursor rule that ends the morning re-explanation ritual. Install in 60 seconds, see whether Cursor actually remembers your DI lifetimes, and decide for yourself whether the full kit is worth £9.00.
- **Free sample:** [`arch-core-lite.mdc` on GitHub](https://github.com/agenticstandardcontact-byte/agentic-architect/blob/main/arch-core-lite.mdc?utm_source=devto&utm_medium=weekly_digest&utm_campaign=free_sample)
- **Full kit (£9.00, one-time):** [Agentic Architect Kit](https://payhip.com/b/98aSq?utm_source=devto&utm_medium=weekly_digest&utm_campaign=paid_kit)
- **Daily rules feed:** [https://agenticstandardcontact-byte.github.io/agentic-architect/blog/](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/?utm_source=devto&utm_medium=weekly_digest&utm_campaign=blog_index)
Canonical home for everything in this digest: [https://agenticstandardcontact-byte.github.io/agentic-architect/blog/](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/).