Jgrep
Filter lines and records with natural-language predicates and Jev probabilities.
Filter lines and records with natural-language predicates and Jev probabilities.
jgrep turns each selected input record into a Noul question: does this line or other chosen text unit fit the user's natural-language description? The returned probability is compared with the configured threshold, then matching records are printed, counted, ranked, or emitted in a structured format. The CLI also supports several descriptions in one call per record.
Does this input text fit the user's natural-language description?
For each input record, state contains the candidate text line, and the Noul instruction is the caller's description. The selected example illustrates the documented 'frustrated user' use case; it is not an observed response.
The CLI reads files, stdin, or structured records and selects lines, paragraphs, whole files, functions, chunks, or diff hunks according to its flags.
It creates one Noul question per description, includes the selected text as state, and submits records concurrently with a bounded number of calls.
Returned probabilities are checked against the threshold; ordered mode emits matches in input order, while unordered mode emits answers as they arrive.
The CLI prints matching text or filenames, counts, probability-ranked output, JSON/JSONL/CSV records, or grep-compatible exit status.
It makes semantic filtering composable with ordinary Unix pipelines. Input order and bounded concurrency are preserved by default, so a natural-language predicate can sit in a live log or file workflow with familiar grep-style output and controls.