Unified Staleness Awareness
The system generates project intelligence (scan.json) and tracks version currency, but has no mechanism to detect when that intelligence is drifting — and even existing notifications (npm updates, version mismatch) can be buried in tool output that the Ana agent may or may not relay. Both problems must be fixed together: adding scan staleness detection without fixing the relay problem means the new notification gets buried the same way existing ones do.
verdict PASSscore 20 / 20findings 4 (0 risk · 2 debt · 2 obs)duration 1h 15mrejection cycles 0shipped May 17, 2026surface cli
Pipeline timeline
Intent to proven code in 1h 15m across Think, Plan, Build, and Verify.
Think30m
Plan16m
Build9m
Verify6m
Assertion ledger
20 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | Stale scan triggers a notification with age and commit count | verified | ok |
| A002 | Staleness requires both time AND commit thresholds to be met | verified | ok |
| A003 | Staleness requires both time AND commit thresholds to be met | verified | ok |
| A004 | Unresolvable git SHA falls back to time-only notification | verified | ok |
| A005 | Time-only fallback still detects staleness by age alone | verified | ok |
| A006 | CI environments never see staleness warnings | verified | ok |
| A007 | Missing scan date is handled gracefully without crashing | verified | ok |
| A008 | Unparseable scan date is handled gracefully without crashing | verified | ok |
Findings 4 total
debtpackages/cli/src/commands/check.ts→ monitor
Freshness section shows 'current' when scan data is unavailable (null result)
obswebsite/lib/copy.ts→ closed
Unrelated website pricing change included in feature branch
debtpackages/cli/tests/utils/scan-freshness.test.ts→ monitor
No integration tests for output/JSON assertions — unit tests + source inspection chain only
obspackages/cli/src/utils/scan-freshness.ts→ closed
daysSinceScan uses Math.floor — scan exactly 7.9 days old shows as 7, not stale
Integrity seal
scopesha256:95b7c953d85b1...
contractsha256:00512cbdd4604...
plansha256:1959fd7972759...
specsha256:05ee56e4e70e8...
build-reportsha256:3a28394a06d90...
build-datasha256:aed0746c41d86...
verify-reportsha256:38fef33fa84af...
verify-datasha256:16f83deeaf2a3...
audit cmd$ ana proof audit unified-staleness-awareness → all hashes match