Skip to content

Resolve rules in two templates that contradict each other #2125

Closed

Description

@braboj

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — important but not blockingbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions