Sweep every first-party crate source (1956 .rs files) to the project comment guidelines: delete redundant restatements, decorative banners, change narration, and end-of-line comments; keep and tighten the crucial ones (invariants, bug rationale, SAFETY blocks, ported-source attribution). No functional code changed. Every edit is proven comment-only against the prior tree by a comment-stripping lexer (string/char/raw-string aware) plus a separate doctest-fence check. Where removing a comment made rustfmt or clippy want to re-lay-out adjacent code, the minimal triggering comment is restored so code tokens stay byte-identical. Gates green: cargo fmt --all --check (0 diffs), cargo check and cargo clippy --workspace --all-targets (0 warnings). Adds scripts/check_codegen_comment_guidelines.py — the enforcement gate for these guidelines (flags banners, end-of-line comments, change narration, and commented-out code).
47 lines
1.5 KiB
Rust
47 lines
1.5 KiB
Rust
//! Pure text-classification helpers shared by the memory flush
|
|
//! (`session::helpers::memory_flush`) and dream (`session::memory::dream`)
|
|
//! response-processing paths.
|
|
//!
|
|
//! They live down here rather than in `memory_flush` so that `dream` need not
|
|
//! reach *up* into it, which would form a `dream` <-> `memory_flush` cycle.
|
|
|
|
pub fn has_markdown_headers(text: &str) -> bool {
|
|
text.contains("## ") || text.contains("# ")
|
|
}
|
|
|
|
/// Matches the NO_REPLY convention across separator variants — `"no reply"`,
|
|
/// `"no_reply"`, `"no-reply"`, `"NO REPLY"` — by comparing only the
|
|
/// lowercased alphanumerics.
|
|
pub fn is_no_reply(text: &str) -> bool {
|
|
let normalized: String = text
|
|
.to_lowercase()
|
|
.chars()
|
|
.filter(|c| c.is_alphanumeric())
|
|
.collect();
|
|
normalized == "noreply"
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn test_is_no_reply() {
|
|
assert!(is_no_reply("NO_REPLY"));
|
|
assert!(is_no_reply("no reply"));
|
|
assert!(is_no_reply("No-Reply"));
|
|
assert!(is_no_reply("noreply"));
|
|
assert!(!is_no_reply("no reply needed"));
|
|
assert!(!is_no_reply("I have things to store"));
|
|
}
|
|
|
|
#[test]
|
|
fn test_has_markdown_headers() {
|
|
assert!(has_markdown_headers("## Topic"));
|
|
assert!(has_markdown_headers("# Title\n\nBody"));
|
|
assert!(has_markdown_headers("preamble\n\n## Topic"));
|
|
assert!(!has_markdown_headers("plain text without headers"));
|
|
assert!(!has_markdown_headers("#hashtag without space"));
|
|
}
|
|
}
|