v0.2 roadmap
look at the artifact before it touches your machine.
everything below either makes that sentence true, or deletes something that distracts from it. live progress; full detail in docs/ROADMAP.md.
phase 0 — restore trust
done- ✓fix the inverted socket score (flag low safety scores, not high)
- ✓migrate off the deprecated socket endpoint
- ✓block only on hard signals; everything else is a warning
- ✓demote noisy patterns outside lifecycle scripts
- ✓agent error ≠ agent rejection, with a 120s timeout
- ✓loud warnings on config parse failures
- ✓green test suite
exit criterion met — axios, chalk, left-pad, react, zod pass clean; malicious fixtures still block.
phase 1 - cut scope
done- ✓presets collapsed to
defaultandstrict - ✓active-incident advisory mode deleted
- ✓npm staged-publish flow deleted
- ✓sbom output deleted
- ✓safe-resolver suggestions deleted
- ✓
scguard installpasses original args through the gate - ✓reduce
SCGUARD_*env vars to four public controls - ✓shrink
commands.tsunder 700 lines; help fits one screen
exit criterion met - small surface, small
commands.ts, docs describe only what remains.phase 2 — calibration corpus
done- ✓benign corpus: top 50 npm packages must pass under default policy (offline fixtures)
- ✓malicious corpus: real-world attack shapes must block
- ✓both wired into
bun run checkand ci
exit criterion met — a pattern change that reintroduces the axios false positive fails ci.
phase 3 — proxy pivot
not started- ○spike: bun http proxy for registry.npmjs.org gating tarball fetches
- ○decision gate on install-time latency
- ○
scguard proxy start|stop|status|setup - ○verdict cache keyed by tarball sha256
- ○auth / scoped-registry passthrough
- ○readable 403 block pages pointing at the report
exit criterion — clean installs stream through the proxy; malicious tarballs refused with a report. no shell hook involved.
phase 4 — polish + release
not started- ○readme, site, and demos updated to the proxy-first story
- ○
scguard doctorverifies proxy + agent auth for real - ○changelog + v0.2.0 tag
last updated 2026-07-12 · status reflects the current Phase 1 pull request.