Skip to main content

QFabric

QFabric investigates safe, closed-loop recovery of empirical timing contracts across Linux and RTOS execution domains on the Arduino UNO Q.

Research prototype: QFabric 0.x is an empirical soft real-time research artifact. It does not provide hard real-time guarantees or a formal schedulability proof.

Installation

The Python analysis and control CLI requires Python 3.11 or newer:

python3 -m pip install qfabric
qf --help

Hardware execution commands additionally require an Arduino UNO Q with the matching firmware from this repository. Reproducing the paper therefore uses a full repository checkout rather than the Python wheel alone.

Development is organized by the tracking issues in the GitHub issue tracker. The complete research plan is archived in issue #13.

Current stage

Stage 1 is complete. Its 136,800-sample evidence base, findings, recommendations, and documented platform limitations are recorded in the Stage 1 findings.

Stage 2 is complete. One logical QTask executes through the same CLI on either a real Linux ARM64 artifact or the STM32/Zephyr RT domain, with explicit domain selection and no placement policy. The implementation and acceptance evidence are recorded in the Stage 2 findings.

Stage 3 is complete. It defines the versioned cross-domain ABI, generated serialization, replay protection, defensive decoding, and effect classes. The implementation and hardware audit are recorded in the Stage 3 findings.

Stage 4 is complete. It provides correlated end-to-end QTask profiling, strict cross-clock measurement semantics, bounded sample windows, independently verified aggregates, and measured instrumentation overhead. The implementation and hardware audit are recorded in the Stage 4 findings.

Stage 5 is complete. It turns measured timing evidence into deterministic empirical soft real-time contract states and transitions. The semantics and hardware evidence are recorded in the Stage 5 specification and Stage 5 findings.

Stage 6 is complete. It provides gated, explainable, deterministic recommendations over measured end-to-end evidence without changing live placement. The policy and audit evidence are recorded in the Stage 6 specification and Stage 6 findings.

Stage 7 is complete. It provides safe closed-loop recovery from credible empirical timing-contract violations, including gated actuation, zero-inflight boundaries, epoch-controlled transitions, probation, commit, rollback, cooldown, and candidate blacklisting. The protocol, hardware evidence, claim boundary, and independent audit are recorded in the Stage 7 specification and Stage 7 findings.

Stage 8 is complete. It provides hash-chained immutable decision history, restart-safe persistence, faithful human and JSON explanations, stable identifiers, and exact versioned replay for Stage 6 recommendations and Stage 7 recovery actions. The schema, evidence, audit, and trust limitations are recorded in the Stage 8 specification and Stage 8 findings.

Stage 9 is complete. It provides a bounded, disableable LED matrix and RGB physical debugger driven only by real QFabric telemetry and stable decision identifiers. Its state grammar, update path, hardware coverage, controlled overhead experiment, and limitations are recorded in the Stage 9 specification and Stage 9 findings.

Stage 10 is complete. It adds only the standard Linux perf instrumentation justified by a measured userspace attribution gap, preserves the userspace-only fallback, and deliberately introduces no eBPF program or kernel module. The architecture, privileges, limitations, controlled accuracy and overhead results are recorded in the Stage 10 specification and Stage 10 findings.

Stage 11 is complete. It evaluates four workload graphs and a loaded flagship scenario against seven baselines, including SCHED_FIFO, manual, recovery, and oracle placements. The full evidence matrix, honest negative result against tuned Linux, six research-question answers, paper artifacts, limitations, and independent audit are recorded in the Stage 11 protocol and Stage 11 findings.

Research paper

The submission-oriented IEEE manuscript, bibliography, reproducible figure and table generator, and testbed-photo instructions are in paper/. Build the PDF with make -C paper. Quantitative manuscript assets are regenerated from the audited Stage 11 evaluation report. The repository also provides a GitHub-compatible citation file.

Local checks

The hardware-independent tests use only Python's standard library:

python3 -m unittest discover -s tests -v
python3 -m compileall -q src tests

License and citation

QFabric is licensed under the Apache License 2.0. Cite the software using CITATION.cff; release archives also include the paper and audited evidence needed to reproduce the reported claims.

Metadata

Release files for qfabric 1.0.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 qfabric 1.0.0
File Size Uploaded
qfabric-1.0.0.tar.gz 134.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qfabric 1.0.0
File Interpreter ABI Platform
qfabric-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 265.9 kB

Release files / qfabric-1.0.0.tar.gz

Download URL qfabric-1.0.0.tar.gz
Size 134.7 kB
Tags Source
SHA-256 checksum
How to use checksums
28904e6dffd84e5a288d723e2982d13fab1498a89a4ef1071e3615a2e8aee8ce
BLAKE2b-256 checksum
How to use checksums
5246688de12d5074a04b3eed03e9ce20db13acc42a60f4b57b171217cb9e0016
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Oct 9, 2026.

Transparency log

Release files / qfabric-1.0.0-py3-none-any.whl

Download URL qfabric-1.0.0-py3-none-any.whl
Size 131.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4bbaf155578435b59bb794a983bd1674abb9fea2c58c63239da5e3b1b31b25f9
BLAKE2b-256 checksum
How to use checksums
43bc2cba43be0776aeafd31300acc5d86fa2c392dcf9cc0c6c54bb2c313321c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Oct 9, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.1

2 release files

This release

1.0.0 This release

2 release files

0.1.0

2 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