Skip to content

Repository files navigation

strata

A dataflow evaluator whose graph is an auditable record.

Nodes are pure functions. Every evaluation writes a deposit: the output artifact plus a record of what produced it — input hashes, parameters, code version, timestamp. Deposits are content-addressed and append-only. Re-running the graph skips nodes whose inputs are unchanged.

The distinguishing feature is not the dataflow. It is that artifacts carry a fitness class declaring what they may be used for, and fitness never rises through a node unless that node cites an external measurement. Interpolation, subdivision and remeshing enlarge a dataset without raising what it is fit for, and the format makes that non-negotiable rather than a matter of the operator's memory.

strata sits beside Rhino. It does not replace it.

What this is not

  • No GUI, no node canvas, no embedded editor. CLI and a Python API only.
  • No geometry kernel. Geometry is delegated to OCCT and rhino3dm.
  • No Rhino or Grasshopper reimplementation.
  • Not fast. Correctness and legibility of the record come first.
  • No plugin system in v0.1. Nodes are registered in-tree.

Status

M0 — skeleton. Package layout, build, lint, tests, CI. Nothing else is implemented. strata --version is the only working command.

milestone state
M0 skeleton implemented
M1 store and record not started
M2 graph and executor not started
M3 fitness not started
M4 geometry and Rhino interop not started
M5 explain and verify not started
M6 terrain pack not started

Provenance and contributions

Substantial portions of this code are written by an AI agent working under a written specification. See PROVENANCE.md — the reasoning is the same as the software's: a record that omits the conditions of its own production is not evidence.

Issues and pull requests are closed while the project is pre-alpha. This is not a finished tool and cannot yet be supported as one.

Install

Requires Python 3.12 or later.

python -m venv .venv
. .venv/bin/activate
pip install -e ".[dev]"
strata --version

Development

ruff check .
ruff format --check .
pytest

CI runs the same four steps on a clean ubuntu-latest runner. CI is the proof of Linux-nativeness; a pass on the developer machine is not.

Licence

Apache-2.0. See LICENSE.

About

A dataflow evaluator whose graph is an auditable record. Artifacts declare what they are fit for, and no node raises that without citing a measurement.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages