Skip to main content

rdra-ish

rdra-ish is a CLI tool and DSL compiler for reviewing requirements models as code.

What is RDRA?

RDRA (Relationship-Driven Requirements Analysis) is a requirements modeling approach that treats a system as a graph of typed elements (actors, businesses, BUCs, use cases, screens, entities, and so on) linked by explicit predicates such as performs, contains, and creates. The idea is to move from business-facing intent toward design review in one model: each layer on the left explains why the layer on the right exists.

This tool implements RDRA-ISH (RDRA-inspired Implementation and System Heuristics). It follows RDRA’s relationship-first style but is not a strict copy of the original method. It adds vocabulary for system boundaries, APIs, access constraints, and entity lifecycle so the same model can support check, diagrams, CSV reviews, and state derivation.

For how RDRA-ISH reads BUC, business flow, and use case, see RDRA-ish Interpretation.

It lets you model actors, use cases, APIs, screens, entities, and relationships, then:

  • type-check the model (check)
  • generate diagrams (diagram)
  • export review CSVs (csv)
  • derive reachable entity states (states)
  • export / run TLA+ formal checks (export --kind tla, verify --backend tlc)

Recommended Modeling Loop

Refine the model in small stages instead of filling every layer at once. After each stage, run rdra-ish check on the current src/ tree and use diagrams or CSV output to review only the concern you just added (scope, data touchpoints, boundaries, structure, lifecycle, rules).

See Incremental Modeling Flow for stage goals, placement rules, and validation commands. For a worked example across seven steps, use samples/incremental-order.

Installation

uv tool install rdra-ish
rdra-ish --help

Quick Start

# 1) Validate model consistency
rdra-ish check samples/ec-site

# 2) Generate diagrams for review
rdra-ish diagram samples/ec-site --kind rdra --format mermaid --buc BucOrder
rdra-ish diagram samples/clinic-ops --kind sequence --format mermaid --buc BucAppointmentScheduling

# 3) Export coverage/access views
rdra-ish csv samples/clinic-ops --kind matrix
rdra-ish csv samples/clinic-ops --kind actor-permission-audit

# 4) Derive reachable states
rdra-ish states samples/clinic-ops --entity Appointment

# 5) Formal verification (requires `tlc` on PATH)
rdra-ish export samples/formal-verification/order.rdra --kind tla -o /tmp/rdra-tla
rdra-ish verify samples/formal-verification/order.rdra --backend tlc -o /tmp/rdra-tla

What You Can Review

  • Structure consistency: type errors, unresolved references, duplicate definitions.
  • Coverage: actor/use-case/API/entity links and CRUD matrix gaps.
  • Access design: required permissions/media and actor-permission mismatches.
  • State design: unreachable variants, missing creation paths, state rule violations.
  • Boundary design: API/system/event-flow inconsistencies and orphaned nodes.

Learning Path

  1. Incremental Modeling Flow + samples/incremental-order
  2. Look up syntax in Language Reference only as needed
  3. Install agent skills from skills/README.md (rdra-ish-write, rdra-ish-review)

Main Documents

Samples

  • samples/incremental-order: seven-step refinement walkthrough
  • samples/ec-site: compact end-to-end sample
  • samples/clinic-ops: larger model with APIs, events, and access constraints
  • samples/personal-info: personal data management sample
  • skills/rdra-ish-verify/samples: TLA+/TLC examples (also linked from samples/formal-verification/; check files individually)

Publish (maintainers)

uv tool install maturin
uvx maturin build --sdist
uvx maturin publish

Project Layout

crates/
  rdra-ish-syntax/   Lexer, parser, AST
  rdra-ish-core/     Semantic model, type checks, state derivation
  rdra-ish-emit/     PlantUML/Mermaid/CSV/state emitters
  rdra-ish-render/   plantuml.jar wrapper
  rdra-ish-cli/      rdra-ish command
samples/
  clinic-ops/
  ec-site/
  personal-info/

License

MIT

Release files for rdra-ish 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rdra-ish 0.2.0
File Size Uploaded
rdra_ish-0.2.0.tar.gz 2.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for rdra-ish 0.2.0
File Interpreter ABI Platform
rdra_ish-0.2.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
rdra_ish-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
rdra_ish-0.2.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details

Total release size: 7.7 MB

Release files / rdra_ish-0.2.0.tar.gz

Download URL rdra_ish-0.2.0.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
0211b1c74c401118a6d6e7b47520a647547259d395accf95c560cac97f8d4f3f
BLAKE2b-256 checksum
How to use checksums
8e4d5654e0b5ac1e7c85d8457847f20d997bd896b8cde4d4317750e3bc993e55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 19, 2026.

Transparency log

Release files / rdra_ish-0.2.0-py3-none-win_amd64.whl

Download URL rdra_ish-0.2.0-py3-none-win_amd64.whl
Size 1.8 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
268c5d4a55c8d1c9db8a348bb8c3f09858a0e1c968f70d90009907cc93517661
BLAKE2b-256 checksum
How to use checksums
50e045a693be5ed2d075ba57c47f7c92c2ea4082d52a964fb5a5d2a9043ae340
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 19, 2026.

Transparency log

Release files / rdra_ish-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rdra_ish-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.0 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
ee4d8399f0a70a8f3d29b77c64992fbf1540168cc0a4913c792cbd25d6004bb8
BLAKE2b-256 checksum
How to use checksums
501424894eb74aa6f49e421a4987b3580474f6c2e908788f844b2040c056a66d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 19, 2026.

Transparency log

Release files / rdra_ish-0.2.0-py3-none-macosx_11_0_arm64.whl

Download URL rdra_ish-0.2.0-py3-none-macosx_11_0_arm64.whl
Size 1.9 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d6d51a7c1a29eacaf8f1f7dbe03671c9f0b53b7dfa309a347078f8de19b91680
BLAKE2b-256 checksum
How to use checksums
f3fac0def77837317b4f88d0f27c43c79415ee44ed65704327a9bfc889b92e3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

4 release files

0.1.7

4 release files

0.1.6

4 release files

0.1.3

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page