furqan-lint: The Structural-Honesty Checks ruff and mypy Do Not Catch, Across Python, Rust, and Go (White Paper v1.0)
Description
furqan-lint is a structural-honesty linter for Python, Rust, and Go that catches a class of latent defects falling outside the coverage of ruff (style), mypy (declared types), and conventional security and dependency tooling. The class has four shapes: Optional collapse through propagation across narrowing return-type annotations, silently-removed public names across versions, zero-return ring-close on unannotated or dynamically constructed functions, and explicit return-None mismatch on functions declared with non-Optional return types. The tool ships five checks (D24 all-paths-return, D11 status-coverage on Optional / Option / Result / (T, error) producers, R3 zero-return / ring-close, return-None mismatch, and additive-only public-surface diff) through three language adapters that share a common runner pipeline: Python (built-in via the ast module), Rust (opt-in via the [rust] extra and tree-sitter), and Go (opt-in via the [go] extra and a goast binary compiled at install time). A fourth adapter (ONNX, v0.9.0) and a Sigstore-CASM Gate 11 verifier (v0.10.0 to v0.11.0) ship in releases subsequent to the v0.8.5 substrate documented here. This white paper introduces the gap, the five checks, the three-language coverage with brief theorization of additional adaptable languages, the three-line CI integration story, a worked example, and the application-fit profile for technical decision-makers. The empirical-gap claim is case-illustrated; systematic comparator study is named as successor work in the companion thesis paper (§9.6). The thesis paper supplies the full technical specification.
Files
furqan_lint_white_paper_v1_0.pdf
Files
(74.5 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:80ed9b6597973551ef33ec06772eddfb
|
74.5 kB | Preview Download |
Additional details
Dates
- Created
-
2026-05-09