Repository navigation
Resolve rules in two templates that contradict each other #2125
Copy link
Copy link
Closed
Labels
P2Medium — important but not blockingMedium — important but not blockingbugSomething isn't workingSomething isn't working
Description
Part of #2124.
An agent loading both templates of a pair below cannot follow both rules in the scenario given. Found by reading all 39 templates on 2026-10-22, then checked pair by pair for a concrete conflict. #2077 is the systematic per-chain audit; these are inputs to it, fixed here.
| Rule | Conflicts with | Scenario where both apply |
|---|---|---|
security/security.md:25 internal code trusts validated data; never re-validate in service layers |
core/quality.md:114 assert the precondition inside the function, never rely on a caller-side filter |
a service function called by a handler after schema validation: check it or not |
core/docs.md:118 summarise a command and link to its source; never transcribe it |
core/agents.md:59, core/quality-gates.md:21 put the command in a fenced block |
a context file's Commands section listing make test |
core/config.md:69 never log a configuration value |
backend/concurrency.md:54 log pool size and worker count at startup |
a startup line reporting workers=8 read from config |
core/config.md:57 API base URLs are build-time, baked into the artifact |
infra/cicd.md:39 environment config never baked; :41 promote one artifact |
a browser bundle whose API URL differs per environment |
core/oop.md:54 use the named pattern where one fits |
core/review.md:46 no new abstraction without two call sites |
a single caller whose branching a Strategy would fit |
backend/caching.md:11 never cache tokens, even temporarily |
backend/auth.md:27 store refresh tokens in "database or cache" |
a Redis-backed refresh-token store |
backend/errors.md:16, backend/observability.md:33 auth failures and 4xx at INFO |
backend/auth.md:62-64 auth failures at WARN |
a failed login: which level |
backend/observability.md:51 return an X-Trace-Id header |
backend/http.md:63 custom headers SHOULD NOT use X- |
naming the trace header |
backend/database.md:10, data/data-modeling.md:53 every migration MUST be reversible |
data/data-migration.md:28-30 an irreversible one is allowed with approval |
dropping a column that holds data |
The flag pair (core/config.md build-time flags against backend/features.md runtime flags) is already on #2077.
Done when
- Each pair is confirmed by its scenario, then resolved: one rule qualified, scoped or removed
- Each resolution is recorded on Audit each resolved chain for rules that contradict one another #2077 with the chain it affects
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P2Medium — important but not blockingMedium — important but not blockingbugSomething isn't workingSomething isn't working
Activity
fix(templates): resolve rules in two templates that contradict (#2125) (