Spaces:
Sleeping
Sleeping
Commit History
-
Add deterministic citation checker
pebaryan +1: Claude Sonnet 4.6New checker cross-references .cite keys against parsed .bib entries: - MISSING: cited key not in any .bib file (error) - UNUSED: bib entry never cited (info) - DUPLICATE: same key defined by multiple entries (warning) Architectural changes to support it: - Checker protocol now takes a Document (path + source + paragraphs) instead of just paragraphs, so citation-style checkers can scan the raw source and .bib discovery can use the document's directory. - Finding gains an optional file field so bib-level findings can point at a .bib entry rather than the .tex. - Prose filtering moved from the CLI into GrammarChecker; citation scanning needs headings too. - CLI exit code is 1 only for error-severity findings, so unused-bib info/warning noise in drafts doesn't fail CI. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>d71fbfa -
Initial scaffold: grammar checker MVP
pebaryan +1: Claude Sonnet 4.6- parse/: LaTeX paragraph splitter with source-line tracking - llm/: OpenAI-compat client for llama.cpp with lenient JSON parsing - checkers/: Checker protocol + Finding model + grammar checker - report/: rich terminal output - cli.py: typer-based `qalmsw check` command - tests/ covering parser, grammar checker (FakeLLM), JSON extraction Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>cc9d861