Files
ZacharyZhang-NY a02b555e66 docs(comments): rewrite comments across all crates to the guidelines
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).
2026-07-23 16:55:39 -04:00
..

Fuzzing kigi-markdown

Coverage-guided fuzzing for the markdown renderer using cargo-fuzz (libFuzzer).

Prerequisites

cargo install cargo-fuzz   # if not already installed
rustup toolchain install nightly

Targets

Target What it fuzzes
render_all All 8 combos: pretty × syntect × {full, streaming} for every input

Each iteration runs:

  • render_markdown_ratatui_full() — 4 combos (pretty/non-pretty × syntect/no-syntect)
  • StreamingMarkdownRenderer char-by-char — same 4 combos

Running

From crates/codegen/kigi-markdown:

# Run indefinitely (Ctrl-C to stop):
cargo +nightly fuzz run render_all fuzz/corpus/render_all fuzz/seeds/render_all -- -max_len=16384

# Run for 5 minutes:
cargo +nightly fuzz run render_all fuzz/corpus/render_all fuzz/seeds/render_all -- -max_len=16384 -max_total_time=300
  • corpus/ — auto-generated inputs (gitignored)
  • seeds/ — hand-written seed inputs (checked in)

Reproducing a crash

When a crash is found, the input is saved to artifacts/render_all/crash-<hash>. Reproduce it with:

cargo +nightly fuzz run render_all fuzz/artifacts/render_all/crash-<hash>

Adding seed inputs

Drop .txt or .md files into seeds/render_all/. Good seeds cover distinct markdown features (tables, code blocks, emoji, nested lists, etc.) and help the fuzzer reach new code paths faster.