Built alone from an empty CARGO_HOME, its tests passed, and flowrsc checked, ran and exported a document from the conformance corpus; the export built alone. Co-Authored-By: Claude Opus 5.5 <[email protected]>
4.3 KiB
flowRS engine
The source of the engine behind flowRS: what reads, checks, runs and exports a graph without the editor, published as the continuity pledge promises (https://flowrs.openie.dev/docs/continuity/).
What this is. A snapshot of flowrs-core, flowrs-cli (flowrsc) and the crates they need,
32 in all, cut from flowRS's repository at commit f907e0756a7cb167f44d57913bce42db0d235795. It has no git history of its own. It
builds alone: cargo build --locked from an empty cargo cache, then flowrsc check, flowrsc run
and flowrsc app on a document under spec/conformance/ (some of those are invalid on purpose:
spec/conformance/manifest.json says which).
What this is not. The editor (IDE), the server behind flowrs.openie.dev, the hosted agent and the firmware forge are not here. The promise about those is the pledge's fourth point.
Build and run
cargo build --locked -p flowrs-cli
target/debug/flowrsc check spec/conformance/flowrs/add-two-numbers.flowrs
target/debug/flowrsc run spec/conformance/flowrs/add-two-numbers.flowrs --tier t0
target/debug/flowrsc app spec/conformance/flowrs/add-two-numbers.flowrs -o /tmp/my-app
The toolchain is pinned by rust-toolchain.toml. flowrs-core's tests compile generated programs
offline, so fetch once, then test:
cargo fetch --locked && (cd tools/test-crates && cargo fetch)
cargo test --locked -p flowrs-core -p flowrs-cli
The other crates' suites run in flowRS's own repository, and their fixtures are mostly not carried
here (see ENGINE-CONTENTS.md). A test that needs something this snapshot does not carry is marked
#[ignore], with the reason:
crates/flowrs-core/tests/provenance_edit_paths.rs,every_write_to_the_ides_graph_says_who_wrote_it: reads the editor's source, which is not published herecrates/flowrs-core/tests/platform_maths.rs,no_source_a_tier_runs_calls_the_platforms_maths: reads flowrs-neuro's source, which is not in this snapshotcrates/flowrs-core/tests/proof_table.rs,the_corpus_the_canary_and_flowrsc_prove_run_kani_with_the_same_arguments: compares flowRS's proof scripts, which are not in this snapshotcrates/flowrs-core/tests/proof_table.rs,the_table_reads_and_was_run_by_the_pinned_kani: compares flowRS's proof scripts, which are not in this snapshotcrates/flowrs-core/src/graph/widgets/capture.rs,a_capture_from_the_file_store_decodes_as_a_chain: reads capture files this snapshot leaves outcrates/flowrs-core/src/graph/widgets/capture.rs,the_generated_programs_agree_with_the_editor_for_every_decoder: reads capture files this snapshot leaves outcrates/flowrs-core/src/graph/widgets/mod.rs,every_widget_is_compiled_by_a_test_or_is_a_declared_seam: counts the two capture tests above as not compiling their widgets, and they read files left outcrates/flowrs-core/tests/document_spec.rs,every_document_in_the_repository_conforms: counts the documents of flowRS's whole repository, most of which are not here
Licences
Each crate carries the licence text its manifest names (Apache-2.0, or MIT OR Apache-2.0).
spec/flowrs-document-2.md (and version 1.0.0, spec/flowrs-document-1.md) is under CC BY 4.0; its schemas and corpus are under the code's licence.
What was left out of the snapshot, what was kept, and why, file kind by file kind, is
ENGINE-CONTENTS.md. Third-party material is named in each crate's NOTICE, PROVENANCE.md and
LICENSES/.
Issues and contributions
Issues: https://git.transaction.science/Transaction-Science/flowrs-engine/issues. Mirror: https://codeberg.org/Transaction-Science/flowrs-engine.
Contributions are welcome if they benefit the project: read CONTRIBUTING.md.
The crates
dpb-plotflowrs-appflowrs-appshellflowrs-boardsflowrs-captureflowrs-cliflowrs-connectflowrs-coreflowrs-decodeflowrs-deviceflowrs-driversflowrs-dspflowrs-halflowrs-ifaceflowrs-instrumentsflowrs-linuxflowrs-liveflowrs-mathflowrs-mlflowrs-openuiflowrs-recordflowrs-registryflowrs-resultsflowrs-sandboxflowrs-schemasflowrs-sequenceflowrs-simflowrs-stationflowrs-tdmsflowrs-tlsflowrs-transportflowrs-viz
2009 files are carried and 4182 left out of these crates' directories; ENGINE-CONTENTS.md says which and why.