Skip to content

Relay 0.1.2 — A more personal explanation

Choose a tag to compare

@devkyato devkyato released this 29 Jul 06:53
8d5ff57

Relay 0.1.2

Relay started with a question I kept asking while reading control code: when a call waits here,
what quietly stops running somewhere else?

Version 0.1.2 tells that story more clearly. I rewrote the public documentation in the voice I
use when explaining the project to another person—direct, personal, and honest about what the
analysis can and cannot prove.

What changed

  • The README now explains why I built Relay and walks through how an analysis works.
  • Tutorials connect each command to the reason I would use it during a review.
  • Architecture, configuration, timing, and limitation pages explain the decisions behind their
    technical details.
  • Support, contributing, security, conduct, roadmap, and GitHub templates now sound like a
    maintainer speaking directly to a contributor.
  • Commands, rule meanings, report formats, and safety boundaries remain precise and unchanged.

Oh—and that last point is important. This release changes how I explain Relay, not what Relay
claims to know. Findings are still conservative review prompts; timing values are still estimates;
and source is still analysed locally without being executed, imported, compiled, or uploaded.

How Relay works

Relay first discovers supported files within explicit bounds. It parses Python with the standard
AST and C-family sources with a position-preserving structural parser. From there, it identifies
blocking patterns, connects simple direct calls, and compares reachable delays with any timing
contracts you provide. The output keeps source facts, inferred paths, and timing estimates
separate so each conclusion can be reviewed.

Compatibility

  • Python 3.9–3.14
  • Arduino, ESP32, embedded C++, MicroPython, and Python sources
  • Local and offline operation after installation
  • No analyser rule, report schema, Python API, or CLI behaviour changes from 0.1.1

Install

python -m pip install relay_lint-0.1.2-py3-none-any.whl
relay --version
relay check examples

Relay does not guarantee real-time or physical-machine safety. Test every change on the actual
target before deployment.