/** * Security Scanner — prose lexicons for the SMI-5207 sensitive_path gates * @module @skillsmith/core/security/scanner/SecurityScanner.prose-lexicon * * SMI-5207: NEGATION_TOKENS (MF-3) and PROSE_STOPWORDS (MF-4) split out of * SecurityScanner.scanners.ts purely for the 500-line pre-commit gate — the * two word lists are ~120 lines once Prettier expands them one entry per * line, which would push that file past the limit. No logic lives here; both * gates' behaviour is entirely in SecurityScanner.scanners.ts. * * The two lists have no consumer in common (round 6 deleted MF-3's * blockquote-vs-operator content classification, which was the only thing * that ever made MF-3 read PROSE_STOPWORDS) — they share a file for the line * budget, not because they are one concept. Keep them independently editable. */ /** * MF-3 (SMI-5207, round 3): negation lookaround. A negated verb is not action * evidence — "This guide downloads no files and explains ~/.ssh/config" * (round-3 counter-example, unquoted prose) must not fire HIGH. The negation * token can appear BEFORE ("never uploads") or AFTER ("downloads no files") * the verb, so the window is bidirectional. Deliberately narrow: same line * only, small window, no general negation engine. */ export declare const NEGATION_TOKENS: Set; /** * MF-3 (SMI-5207, round 10): determiners that force the NOUN reading of a * token which is otherwise spelled like an action verb — "The Downloads * folder", "the uploads dashboard", "your downloads". * * This is a hard grammatical invariant, not a heuristic: an article or * possessive determiner cannot be immediately followed by a finite verb in * English. So it is applied at distance EXACTLY 1 and nowhere else — "This * skill downloads ~/.ssh/id_rsa" keeps firing, because `skill` sits between * the determiner and the verb. Demonstratives (this/these/those) are * deliberately EXCLUDED: "This downloads the key" is a legitimate verb * reading, so they carry real FN risk that the/a/an/possessives do not. */ export declare const NOUN_DETERMINERS: Set; /** * MF-3 (SMI-5207, round 10): verbs and agent nouns that mark a sentence as * DESCRIBING detection rather than instructing an action — "This rule detects * malware that steals ~/.ssh/id_rsa". Used only in combination with * RELATIVE_MARKERS (see hasActionEvidence); neither signal suppresses on its * own, and neither ever suppresses a shell operator. */ export declare const DETECTION_FRAMING: Set; /** * MF-3 (SMI-5207, round 10): relative pronouns. Their presence immediately * before an action verb marks it as the verb of a SUBORDINATE descriptive * clause ("code that exfiltrates X"), never an imperative. */ export declare const RELATIVE_MARKERS: Set; /** * MF-4 (SMI-5207): English function words. A passphrase is nouns; an * explanatory sentence is not. The only signal separating `correct horse * battery staple` from `never paste your password into chat` — both lowercase * multi-word spans. */ export declare const PROSE_STOPWORDS: Set; //# sourceMappingURL=SecurityScanner.prose-lexicon.d.ts.map