storytold/craft-anything
54.3
Adequate · 7 November 2026
187.2k
lines of production code
Rust
primary language
1
measurement over time
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.