flowrs-engine/ENGINE-CONTENTS.md
flowRS 2b6f30d348 flowRS engine, cut from flowRS f907e0756a7c
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]>
2026-11-10 08:54:33 -05:00

95 lines
13 KiB
Markdown

# What this snapshot carries, what it leaves out, and why
A row of a pin table is a fact and a copied file is not, so harvested facts stay with
their sources named, copied files stay only under a licence that allows it with its
text beside them, and anything not clear stays out.
## Carried
| Files | Example | Licence | Why |
|---|---|---|---|
| 644 | `crates/dpb-plot/src/annot.rs` | as the crate, with ports named in its PROVENANCE.md | Source |
| 443 | `crates/flowrs-iface/fixtures/ros-lyrical/LICENSES/geometry2-tf2_msgs-BSD-3-Clause.txt` | Apache-2.0 (21 packages), BSD-3-Clause (2) | Unmodified ROS 2 interface files, compiled into the ROS catalogue; README.md, MANIFEST.tsv and LICENSES/ beside them give each package's source, digest and licence |
| 170 | `vendor/rustdds-0.14.3-flowrs/Cargo.toml` | Apache-2.0 | RustDDS 0.14.3 with flowRS's listed changes; its LICENSE.md and FLOWRS.md travel with it, and every changed file says so at its top |
| 157 | `crates/flowrs-sim/data/avr/NOTICE.md` | facts; Microchip ATDF packs are Apache-2.0 | Register addresses, bit fields, vectors and pads, from Microchip's packs; data/avr/NOTICE.md names each pack and digest; the census and the twins read them |
| 134 | `crates/flowrs-sim/firmware/stm32/alif.ld` | Apache-2.0 | Small LED programs written for flowRS, with their C sources, linker scripts and build scripts; the twins' board table compiles the images in. No vendor file in them |
| 65 | `spec/conformance/fdsl/add.fdsl` | Apache-2.0 | The conformance corpus |
| 45 | `crates/flowrs-core/tests/agent_corpus.rs` | Apache-2.0 | flowrs-core's own tests, which run in the snapshot |
| 42 | `crates/dpb-plot/LICENSE-MIT` | as named | The licence texts |
| 39 | `crates/dpb-plot/Cargo.toml` | as the crate | The manifest, rewritten to stand alone |
| 31 | `crates/flowrs-app/eval/graphs/bci-alpha.fdsl` | Apache-2.0 | Written by flowRS: the graphs flowrs-core's proof corpus compiles in |
| 27 | `e2e/fixtures/appexport/counter.fdsl` | Apache-2.0 | Written by flowRS: the apps flowrs-cli's tests export and run |
| 20 | `crates/flowrs-core/src/graph/corpus/audio_pitch.fdsl` | Apache-2.0 | Written by flowRS: the agent's proven example graphs |
| 17 | `crates/flowrs-instruments/data/sim/labcraft/LICENSE-APACHE` | MIT OR Apache-2.0 (LabCraft) | LabCraft's fifteen simulated benches (libs/visa/sim at 22b8dff), unmodified, with both its licence texts beside them; flowrs_instruments::sim::BUILTIN includes them, so the crate does not build without them |
| 16 | `crates/flowrs-app/NOTICE` | as named | The crate's notice |
| 12 | `embedded/twin-fixtures-mcs51/NOTICE.md` | Apache-2.0 | The C sources and build scripts of the 8051 demos the simulator compiles in, so what is carried compiled can be rebuilt |
| 12 | `crates/flowrs-sim/data/mcs51/fixtures/BUILD-fwlib.txt` | Apache-2.0 for flowRS's own programs and FwLib_STC8's demos; SDCC's runtime inside them under GPL v2+ with the linking exception | The 8051 demos the simulator compiles in, as Intel HEX: flowrs_sim::mcs51::demos includes them, so the crate does not build without them. The linking exception lets a program built with SDCC carry its runtime |
| 12 | `crates/flowrs-connect/dialects/mavlink/LICENSE` | MIT | Unmodified MAVLink message definitions, compiled in; LICENSE and README.md beside them say from which commit. The LGPL generator is not carried |
| 12 | `crates/dpb-plot/PROVENANCE.md` | as named | Where the crate's ported material came from |
| 11 | `crates/dpb-plot/README.md` | as the crate | The crate's readme |
| 9 | `crates/flowrs-cli/tests/can_node.rs` | Apache-2.0 | flowrs-cli's own tests, which run in the snapshot |
| 9 | `crates/dpb-plot/src/gpu/wgsl/band.wgsl` | as the crate | Shaders of dpb-plot's plot engine |
| 7 | `crates/flowrs-live/fixtures/rtt-demo/.cargo/config.toml` | Apache-2.0 | Written by flowRS: the source of rtt_demo.elf |
| 5 | `crates/flowrs-core/examples/emit_frame_dsp.rs` | Apache-2.0 | flowrs-core's own example programs |
| 4 | `crates/flowrs-sim/data/mips/pic32-baremetal.elf` | Apache-2.0 | Four PIC32 demos written for flowRS (the MX3xx-7xx toggle and bare-metal images, the MX1xx/2xx's peripheral pin select one, the MZ's), built with LLVM alone, no vendor library and no GCC runtime in them: flowrs_sim::mips includes them, so the crate does not build without them |
| 4 | `crates/flowrs-tdms/tests/corpus/multi_segment.tdms` | Apache-2.0 | Synthetic files flowRS made by running npTDMS 1.11 as a tool, none of its code in them; flowrs-core's tests compile them in |
| 4 | `e2e/fixtures/firmware/in_not_out.flowrs` | Apache-2.0 | Written by flowRS: graphs flowrs-core's proof corpus and its tests compile in |
| 4 | `tools/qemu-mips-wasm/fixtures/baremetal/build.sh` | Apache-2.0 | Written by flowRS: the source, linker script and build script of pic32-baremetal.elf, so what is carried compiled can be rebuilt |
| 4 | `tools/qemu-mips-wasm/fixtures/mz/build.sh` | Apache-2.0 | Written by flowRS: the source, linker script and build script of pic32-mz.elf |
| 4 | `tools/qemu-mips-wasm/fixtures/pps/build.sh` | Apache-2.0 | Written by flowRS: the source, linker script and build script of pic32-pps.elf |
| 3 | `tools/perfbench/results/2026-10-26-m3-ultra-256gb-2.csv` | Apache-2.0 | Measured by flowRS's own harness: what flowrs-core's measured tier table is held to |
| 3 | `tools/qemu-mips-wasm/fixtures/toggle/build.sh` | Apache-2.0 | Written by flowRS: the source, linker script and build script of pic32-toggle.elf |
| 3 | `crates/flowrs-appshell/assets/robotics_link.rs` | Apache-2.0 OR MIT | The exported app's shell, written by flowRS |
| 3 | `crates/flowrs-core/tests/fixtures/agent-trace/LICENSE-CC-BY-4.0.txt` | CC-BY-4.0 | The Agent Trace schema, unmodified, with its licence text beside it; flowrs-core's agent_trace test reads it |
| 2 | `crates/flowrs-instruments/data/sim/flowrs/faults.toml` | Apache-2.0 | Written by flowRS: the simulated benches of the station template and of the faults; flowrs_instruments::sim::BUILTIN includes them |
| 2 | `crates/flowrs-appshell/build.rs` | as the crate | A build script |
| 2 | `crates/flowrs-instruments/data/pymeasure.json` | facts from MIT projects | Which instrument models and commands PyMeasure (MIT) and python-ivi (MIT) describe: facts extracted, no code copied; the crate's NOTICE names both |
| 1 | `crates/flowrs-live/fixtures/rtt_demo.elf` | Apache-2.0 | A demo firmware built by flowRS from fixtures/rtt-demo, compiled in as flowrs_live's demo stream |
| 1 | `styles/kit.css` | Apache-2.0 | The component styles every exported app carries |
| 1 | `styles/tokens.css` | Apache-2.0 | The design tokens every exported app carries |
| 1 | `tools/kani-core.sh` | Apache-2.0 | The proof script a flowrs-core test reads, to hold its list of harnesses to the code |
| 1 | `registry/keys/flowrs-production-2026-11.pub.json` | Apache-2.0 | The registry's public key: what `flowrsc pkg` trusts by default. No secret |
| 1 | `spec/flowrs-document-2.schema.json` | Apache-2.0 | The specification's generated schema |
| 1 | `spec/flowrs-document-1.schema.json` | Apache-2.0 | The specification's schema, version 1.0.0 as published |
| 1 | `crates/flowrs-viz/corpus/charts.json` | Apache-2.0 | Written by flowRS over synthetic data; compiled in |
| 1 | `crates/flowrs-pil/tests/fixtures/mcuio.flowrs` | Apache-2.0 | Written by flowRS: a graph flowrs-core's proof corpus compiles in |
| 1 | `crates/flowrs-iface/fixtures/can/vehicle.dbc` | Apache-2.0 | Written by flowRS: the DBC flowrs-cli's can-node test reads |
| 1 | `crates/flowrs-core/src/graph/edit/cases.json` | Apache-2.0 | Written by flowRS: the edit loop's cases |
| 1 | `crates/flowrs-linux/data/boots.json` | Apache-2.0 | Written by flowRS: what booting each Linux twin measured |
| 1 | `crates/flowrs-core/data/program-proofs.json` | Apache-2.0 | Written by flowRS: which generated programs were proved; codegen reads it |
| 1 | `crates/flowrs-sim/data/timebase/measured.json` | Apache-2.0 for flowRS's own measurement; the table column is facts from Microchip's AVR Instruction Set Manual (DS40002198B) and the RP2040 Datasheet (Table 81) | What avr8js and rp2040js charge each of a set of instructions, beside the vendors' figures, as crates/flowrs-ui/js-test/timebase.test.mjs measured it: flowrs_sim::timebase includes it, so the crate does not build without it. No text of either document is copied |
| 1 | `spec/flowrs-document-2.md` | CC-BY-4.0 | The document format's specification |
| 1 | `spec/flowrs-document-1.md` | CC-BY-4.0 | The document format's specification, version 1.0.0 as published |
| 1 | `spec/LICENSE` | CC-BY-4.0 | The specification prose's licence text |
| 1 | `spec/flowrs-bench-sim-1.md` | MIT OR Apache-2.0 (adapted from LabCraft's libs/visa/simulation.md) | The simulated bench's contract, which flowrs-instruments' sim module implements |
| 1 | `styles/fonts.css` | OFL-1.1 | The Geist faces every exported app carries, embedded, under their own licence |
| 1 | `styles/OFL.txt` | OFL-1.1 | The faces' licence text |
| 1 | `crates/flowrs-boards/data/renode_platforms.json` | facts | A list of platform names |
| 1 | `crates/flowrs-boards/data/soc/alif_ensemble.json` | facts | Addresses read from Alif's published device trees and Yocto machine files, no text of them copied; the file names its sources |
| 1 | `crates/flowrs-boards/data/census.json` | facts | The census of boards: identities, parts, sizes. Facts, with the source of each row named in it; the crate's NOTICE names the sources |
| 1 | `tools/bridges/robotics-probe/registry.jsonl` | facts | The crate versions a robotics export may pin, from the crates.io index |
| 1 | `crates/flowrs-appshell/data/export-registry.jsonl` | facts | The crate versions, checksums and licences an export may pin, from the crates.io index |
| 1 | `crates/flowrs-boards/data/boards.json` | facts from PlatformIO's board manifests | Each board's part, memory sizes, flash protocol, USB ids and product link, extracted as facts, no file copied; the crate's NOTICE names the source |
| 1 | `crates/flowrs-sim/data/wiring.json` | facts from sources under LGPL-2.1, GPL-3.0, MIT, BSD, Apache-2.0 and unstated | Which pin each board wires to what: facts only, extracted by tools/census/harvest_wiring.py, no file or text of any source copied. The table's own `sources` member names each source, its version, digest and licence; the firmware export's fidelity row reads it |
| 1 | `crates/flowrs-boards/data/pic32.json` | facts; Microchip device family packs are Apache-2.0 | Each PIC32 part's core and its peripherals' kinds and addresses, read from the EDC files of Microchip's packs, and memory regions from QEMU's memory tree, no text of either copied; the file's `source` member names each pack and its version; the census reads it |
## Left out
| Files | Example | Licence | Why |
|---|---|---|---|
| 3480 | `crates/flowrs-sim/data/wiring/b/01space-0-42-oled-esp32c3.json` | facts, as below | The per-board shards the IDE fetches; the engine reads the whole table in data/wiring.json |
| 280 | `crates/dpb-plot/tests/no_alloc.rs` | per file | That crate's own suite runs in flowRS's repository, not here; its corpora are kept out of what must be audited |
| 108 | `crates/flowrs-app/a2ui/v0_9_1/catalogs/basic/catalog.json` | Apache-2.0 (A2UI) | A2UI's schemas and examples, for flowrs-app's own tests, which do not run in the snapshot; the code that speaks A2UI stays, its licence in LICENSES/ |
| 81 | `crates/flowrs-live/fixtures/biosignal/PROVENANCE` | Apache-2.0 and CC0, per file | Recordings and sessions for flowrs-live's own tests, which do not run in the snapshot |
| 57 | `crates/flowrs-capture/tests/corpus/PROVENANCE` | per file: public domain by sigrok-dumps' README, and others | Captures of other people's hardware, kept out of what must be audited; the two flowrs-core tests that read them are ignored here |
| 53 | `crates/flowrs-device/fixtures/tls/ca.der` | per file | That crate's own test data |
| 44 | `crates/flowrs-iface/fixtures/dbc/LICENSE` | MIT and BSD-3-Clause, per directory | Corpora for flowrs-iface's own tests, which do not run in the snapshot |
| 33 | `crates/flowrs-app/eval/apps/bci-alpha.oui` | per file | Evaluation corpora |
| 29 | `crates/flowrs-boards/examples/census_report.rs` | Apache-2.0 | The crate's example programs, which the engine does not need |
| 6 | `crates/flowrs-viz/oracle/.npmrc` | per file | A test oracle's scripts |
| 3 | `crates/flowrs-live/tools/defmt-oracle/Cargo.lock` | Apache-2.0 | A test oracle's helper |
| 3 | `crates/flowrs-transport/fuzz/.gitignore` | Apache-2.0 | Fuzzers |
| 2 | `crates/flowrs-core/public/wasm/flowrs_core.js` | first-party build output | A stale wasm build of the crate, not source; nothing reads it |
| 1 | `crates/flowrs-app/registry.snapshot.json` | Apache-2.0 | A check of flowrs-app's own tests, which do not run in the snapshot |
| 1 | `crates/flowrs-instruments/tests/vectors/ml_dsa_65.json` | NIST and Wycheproof vectors | Test vectors of a test that does not run in the snapshot |
| 1 | `crates/flowrs-sim/data/mcs51/ucsim-record.txt` | test data, the output of a GPL oracle run as an external program | The streams ucsim agreed with; only flowrs-sim's own differential test reads it, and that suite does not run in the snapshot |