Skip to content

Release Relay 0.2.0 semantic recovery - #10

Merged
devkyato merged 1 commit into
mainfrom
agent/release-0.2.0-semantic-recovery
Jul 29, 2026
Merged

Release Relay 0.2.0 semantic recovery#10
devkyato merged 1 commit into
mainfrom
agent/release-0.2.0-semantic-recovery

Conversation

@devkyato

Copy link
Copy Markdown
Owner

What changed

This is Relay's semantic-recovery release. It addresses the critique that the project presented structural pattern matching with more authority than its model justified.

  • Reframes Relay as a conservative local source-review tool, not compiler-grade semantic analysis or schedule simulation.
  • Adds explicit language profiles for Python, C/C++/Arduino, JavaScript, TypeScript, Java, C#, Go, Rust, Kotlin, Swift, Ruby, and PHP.
  • Uses Python's AST with qualified class and nested-function identities; structural models are clearly labeled and confidence-capped.
  • Resolves only exact or unique call targets so unrelated methods are not collapsed by basename.
  • Correctly treats await asyncio.sleep() as cooperative.
  • Replaces substring timeout checking with actual Python keyword/positional argument handling.
  • Adds safe duration arithmetic and common language duration constructors.
  • Makes safety-critical tasks explicit and limits timing impacts to reachable tasks.
  • Renames timeline to summary and states exactly what is not simulated.
  • Adds aggregate input limits, symlink-root refusal, Git-compatible root ignores, atomic reports, JSON schema 2.0, and SARIF fingerprints.
  • Replaces the old wheel inspection with two independent deterministic builds and digest comparison.
  • Publishes a labeled positive/negative/ambiguous multi-language corpus.

Why

The root problem was not merely documentation. Relay's symbol identity, async handling, timing-impact scope, and operational claims allowed false precision. This release changes the model and makes every remaining limitation visible in report output.

User impact

This is a breaking alpha release:

  • JSON schema changes from 1.0 to 2.0.
  • Unknown configuration keys and rule IDs now fail instead of being silently accepted.
  • safety_critical = true is required for RLY111.
  • relay summary replaces relay timeline; the old command remains as a deprecated alias for 0.2.0.
  • New runtime dependency: pathspec>=0.12,<1.

Validation

  • python -m pytest — 63 passed, 1 platform-dependent symlink test skipped
  • python -m ruff check . — passed
  • python -m ruff format --check . — passed
  • python -m mypy — strict checks passed for 15 source files
  • two independent isolated builds produced matching wheel and sdist SHA-256 digests
  • isolated 0.2.0 sdist and wheel build — passed
  • fresh wheel installation with declared dependency — passed
  • installed CLI corpus analysis, timing summary, doctor, version, and distribution metadata — passed

@devkyato
devkyato marked this pull request as ready for review July 29, 2026 10:56
@devkyato
devkyato merged commit 98a812f into main Jul 29, 2026
14 checks passed
@devkyato
devkyato deleted the agent/release-0.2.0-semantic-recovery branch July 29, 2026 10:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant