From 732fa218dc44dd91813d84858e2ab18e23678996 Mon Sep 17 00:00:00 2001 From: Tom Kerkhove Date: Tue, 21 Apr 2026 22:48:31 -0700 Subject: [PATCH] docs: Add common pitfalls to codebase reference skill Learnings from PR #243 review: csproj hygiene, IFragmentContext duplication, and expression test coverage requirements. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/skills/policy-codebase-reference/SKILL.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/skills/policy-codebase-reference/SKILL.md b/.github/skills/policy-codebase-reference/SKILL.md index da801fa0..8df5013b 100644 --- a/.github/skills/policy-codebase-reference/SKILL.md +++ b/.github/skills/policy-codebase-reference/SKILL.md @@ -172,6 +172,14 @@ When implementing a new emulator handler, choose the closest structural match: | Custom flow control / wrapper | `ReturnResponseHandler` | — | | AzureOpenAi variant (inherits Llm) | `AzureOpenAiEmitTokenMetricHandler` | — | +## Common Pitfalls + +| Pitfall | Rule | +|---------|------| +| Modifying `.csproj` files | Do **not** change `Compiling.csproj` or `Testing.csproj` unless explicitly required. Reformatting, reordering, or encoding changes (BOM, line endings) cause noisy diffs and will be rejected in review. | +| Missing `IFragmentContext` entry | Every method added to a section interface (`IInboundContext`, `IOutboundContext`, etc.) must also be added to `IFragmentContext.cs`. See the authoring skill for details. | +| Missing expression tests | Every property marked `[ExpressionAllowed]` in a config must have a corresponding expression test `[DataRow]`. See the testing skill section 3 for the pattern. | + ## Build and Test Commands ```bash