Files
wehub-resource-sync adc62957a7
CI / Multi-repo Path Gate (AST-grep) (windows-latest) (push) Has been cancelled
CI / Version Consistency Check (push) Has been cancelled
CI / npm pack + install test (push) Has been cancelled
CI / Lint & Type Check (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Test (Windows path suite) (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / No Committed Build Artifacts (push) Has been cancelled
CI / Multi-repo Path Gate (AST-grep) (ubuntu-latest) (push) Has been cancelled
Upgrade Test / omc update + session-start hook (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:36:54 +08:00

59 lines
2.1 KiB
YAML

# AST-grep rules for detecting raw .omc path constructions that bypass resolveSessionStatePaths.
# Any match outside the whitelisted files is a contract violation.
# Whitelist is enforced in check-multirepo-paths.mjs, not here.
rules:
- id: join-omc-literal-single
language: TypeScript
rule:
pattern: join($_, '.omc', $$$)
message: "Raw join(..., '.omc', ...) detected — use resolveSessionStatePaths() or getOmcRoot() instead"
- id: join-omc-literal-double
language: TypeScript
rule:
pattern: join($_, ".omc", $$$)
message: "Raw join(..., \".omc\", ...) detected — use resolveSessionStatePaths() or getOmcRoot() instead"
- id: template-omc-forward-slash
language: TypeScript
rule:
pattern: "`${$_}/.omc/$$$`"
message: "Raw template `.../.omc/...` detected — use resolveSessionStatePaths() or getOmcRoot() instead"
- id: template-omc-backslash
language: TypeScript
rule:
pattern: "`${$_}\\.omc\\$$$`"
message: "Raw template `...\\.omc\\...` detected — use resolveSessionStatePaths() or getOmcRoot() instead"
- id: path-join-omc
language: TypeScript
rule:
pattern: path.join($_, '.omc', $$$)
message: "Raw path.join(..., '.omc', ...) detected — use resolveSessionStatePaths() or getOmcRoot() instead"
- id: join-omc-literal-single-js
language: JavaScript
rule:
pattern: join($_, '.omc', $$$)
message: "Raw join(..., '.omc', ...) detected — use resolveOmcStateRoot() instead"
- id: join-omc-literal-double-js
language: JavaScript
rule:
pattern: join($_, ".omc", $$$)
message: "Raw join(..., \".omc\", ...) detected — use resolveOmcStateRoot() instead"
- id: template-omc-forward-slash-js
language: JavaScript
rule:
pattern: "`${$_}/.omc/$$$`"
message: "Raw template `.../.omc/...` detected — use resolveOmcStateRoot() instead"
- id: path-join-omc-js
language: JavaScript
rule:
pattern: path.join($_, '.omc', $$$)
message: "Raw path.join(..., '.omc', ...) detected — use resolveOmcStateRoot() instead"