*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 7: IHttpClientFactory Discipline
_Sun 14 Jun_
Refuse new HttpClient() in any generated code. Force Cursor to inject IHttpClientFactory or a typed client. The classic socket-exhaustion bug is exactly the kind of footgun an AI hands you without realising.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-14)
### Rule 6: TimeProvider Injection
_Sat 13 Jun_
Never let Cursor hardcode DateTime.Now or DateTime.UtcNow in business logic. Inject TimeProvider (or your own IClock) instead. This makes time deterministic for tests and stops the AI reaching for static APIs whenever it generates time-aware code.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-13)
### Rule 5: Minimal API Groups
_Fri 12 Jun_
Use MapGroup and EndPoints for .NET 9 services. It keeps the context window lean and focused, helping the AI provide more accurate code suggestions than it can with massive, bloated Controllers.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-12)
### Rule 4: Validator Enforcement
_Thu 11 Jun_
Every MediatR Request must have a FluentValidation rule. Force the AI to check the validator before writing handler logic. This prevents "context rot" where the AI forgets your business constraints.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-11)
### Rule 3: Structured Logging
_Wed 10 Jun_
Enforce ILogger with structured templates. Never use string interpolation in logs. This ensures that when you feed logs back into Cursor for debugging, the AI recognizes the patterns immediately.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-10)
### Rule 2: Persistence Boundaries
_Tue 09 Jun_
Never let the AI write database logic in your Controllers. Enforce a strict boundary where all IQueryable access stays in the Infrastructure layer. This keeps your business logic "pure" and readable for the LLM.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-09)
### Rule 1: The Result Pattern
_Mon 08 Jun_
Stop using nulls for flow control. Use a Result object to force Cursor to handle success and failure cases explicitly. This prevents 90% of AI-generated logic errors in Web APIs.
[→ Permalink on the blog](https://agenticstandardcontact-byte.github.io/agentic-architect/blog/#2026-06-08)
---
## 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/).