Skip to content

Releases: celikgo/souxmar

souxmar v0.9.0 — first release

Choose a tag to compare

@github-actions github-actions released this 19 Aug 22:17
7aaab85

souxmar's first release. There was no v0.x series before this — no earlier
tag, no earlier artefact, nothing to upgrade from. The version history that
used to sit in CHANGELOG.md was a development log, and it now lives in
docs/HISTORY.md
labelled as one.

What is in it

  • A stable C plugin ABI (include/souxmar-c/), v1 major frozen at minor
    v1.9, with a fault-isolating plugin host, heap accounting and a conformance
    suite. 25 in-tree plugins provide 38 capabilities across meshing,
    reading, solving, post-processing and writing.
  • A pipeline runner — YAML pipelines, DAG scheduler, content cache, typed
    --json CLI output, and a determinism gate that holds output byte-identical
    across Linux, macOS and Windows.
  • An agentic AI layer — a frozen 24-tool contract, BYOK credentials
    (Anthropic / OpenAI / local Ollama), session budget, audit log, and a
    scripted eval suite.
  • Additive-manufacturing and marine physics — LPBF thermal history and
    melt pool, inherent-strain distortion and residual stress, FFF interlayer
    bonding, DfAM checks, slicing to G-code and CLI, and hydrostatic /
    hull-collapse / corrosion / qualification-dossier for marine parts.
  • 740 gtest cases across 67 files; ~66,800 tracked lines of C/C++;
    45 ADRs and 9 RFCs.

Read this before downloading

The tarballs below are unsigned, and they contain the CLI and the static
libraries — no plugins, and not the plugin SDK headers. Every capability
souxmar has lives in a plugin, so a downloaded build does this:

$ ./souxmar-0.9.0-macos-arm64/bin/souxmar version
souxmar 0.9.0 (ABI v1)
$ ./souxmar-0.9.0-macos-arm64/bin/souxmar plugin list
no plugins found. Set $SOUXMAR_PLUGIN_PATH or pass --plugin-path.

Build from source for anything real. On macOS you also need
brew install autoconf autoconf-archive automake libtool — vcpkg builds
libsodium through autotools.

git clone https://github.com/celikgo/souxmar.git && cd souxmar
export VCPKG_ROOT="$HOME/vcpkg"
cmake --preset dev && cmake --build --preset dev

cd examples/stl-cube
../../build/dev/src/cli/souxmar run pipeline.yaml \
  --plugin-path ../../build/dev/examples/plugins    # -> cube.vtu

There is no PyPI package; pip install pysouxmar does not work. Build the
bindings with the dev-python preset.

Verifying a download

shasum -a 256 -c SHA256SUMS-macos-arm64.txt

That, plus the build-provenance attestation on this release, establishes which
workflow run produced the bytes. It does not establish that the project
signed them — no signing credentials exist yet, which is what the .UNSIGNED
file beside each artefact says.

What this is NOT

Stated per capability, generated from the tree, in
docs/CAPABILITIES.md:

  • No CAD kernel. brep.h and sketch.h are ABI surface; the in-core
    backing returns NOT_IMPLEMENTED and no cad.* plugin exists.
  • The always-on solvers are demonstration stubs. solver.heat.linear,
    solver.elasticity.linear, solver.modal.linear and solver.cfd.simple
    return closed-form fields so the pipeline and examples have something
    runnable. They are not FEM and not CFD — no stiffness matrix is assembled.
    The one real discretised solve, solver.heat.fenicsx (DOLFINx + PETSc), is
    behind an opt-in build flag.
  • The AM and marine models are closed-form and heuristic, each with a
    cited source and an explicit statement of what it ignores. Screening and
    preliminary-sizing aids, not calibrated process simulations. The marine
    qualification dossier is advisory — souxmar is not a classification society.
  • The desktop viewport does not render. The panel is scaffolded; the
    renderer is RFC-0001 and unbuilt.
  • The Pro-tier services are scaffolds. Nothing is deployed. Every
    *.souxmar.invalid hostname is a placeholder on the RFC 6761 reserved TLD.

The physics

docs/PHYSICS.md
gives each model its governing equation, its citation, its validity envelope
and the direction and magnitude of its known error — Rosenthal
under-predicting LPBF melt-pool depth by 1.5–2×, the one-atmosphere seawater
equation of state running ~1.5 % unconservative at 3000 m, Zoelly
over-predicting sphere collapse by 2–5×.

scripts/gen-physics-figures.py is an independent implementation of the same
closed forms and reproduces all ten hand-checked numbers in the plugin
headers:

$ python3 scripts/gen-physics-figures.py --verify
  ...
  10/10 header hand-checks reproduced.

CI at this commit

CI, Security and Docs site were all green on master at 7aaab85, the
commit this tag points at. CI now also gates version consistency
(version-consistency), the generated capability table and dead documentation
links (docs-truth), and the generated agent-tool page (docs-generated).

Docs: https://celikgo.github.io/souxmar/