Originally created by: TheoV823
Recent dogfooding on PR [#149] showed that the Mneme self-check path is working, but also surfaced noisy false positives from broad lexical anti-pattern rules.
Examples from the PR self-governance comment included site/content files triggering rules from generic words such as:
openwithoutinlinegooglebeforecontentThe valuable part: the enforcement path, sticky comment, unknown handling, and ADR freshness warnings are visible in the PR loop.
The problem: some rules are currently too broad when applied uniformly across source code, scripts, generated HTML, prose content, and metadata files.
Rules such as open() without encoding= or Set-Content without -Encoding are intended to catch automation/code patterns. They should not fire merely because prose or HTML content contains generic terms like open, without, or content.
This creates noisy FAIL output in warn-mode dogfooding and makes it harder to distinguish true architectural violations from lexical overlap.
This issue is for architecture/design only unless a separate implementation PR is explicitly scoped.
In-scope areas:
Out of scope:
Explore a deterministic way to distinguish rule applicability by context, for example:
applies_to metadata such as code, script, html, markdown, prose, workflow, or path_globA future PR should be able to demonstrate:
open(path) without encoding= are still caughtopen, without, or content does not trigger the code-specific encoding ruleThis issue came from live Mneme dogfooding, not hypothetical roadmap work. The current behavior proves the governance loop is visible, but also shows the next architectural refinement needed before stricter enforcement modes become credible.