Setup Verification Hints

The setup agent presents scan output as-is. The developer confirms "yes" to config that might be misleading, because neither party has verified the consequential claims. The scan is deterministic code that makes heuristic bets — it's right most of the time, but when it's wrong, the error propagates silently into ana.json and project-context.md, shaping every pipeline run that follows.

verdict PASSscore 23 / 23findings 6 (0 risk · 2 debt · 4 obs)duration 5h 57mrejection cycles 0shipped May 23, 2026surface cli

Pipeline timeline

Intent to proven code in 5h 57m across Think, Plan, Build, and Verify.

Think
14m
Plan
12m
Build
9m
Verify
6m

Assertion ledger

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

IDSaysMatcher
A001Database detection captures the triggering npm package nameverifiedok
A002Auth detection captures the triggering npm package nameverifiedok
A003Payment detection captures the triggering npm package nameverifiedok
A004Package name fields are null when no detection occursverifiedok
A005Single-repo projects always produce empty provenanceverifiedok
A006Detection from the primary package produces empty provenanceverifiedok
A007Detection from a non-primary package records the source pathverifiedok
A008Provenance checks devDeps, not just production depsverifiedok

Findings 6 total

debtpackages/cli/src/engine/scan-engine.tsclosed
detectAiSdk(allDeps) called twice — line 787 for stack and line 798 for provenance
obspackages/cli/tests/engine/detectors/dependencies.test.tsclosed
Duplicate @ana tag IDs across describe blocks (A001-A004 used by both old and new tests)
obspackages/cli/tests/engine/detectors/dependencies.test.tsclosed
Redundant toBeDefined() before specific toBe() in A008 and A009 tests
obspackages/cli/src/engine/detectors/dependencies.tsmonitor
No-primary-root edge case — findStackProvenance silently treats all roots as non-primary when no root.isPrimary is true
obsclosed
Spec gotcha said capture nodeAiSdk once and use in both stack and provenance — builder captured separately but didn't wire into stack construction
+1more findings

Integrity seal

scopesha256:f5c9c70396237...
contractsha256:6a80820c03820...
plansha256:681b9a2daa864...
specsha256:1278078eaba4f...
build-reportsha256:e01ece06fd274...
build-datasha256:deb9203585422...
verify-reportsha256:ef84413fcd88e...
verify-datasha256:5436b0ca95749...
audit cmd$ ana proof audit setup-verification-hints   → all hashes match