Skip to content
CAI
Software that uses CAICheck a score

storytold/soundcraft

70.3

Strong · 7 November 2026

97.4k

lines of production code

Rust

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Behavioural changes

1 commit (0 fixes) modifying (repo-wide)

A change to existing behaviour in (repo-wide) — 1 commit, 43 files: “refactor(cli): parse \soundcraft-cli\ arguments with clap, following RFC-0012 (\#1136)” (refs \#1136). Also in this area: 4 commits (0 fixes) modifying apps/soundcraft-cli; 1 commit (1 fix) fixing apps/soundcraft-cli; 3 commits (2 fixes) fixing apps/soundcraft-cli.

apps/soundcraft-cli/tests, apps/soundcraft-cli/tests/it, apps/soundcraft-web/src · low confidence · unverified

1 commit (0 fixes) modifying assets, packaging

A change to existing behaviour in assets, packaging — 1 commit, 37 files: “Release pipeline: signed macOS/Windows, Linux packages, FreeBSD, Web; app icon”. Also in this area: 7 commits (0 fixes) modifying packaging.

packaging/macos · medium confidence · unverified

1 commit (0 fixes) modifying crates/clap-host, crates/midi

A change to existing behaviour in crates/clap-host, crates/midi — 1 commit, 3 files: “refactor: reduce cognitive complexity in audio-io, midi, dsp, engine, playback, plugin hosts (S3776) (\#1097)” (refs \#1097). Also in this area: 1 commit (1 fix) fixing crates/midi.

crates/midi/src · medium confidence · unverified

1 commit (0 fixes) modifying crates/dsp/examples, crates/mix/examples

A change to existing behaviour in crates/dsp/examples, crates/mix/examples — 1 commit, 2 files: “Parallel mixer, Setup windows, clip gain lines, folders, mix-strip sections, docs”.

crates/dsp/examples, crates/mix/examples · medium confidence · unverified

1 commit (0 fixes) modifying crates/engine/examples

A change to existing behaviour in crates/engine/examples — 1 commit, 1 file: “Add a demo-session bounce benchmark”.

crates/engine/examples · medium confidence · unverified

1 commit (0 fixes) modifying packaging

A change to existing behaviour in packaging — 1 commit, 4 files: “Release: Flatpak x86\_64/aarch64, AppImage zsync updates, README Downloads (\#13)” (refs \#13). Also in this area: 2 commits (1 fix) modifying packaging; 3 commits (0 fixes) modifying packaging; 1 commit (1 fix) fixing packaging.

(repo-wide) · low confidence · unverified

17 commits (3 fixes) modifying crates/engine

A change to existing behaviour in crates/engine — 17 commits (3 fixs), 14 files: “Count tracks, not lanes, in track.clear\_trim\_automation's result”; “Engine: mix.instrument takes the instrument's parameters and refuses unknown fields (\#265)”; “Scale fades, sync point and gain envelope when importing a clip group at another sample rate (\#453)”; and 14 more (refs \#265, \#453, \#454, \#368, \#426, …). Also in this area: 1 commit (0 fixes) modifying apps/soundcraft, crates/engine, crates/ui-egui; 1 commit (1 fix) fixing crates/engine, crates/model; 12 commits (1 fix) modifying crates/engine/src; 6 commits (4 fixes) fixing crates/engine/src.

(repo-wide) · low confidence · unverified

2 commits (0 fixes) modifying assets

A change to existing behaviour in assets — 2 commits, 15 files: “Release pipeline: signed macOS/Windows, Linux packages, FreeBSD, Web; app icon”; “docs: tidy agent, contributor and release docs”.

assets · medium confidence · unverified

20 commits (2 fixes) modifying crates/engine

A change to existing behaviour in crates/engine — 20 commits (2 fixs), 28 files: “score: make the MusicXML oversize test reach the measure check”; “Clip List: a paste reuses a held Auto Rename scheme only when its text matches too”; “Integration: AudioSuite speed ramp: Fit To plays the first two thirds for Slow Down and the last for Speed Up”; and 17 more (refs \#1058, \#1060, \#1097). Also in this area: 1 commit (0 fixes) modifying crates/clap-host, crates/dsp, crates/mix; 1 commit (1 fix) fixing crates/dsp; 2 commits (2 fixes) fixing crates/dsp, crates/playback; 5 commits (1 fix) modifying crates/engine.

(repo-wide) · low confidence · unverified

3 commits (0 fixes) modifying crates/clap-host

A change to existing behaviour in crates/clap-host — 3 commits, 4 files: “clap-host tests: load plugins only from a freshly created private temp directory (\#1295)”; “Name the missing entry point in the not-a-plugin errors on every platform”; “Plugin hosts: keep the system's reason when a plugin binary fails to load” (refs \#1295). Also in this area: 1 commit (0 fixes) modifying crates/au-host, crates/clap-host, crates/vst3-host; 8 commits (5 fixes) fixing crates/ui-egui; 4 commits (1 fix) modifying crates/vst3-host; 1 commit (1 fix) fixing crates/vst3-host.

crates/vst3-host/src, crates/vst3-host/src/ffi, crates/vst3-host/tests/it · low confidence · unverified

30 commits (0 fixes) modifying crates/ui-egui

A change to existing behaviour in crates/ui-egui — 30 commits, 35 files: “MIDI Editor: rubber-band selection, Cmd+A, arrow-key transpose and move, header toolbar”; “Drag whole audio files from the Clip List onto tracks (clip.place\_source)”; “Score export and print, clip group files, Merge Markers, path dialogs for every file command”; and 27 more. Also in this area: 1 commit (0 fixes) modifying crates/clap-host, crates/midi; 8 commits (5 fixes) fixing crates/ui-egui; 6 commits (1 fix) modifying crates/engine.

crates/clap-host/src, crates/clap-host/tests, crates/clap-host/tests/fixture · low confidence · unverified

5 commits (0 fixes) modifying crates/dsp

A change to existing behaviour in crates/dsp — 5 commits, 44 files: “Copy Special › Audio as MIDI: YIN pitch tracking into MIDI notes on the clipboard”; “Foundation: time, audio-io, midi, dsp, model, mix, engine, playback crates”; “Parallel mixer, Setup windows, clip gain lines, folders, mix-strip sections, docs”; and 2 more. Also in this area: 1 commit (0 fixes) modifying crates/vst3-host; 8 commits (5 fixes) fixing crates/ui-egui; 5 commits adding/updating tests in crates/vst3-host/tests.

crates/vst3-host/tests/fixture · medium confidence · unverified

6 commits (1 fix) modifying crates/model

A change to existing behaviour in crates/model — 6 commits (1 fix), 10 files: “xtask gates, parity report, model flags and full channel-format list”; “Engine parity batch (76% engine, 90% with UI), comping, fades, universe, automation writing, loop record”; “Foundation: time, audio-io, midi, dsp, model, mix, engine, playback crates”; and 3 more. Also in this area: 1 commit (1 fix) fixing crates/engine, crates/model; 8 commits (5 fixes) fixing crates/ui-egui; 3 commits (0 fixes) modifying crates/model; 1 commit (0 fixes) modifying crates/model, crates/time.

crates/model, crates/time/src · low confidence · unverified

91 commits (9 fixes) modifying (repo-wide)

A change to existing behaviour in (repo-wide) — 91 commits (9 fixs), 13 files: “Roadmap: recording status”; “Release pipeline: signed macOS/Windows, Linux packages, FreeBSD, Web; app icon”; “Audio device settings: system, devices, sample rate, buffer size; opt-in ASIO”; and 76 more (refs \#1140, \#743, \#155, \#1, \#165, …).

(repo-wide) · low confidence · unverified

Fixes

1 commit (1 fix) fixing crates/clap-host

A fix in crates/clap-host — 1 commit (1 fix), 4 files: “fix(clap-host): check for the main thread off macOS too (\#901)” (refs \#901). Also in this area: 1 commit (0 fixes) modifying crates/clap-host, crates/dsp, crates/mix; 2 commits (0 fixes) modifying crates/clap-host, crates/vst3-host.

crates/clap-host/tests/it · low confidence · unverified

8 commits (5 fixes) fixing crates/ui-egui

A fix in crates/ui-egui — 8 commits (5 fixs), 12 files: “Test a new send's Send window end to end, and tidy send\_route\_menu”; “fix(ui): preserve start of long track names in edit headers”; “Cap the folder indent at eight levels and test against the track's own folder”; and 5 more. Also in this area: 5 commits (0 fixes) modifying crates/ui-egui; 2 commits (1 fix) modifying crates/ui-egui.

_crates/ui-egui/src/edit\window, packaging/windows · medium confidence · unverified

8 commits (5 fixes) fixing crates/ui-egui

A fix in crates/ui-egui — 8 commits (5 fixs), 19 files: “Ask before a session opened in the browser replaces a modified one (fixes \#432)”; “Plugin-only editor changes mark the session modified (fixes \#455)”; “Modify Group: edit a group's name, tracks and Edit/Mix linking”; and 5 more (refs \#432, \#455, \#599, \#651). Also in this area: 5 commits (0 fixes) modifying crates/dsp; 4 commits (1 fix) modifying crates/vst3-host; 5 commits adding/updating tests in crates/vst3-host/tests; 1 commit adding/updating tests in crates/vst3-host.

crates/clap-host/tests/common, crates/vst3-host/tests · medium confidence · unverified

Test coverage

1 commit adding/updating tests in (repo-wide); 10 commits adding/updating tests in crates/ui-egui/tests.

Written by cca.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 70.

Lenses

  • Code Health 87
  • Architecture 96
  • Maturity 65
  • Readiness 73
  • Security 69

Changes since last survey

  • 300 commits — 180 feature/other, 120 fixes

By area

  • (repo) — 112 commits
  • crates/ui-egui — 48 commits
  • crates/engine — 45 commits
  • (root) — 13 commits
  • crates/audio-io — 9 commits
  • crates/clap-host — 9 commits
  • crates/video — 9 commits
  • crates/mix — 7 commits
  • crates/vst3-host — 6 commits
  • apps/soundcraft-cli — 5 commits
  • crates/time — 5 commits
  • packaging/windows — 5 commits
  • crates/dsp — 4 commits
  • .github/workflows — 3 commits
  • contributors/people.toml — 3 commits
  • packaging/linux — 3 commits
  • crates/automation — 2 commits
  • crates/midi — 2 commits
  • crates/model — 2 commits
  • crates/playback — 2 commits

Notable commits

  • fix: Audio import: regression test for oversized Matroska element sizes (#878)
  • fix: Fix H.264 DPB integer overflow on huge pic num differences
  • fix: Fix integer overflow in AutomationLane::value_at for distant breakpoints
  • fix: Fix overflow in GridValue::step_samples at extreme positions
  • fix: Fix overflow in TempoMap bar math with a meter near i64::MAX
  • fix: Fix remove_dc mean when a channel has non-finite samples
  • fix: Fix stale end on a Memory Location added during playback
  • fix: Matroska regression test: assert each case reaches the read it targets
  • fix: Merge commit 'refs/check/mw-soundcraft-main' into fix/strip-silence-scan-stops
  • fix: Merge commit 'refs/check/mw-soundcraft-main' into fix/updates-ui-wasm-dead-code
  • fix: Merge current main into fix/gnome-window-decorations
  • fix: Merge main into fix/clamp-clip-fx-gain-send-level
  • fix: Merge pull request #1020 from Silvertree2010/fix/h1998-clip-group-import-rejects-its-ow
  • fix: Merge pull request #1024 from Silvertree2010/fix/h2052-min-secs-position-strings-are-mi
  • fix: Merge pull request #1025 from Silvertree2010/fix/h2054-session-text-export-counts-midi
  • fix: Merge pull request #1026 from CloudCorpRecords/fix/folder-delete-shared-bus
  • fix: Merge pull request #1032 from Silvertree2010/fix/h2086-midi-export-writes-notes-that-a
  • fix: Merge pull request #1057 from Silvertree2010/fix/h2373-trim-tool-lets-a-stretched-clip
  • fix: Merge pull request #1061 from Silvertree2010/fix/h2409-musicxml-svg-score-export-writes
  • fix: Merge pull request #1062 from Silvertree2010/fix/h2436-moving-several-clips-left-past-t
  • …and 280 more

Written by cca.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

storytold/soundcraft was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 7 November 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit bb0e070ab93d13f7c5acb5a3608e7280f89415cf — the exact code this score is about.
  • Scored under rubric-2026.11.2 — the same rubric and the same method as every other entry in this index.
  • Measured by Canine Code Analyzer (cca.canine.dev) using cca measure-2026.11.3+preprod-5f8314471808.