Skip to content

feat(compiler): escape filtered words in rule names and settings strings - #376

Merged
Teakowa merged 4 commits into
mainfrom
feat/374-filtered-words
Sep 25, 2026
Merged

Teakowa merged 4 commits into
mainfrom
feat/374-filtered-words

Conversation

@e54-bot

@e54-bot e54-bot commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Fixes #374

Implements the approved filtered-word escaping (ADR-0007, #375).

  • Rule names: restore the 28-word soft-hyphen split removed from fix(compiler): close structural gaps outside the Bastion entrypoints (#366, partial) #370, in the pinned upstream order, plus the spaced r i gg e r case.
  • Settings: apply the same escape to main.modeName and main.description (escape first, filter second).
  • Fixtures: restore structural-rule-name-words; add oracle-backed structural-settings-words (quotes, backslash, zero-width character, whole-word negative).
  • Docs: tooling-and-backend.md filtered-word row is now supported.

Verification: fmt, clippy -D warnings, workspace tests, tools/overpy/tests, and run_native.py (known-gap unchanged at 8; both new fixtures match).

Apply the pinned OverPy rule-name word filter in its own order, not only for rigger and admin, and pin it with an oracle-backed structural fixture.

Refs #366
Apply the shared filtered-word escape to main.modeName and
main.description as the pinned OverPy does, pin it with an
oracle-backed settings fixture, and mark the filtered-word row
supported.

Fixes #374

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two blocking findings.

Comment thread crates/opy-rs/src/compiler/lowering.rs Outdated
Use the reference \s set (no U+0085) for the spaced rigger match and pin every whole-word entry negatively, the spaced r i gger positive case, and U+0085 with the oracle.

Refs #374
@Teakowa
Teakowa merged commit 1e5e744 into main Sep 25, 2026
5 checks passed
@Teakowa
Teakowa deleted the feat/374-filtered-words branch September 25, 2026 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Decide whether opy-rs may carry the filtered-word set for rule names

2 participants