Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Preprint . 2026
License: CC BY
Data sources: ZENODO
ZENODO
Preprint . 2026
License: CC BY
Data sources: Datacite
ZENODO
Preprint . 2026
License: CC BY
Data sources: Datacite
versions View all 2 versions
addClaim

furqan-lint: The Structural-Honesty Checks ruff and mypy Do Not Catch, Across Python, Rust, and Go (White Paper v1.0)

Authors: Arfeen, Bilal Syed;

furqan-lint: The Structural-Honesty Checks ruff and mypy Do Not Catch, Across Python, Rust, and Go (White Paper v1.0)

Abstract

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.

Keywords

BayyinahEnterprise, ONNX, AST analysis, ruff, pre-commit, additive-only API, type checking, status coverage, Go, continuous integration, public surface stability, semantic versioning, GitHubt Actions, Option and Result, linter, Optional types, structural honesty, Furqan programming language, Bayyinah Audit Framework, (T, error), ring-close, static analysis, Rust, AI-assisted code review, mypy, tree-sitter, Python

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average