Fix Workspace Glob Fallback

Three repos in the 90-repo validation set fail completely on `ana scan`: umami crashes, erxes gets zero detection, immich gets zero detection. These are the only repos where the product FAILS — every other known limitation is partial detection, not total failure. A developer hitting this on their first `npx anatomia-cli scan` would never come back.

verdict PASSscore 14 / 14findings 4 (0 risk · 1 debt · 3 obs)duration 19h 1mrejection cycles 0shipped May 25, 2026surface cli

Pipeline timeline

Intent to proven code in 19h 1m across Think, Plan, Build, and Verify.

Think
7m
Plan
5m
Build
4m
Verify
4m

Assertion ledger

14 claims, each independently verified. Showing 8 — show all →

IDSaysMatcher
A001A workspace with unresolvable glob patterns doesn't crash the scanverifiedok
A002Root package dependencies are detected when workspace globs can't be resolvedverifiedok
A003Dev dependencies from root are detected when workspace globs can't be resolvedverifiedok
A004Exactly one primary source root exists when workspace globs can't be resolvedverifiedok
A005No monorepo tool is reported when workspace packages can't be resolvedverifiedok
A006Dependencies from root package.json are recovered when workspace packages have invalid metadataverifiedok
A007Dev dependencies from root are recovered when workspace packages have invalid metadataverifiedok
A008Scan treats a failed workspace as single-repo with recovered depsverifiedok

Findings 4 total

obspackages/cli/src/engine/census.tsmonitor
rootDevDeps is empty in Fix B path — fallback devDeps only flow through sourceRoot.devDeps
obspackages/cli/src/engine/census.tsclosed
Defensive guard for !result.rootPackage is unreachable with current @manypkg behavior
debtpackages/cli/tests/engine/census.test.tsmonitor
Fix A test does not assert deps/devDeps are separated correctly — only checks allDeps
obspackages/cli/src/engine/census.tsclosed
fallbackRootPackage type allows scripts as Record<string, unknown> but JSON.parse returns any — no runtime validation

Integrity seal

scopesha256:48873cb5e70c3...
contractsha256:b3351aa73038b...
plansha256:1b5a849dcf0c2...
specsha256:22a0d5b24d67a...
build-reportsha256:45621d9d52ebe...
build-datasha256:a3919e88d7c72...
verify-reportsha256:ed60310df44e2...
verify-datasha256:7dbb63a8a214b...
audit cmd$ ana proof audit fix-workspace-glob-fallback   → all hashes match