Skip to content
CAI
Software that uses CAICheck a score

storytold/craft-anything

54.3

Adequate · 7 November 2026

187.2k

lines of production code

Rust

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

Behavioural changes

1 commit (0 fixes) modifying crates/engine/src/tools/android\_tools, crates/mcp

A change to existing behaviour in crates/engine/src/tools/android\_tools, crates/mcp — 1 commit, 2 files: “Stop deadlocks as they form and watch every lock for one that never lets go (\#5)” (refs \#5).

_crates/engine/src/tools/android\tools, crates/engines/src/assets · low confidence · unverified

1 commit (0 fixes) modifying crates/engine/src/tools/android\_tools, crates/mcp

A change to existing behaviour in crates/engine/src/tools/android\_tools, crates/mcp — 1 commit, 2 files: “Stop deadlocks as they form and watch every lock for one that never lets go (\#5)” (refs \#5). Also in this area: 2 commits (0 fixes) modifying crates/mcp.

crates/mcp · low confidence · unverified

1 commit (0 fixes) modifying crates/formats

A change to existing behaviour in crates/formats — 1 commit, 52 files: “More format parsers keep to their declared lengths and refuse impossible values (\#986)” (refs \#986). Also in this area: 25 commits (0 fixes) modifying crates/formats.

crates/formats/src/dotnet, vendor, vendor/wgpu-hal · low confidence · unverified

22 commits (0 fixes) modifying crates/ui-egui/src

A change to existing behaviour in crates/ui-egui/src — 22 commits, 26 files: “Choose an agent app's program in Settings → AI (\#117)”; “Add a Japanese UI (\#87)”; “Stop deadlocks as they form and watch every lock for one that never lets go (\#5)”; and 19 more (refs \#117, \#87, \#5, \#125, \#10, …). Also in this area: 1 commit (0 fixes) modifying (repo-wide).

crates/ui-egui/examples · low confidence · unverified

25 commits (0 fixes) modifying crates/formats

A change to existing behaviour in crates/formats — 25 commits, 24 files: “Return header metadata for unencrypted IoStore containers without a directory index (\#396)”; “Bun text assets report their stored UTF-16LE encoding (R3.11) (\#435)”; “Scan C\# delegate declarations in reconstruction (\#463)”; and 22 more (refs \#396, \#435, \#463, \#298, \#208, …). Also in this area: 1 commit (0 fixes) modifying (repo-wide).

crates/testkit · low confidence · unverified

4 commits (0 fixes) modifying apps/craft-anything

A change to existing behaviour in apps/craft-anything — 4 commits, 3 files: “Ignore switched-off screens and shared PCI ids when picking the Linux GPU (\#671)”; “Draw with Windows' own shader compiler, and say how to start without the graphics card when the device is lost (\#558)”; “Builder limits, OpenRouter tools, a software-renderer fallback, calmer spinners, lean local builders, lldb calls and LM Studio ports (\#657)”; and 1 more (refs \#671, \#558, \#657, \#659). Also in this area: 1 commit (0 fixes) modifying apps/craft-anything.

(repo-wide) · low confidence · unverified

5 commits (0 fixes) modifying crates/platform

A change to existing behaviour in crates/platform — 5 commits, 9 files: “Find Node in nvm for Windows' folders and say when it's missing (\#985)”; “Stop programs started alongside a console capture from holding it open (\#997)”; “Find browsers under their other Linux names, and say why one isn't found (\#927)”; and 2 more (refs \#985, \#997, \#927, \#995, \#910). Also in this area: 1 commit (0 fixes) modifying crates/analysis.

crates/analysis · low confidence · unverified

Test coverage

1 commit adding/updating tests in crates/ai/src/detect; 13 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 54.

Lenses

  • Code Health 50
  • Architecture 95
  • Maturity 69
  • Readiness 67
  • Security 68
  • Event Sourcing 100
  • Accessibility 46

Changes since last survey

  • 300 commits — 299 feature/other, 1 fixes

By area

  • crates/ai — 69 commits
  • crates/engine — 59 commits
  • crates/ui-egui — 42 commits
  • crates/formats — 33 commits
  • (root) — 17 commits
  • crates/platform — 17 commits
  • crates/analysis — 16 commits
  • docs/ROADMAP.md — 8 commits
  • crates/disasm — 7 commits
  • apps/craft-anything — 6 commits
  • apps/craft-anything-cli — 6 commits
  • crates/engines — 6 commits
  • crates/js — 4 commits
  • crates/mcp — 3 commits
  • .github/workflows — 2 commits
  • crates/setup — 2 commits
  • packaging/linux — 2 commits
  • vendor/wgpu-hal — 1 commit

Notable commits

  • fix: Agent setup and streaming fixes: Aider, Antigravity on Windows, chat-only models, SSE limits and retries (#653)
  • change: A GraphQL document that begins with a comment is still read (#386)
  • change: A Haswell request picks the x86_64h Mach-O slice (#371)
  • change: A Mach-O executable with only __mh_execute_header counts as stripped (#373)
  • change: A build stops with a plain message when craft-anything-cli is missing (#226)
  • change: A builder never continues a session another builder saved (#471)
  • change: A builder on a local model isn't told to call memory tools it isn't offered (#746)
  • change: A capture's timeout stops every process in the group, not just the leader (#246)
  • change: A failed adb download or capture doesn't leave a folder that blocks the retry (#266)
  • change: A hand-off that ends just before a kill reports its exit (#910)
  • change: A large approved action keeps its allow decision over MCP (#314)
  • change: A long prompt shows more of itself in a tall window (#734)
  • change: A plain HTML and CSS request builds a static site instead of a Rust app (#225)
  • change: A plain HTML site passes the build check as it is, with nothing to build (#500)
  • change: A remote OpenAI-compatible service gets the cloud context budget and its price, not a local model's (R2.1) (#379)
  • change: A same-size rewrite of an unhashed file reads as unknown, not unchanged (#241)
  • change: A website capture says when its HTML was cut at the size limit (#472)
  • change: A window that can't start says why instead of the app crashing (#786)
  • change: ARM and Thumb branches point at their real targets (#363)
  • change: ARM32 loads and stores keep their memory operands in pseudo-C (#450)
  • …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/craft-anything 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 512ff768189bade427b301883967b19d6fcaa8a5 — 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.