4DA knows every dependency on your machine and tells you — and your coding agent — what changed and exactly what to run. Privately, locally.
It reads npm, pnpm, Yarn, Bun, Cargo, Python and Go lockfiles today, with early support for Ruby and PHP; Maven, Gradle and .NET projects are not covered yet.
It reads the lockfiles across all your projects, checks the exact installed versions against OSV advisories and registry releases, and names the fix: the version that clears each advisory and, where the lockfile shows it, whether a lockfile refresh is enough or which parent package to upgrade. No account, and your source code never leaves the machine.
- Version-confirmed findings. An advisory counts only when the version in your lockfile falls inside its affected range. Dev-only and transitive copies are labelled as such, and a crate your build never compiles on this host is marked as unreachable rather than raised as urgent.
- The fix, not just the alert. Each finding carries the version that clears it (per release line, where a fix exists). The Upgrade Plan orders the work across projects and says when a transitive copy needs its parent upgraded instead.
- The Brief. One answer to "anything I need to do today?", grounded in those same facts.
- Your coding agent sees it too. The free, Apache-2.0 MCP server gives Claude Code, Cursor and other MCP hosts the same lockfile-grounded answers: what an upgrade changes, which of your files import the package, which vulnerabilities a bump fixes.
4DA also reads developer news (Hacker News, Reddit, RSS and 20+ other sources) and score it against your stack. That reading is a supporting extra that serves the engine, not the product; the scoring section below explains how it works.
Already using Claude Code, Cursor, or Windsurf? One command:
npx @4da/mcp-serverThis scans your project, detects your stack, and gives your AI assistant live vulnerability scanning, dependency health, upgrade planning, and ecosystem intelligence. No API keys. No accounts. Works standalone — no desktop app required. Full MCP documentation.
This section covers the news reading: articles, releases and discussions from 20+ sources, scored against what you actually build. Dependency findings above do not go through it; they come from your lockfiles and the advisory databases.
Benchmarked across 9 developer personas against a 245-item labeled corpus (1,997 scored evaluations): 93% of content is rejected, and 98.9% of labeled noise is correctly rejected. You can reproduce these figures in one command. When the engine improves, it re-judges everything it already holds: yesterday's noise becomes tomorrow's signal.
Four axes score each item today, with a fifth reserved. An item must pass 2 or more to surface. Single-axis matches are hard-capped at 28% — no matter how strong one signal is, it cannot pass alone.
| Axis | What it measures |
|---|---|
| Context | Semantic similarity to your active codebase |
| Interest | Alignment with your declared topics |
| ACE | Real-time signals from your Git commits and file edits |
| Dependency | Direct matches against your installed packages |
| Learned | Reserved — held out of scoring until it can be validated against your explicit feedback |
What passes the gate goes through 12 quality multipliers: content depth, novelty detection, competing tech penalties, title-body coherence, and intent scoring from recent work. Every constant is calibrated across 9 simulated developer personas with 245 labeled test items.
After keyword scoring, an LLM layer verifies the top items against your full developer context — stack, dependencies, recent commits, anti-technologies, and engagement history. Strict 1-5 rubric:
- 5 = MUST-READ: Security alert for YOUR dependency, breaking change YOU must act on
- 3 = WORTH KNOWING: Useful tool that fits YOUR exact stack
- 1 = NOISE: Mentions your tech but isn't actionable
This is where the gold surfaces — articles the keyword pipeline misses because there's no keyword overlap, but the LLM understands the conceptual relevance to your specific project.
You own the compute. Use Ollama for free local inference (fully private), or bring your own Anthropic/OpenAI key. 4DA never pays for your compute, never stores your keys remotely, never makes API calls you didn't configure.
Content creators who learn the scoring algorithm still can't game it:
- Title-body coherence: titles must deliver on what they promise. Claim "React + Rust + Tauri" but only discuss React? Penalty.
- Keyword concentration: repeating "Rust" four times in a title hurts your score.
- Confirmation gate: keyword-stuffing hits one axis. Without matching the user's codebase, installed packages, AND recent work — the gate rejects it.
- Grounded scoring: relevance keys on your actual dependency graph and stack — not popularity, not engagement. There is no behavioural signal to farm; content scores only when it matters to what you actually build.
No algorithm can be gamed when the scoring signal comes from your local filesystem. Your Cargo.lock doesn't lie.
4DA is local-first and direct-to-provider. There is no 4DA-operated server, no analytics, and no user account system. Your indexed content, scores, and intelligence live in a SQLite database on your machine.
The only outbound traffic:
| Category | Where | Why |
|---|---|---|
| Source adapters | HN, GitHub, Reddit, arXiv, etc. | Fetching public content you configured |
| LLM providers | Anthropic / OpenAI / localhost Ollama | Only if YOU set up BYOK keys |
| License validation | Keygen | Only if you activated a paid license |
| Updater | GitHub Releases | Signed via minisign, once per session |
| Crash reports | None | 4DA sends no crash reports. Export a scrubbed diagnostic bundle locally, on demand. |
That's the whole list. There is no 4DA telemetry endpoint because there is no 4DA cloud.
Don't take our word for it:
| Network Transparency | Every outbound connection, with source code references |
| Trust Architecture | Why local-first means you don't need to trust us |
| Privacy (Plain Language) | One-page, no-legalese privacy summary |
| Security Audit Guide | Map of trust-critical code paths for auditors |
| Build from Source | Compile it yourself and verify the binary |
Pre-built binaries — no Rust toolchain required.
| Platform | Download | Auto-updates |
|---|---|---|
| Windows | .exe installer |
Yes |
| macOS | .dmg (Apple Silicon & Intel) |
Yes |
| Linux | .AppImage / .deb |
Yes |
Every release publishes SHASUMS256.txt and per-file .sha256 sidecars. Verification instructions.
Windows users: the Windows installer is not yet code-signed, so SmartScreen shows "Windows protected your PC / Unknown publisher". Verify the SHA-256 against
SHASUMS256.txtfrom the release first, then click More info → Run anyway. Full details.
Or install the MCP server for Claude Code / Cursor / Windsurf:
npx @4da/mcp-servergit clone https://github.com/4DA-Systems/4DA.git
cd 4DA
pnpm install
pnpm tauri dev # First build: 5-15 min. Dev server: localhost:4444.Prerequisites: Rust (1.93.1 via rust-toolchain.toml), Node.js 20, pnpm 9.15. Platform-specific: Windows needs VS Build Tools 2022 with C++ workload. Full build guide.
First-run setup (API keys, context dirs, sources): Getting Started.
4DA runs on modest hardware. Private semantic search is built in — no GPU, no API key, and no first-run download required.
| Baseline (free) | + Cloud AI (BYOK) | + Local AI (offline) | |
|---|---|---|---|
| RAM | 4 GB | 4 GB | 16 GB (8B model); 32 GB for 12–14B |
| CPU | any 64-bit | any 64-bit | 6–8 cores |
| GPU | not needed | not needed | optional (recommended for speed) |
| Disk | several GB (grows with use) | several GB (grows with use) | + 5–9 GB per model |
| Network | install only | install + your AI provider | install + one model download (or none with Ollama) |
- OS: Windows 10 (1803+) / 11, macOS 10.15+, Ubuntu 22.04+ (WebKitGTK 4.1).
- One installer (~280 MB on Windows, ~300 MB on macOS, ~300–370 MB on Linux). Most of that is the local embedding model (nomic-embed-text v1.5, fp16 ONNX), which ships inside it — no separate download, works fully offline on first run.
- Disk use grows with your corpus. An active install's database reaches a couple of GB and grows by tens of MB a day; each schema migration keeps up to 2 full database backups; caches and models add about 1 GB more. Plan for several GB. The data-retention setting (default 30 days, adjustable 7–365) bounds how long items are kept.
- Baseline = private on-device semantic search. Cloud AI adds AI-written briefings + deeper reranking via your own API key. Local AI runs everything offline (Ollama or a downloaded model).
Your Codebase External Sources
| |
v v
+-----------+ +--------------+
| ACE | | 20+ Source |
| Scanner + | | Adapters |
| Git Watch | | (background) |
+-----+-----+ +------+-------+
| |
v v
+------------------------------------------+
| News scoring: 4 axes (+1 reserved) |
| |
| context --+ |
| interest --+- confirmation gate (2+) |
| ace -------+ |
| dependency-+ x quality x novelty |
| learned ---+ x domain x intent |
+------------------+-----------------------+
|
v
+-----------------+
| What survived |
+-----------------+
| Layer | Technology |
|---|---|
| App Shell | Tauri 2.0 (Rust backend + WebView) |
| Frontend | React 19 + TypeScript + Tailwind CSS v4 |
| Database | SQLite 3.45+ with sqlite-vec (vector search) |
| Scoring | Custom pipeline → build-time Rust codegen |
| Embeddings | nomic-embed-text v1.5 locally — bundled ONNX model (fastembed), or local Ollama when running; OpenAI only on explicit opt-in |
| LLM | Anthropic Claude / OpenAI / Ollama (BYOK) |
Free — $0 forever. No credit card. No account. No expiration.
- Version-confirmed vulnerability findings for every project on your machine, each with the version that fixes it
- The daily Brief (AI-written with your own key or a local model, or built without one)
- The free, open MCP server (16 tools, including upgrade impact and upgrade planning) and the CLI
- News reading with the full scoring engine, natural language search (BYOK), Developer DNA, 30 days of history
Signal — $12 AUD/month, $99 AUD/year, or $299 AUD once for a Lifetime license (14-day free trial). Signal sells time saved on upgrades.
- The in-app Upgrade Plan: every fix across your projects in one ordered list, including which parent package to upgrade when a vulnerable copy is transitive
- The full Preemption worklist: AI-assessed findings and early-warning chains on top of the version-confirmed floor
- Full history instead of the last 30 days, plus watches (standing queries and package watches)
- Blind Spots with AI assessment and Knowledge Gaps, as supporting coverage views
Free is not a demo: every version-confirmed vulnerability and its fix is free, in the app and through the MCP server.
The STREETS Playbook — 7 modules on turning developer skills into independent income — is free on the open web. No download, no email.
Dependency engine
- Lockfile inventory across every project:
Cargo.lock,package-lock.json,pnpm-lock.yaml,yarn.lock,poetry.lock,requirements.txt,go.mod/go.sum, plus earlyGemfile.lockandcomposer.locksupport - Version-confirmed OSV matching, scoped by dev-only, transitive and per-platform reachability
- Fix targets per release line; the Upgrade Plan names a lockfile refresh or a parent upgrade where the lockfile proves it
- Install drift: flags a
node_modulesthat disagrees with its lockfile, with the install command to run
News scoring
- Four scoring axes (a fifth reserved) with a multi-signal confirmation gate (93% rejection, 98.9% noise accuracy across 9 test personas — reproducible)
- Domain profile: graduated tech identity (primary stack → dependencies → detected → interests)
- Content DNA: classifies content type (security advisory, release, tutorial, hiring, etc.)
- Novelty detection: demotes introductory content, boosts new releases and security advisories
- Role-aware scoring: security engineers see security content prominently; experience level adjusts tutorial/depth balance
- Intent scoring: recent Git/file activity influences what surfaces
- Knowledge gap detection: finds blind spots in your dependency understanding
- Anti-gaming: title-body coherence, keyword concentration, adversarial resistance built into the pipeline
Sources — 20+ adapters, all running locally
- Hacker News, GitHub, Reddit, YouTube, arXiv, Stack Overflow
- Lobsters, DEV.to, Product Hunt, Twitter/X, Bluesky, Hugging Face
- Papers with Code, crates.io, npm, PyPI, Go modules
- CVE/OSV vulnerability databases, custom RSS feeds
Analysis
- Signal chains: tracks evolving stories across sources
- Reverse mentions: finds where your projects are discussed
Decision Intelligence
- Record and query architectural decisions across sessions
- Tech radar: adoption signals from decisions + content trends
- Decision enforcement: AI agents check alignment before suggesting changes
Agent Autonomy
- Cross-session, cross-agent persistent memory
- Session briefs: tailored startup context for any AI tool
- Delegation scoring: should the agent proceed or ask you?
- Developer DNA: exportable tech identity profile (markdown, SVG, or shareable card)
MCP Integration — 16 tools for dependency security, intelligence, decisions, and agent memory
Plug your intelligence system directly into Claude Code, Cursor, Windsurf, VS Code (Copilot), or any MCP-compatible tool.
npx @4da/mcp-server11 tools work standalone with zero setup (upgrade impact, pre-install dependency checks, vulnerability scanning, dependency health, upgrade planning, ecosystem news, pre-task briefings, project context, decision memory, alignment checking, agent memory). 5 more activate with the desktop app (scored content feed, actionable signals, knowledge gaps, feedback learning, developer DNA). Full tool reference.
CLI
Reads from the same database as the desktop app. No extra setup.
4da briefing # Latest AI briefing
4da signals # All classified signals
4da signals --critical # Critical/high priority only
4da gaps # Knowledge gaps in your dependencies
4da health # Project dependency health
4da status # Database stats
Brief — today's top picks and live signal stream scored against your stack
Preemption — forward-looking intelligence: CVEs, breaking changes, dependency risks
Blind Spots — coverage gaps and high-relevance items you never saw
Signal — the items that earn their place, confirmed through 2+ independent axes
4DA is built by a solo engineer with AI-assisted development (Claude Code), with external audits from gpt 5.4 and 5.5. The test suite (3,400+ tests across Rust and TypeScript) and CI pipeline verify correctness on every commit. The scoring algorithm is hand-designed and benchmarked against 9 developer personas with labeled test data.
pnpm tauri dev # Dev server (localhost:4444)
cargo test # Rust tests (from src-tauri/)
pnpm test # Frontend tests
pnpm validate:all # Full validation (lint + types + tests + build)The scoring numbers in this README are measured, not asserted — run the suite and check them yourself. The persona simulation scores a 245-item labeled corpus against 9 simulated developer personas (Rust systems, Python ML, fullstack TypeScript, DevOps/SRE, mobile, bootstrap/first-run, power user, stack switcher, niche specialist), skipping items labeled deliberately borderline, for 1,997 scored evaluations.
cd src-tauri
cargo test scoring::simulation -- --nocapture # 9-persona simulation (the headline numbers)
cargo test scoring::benchmark -- --nocapture # 2-profile pipeline benchmarkscoring::simulation prints a quality dashboard with the aggregate confusion matrix. On the current pipeline:
| Value | |
|---|---|
| Corpus | 245 labeled items, 9 personas, 1,997 scored evaluations (2,205 pairs less the deliberately-borderline ones) |
| Confusion matrix | TP 119 · FP 19 · TN 1,646 · FN 213 |
Rejection rate (TN+FN)/total |
93.1% |
Noise accuracy TN/(TN+FP) |
98.9% |
Precision TP/(TP+FP) |
86.2% |
Recall TP/(TP+FN) |
35.8% |
Recall is low by design: roughly 70% of the "relevant" denominator is tangential/adjacency content a precision-first brief is meant to drop. The load-bearing figure is recall on items labeled strongly relevant — security advisories and releases for declared dependencies — which is 71.3% (72/101) and is reported separately by the same suite.
What CI enforces is a floor, not the headline. The suite asserts aggregate precision >= 0.70, aggregate F1 >= 0.40, and noise rejection >= 80% for every one of the 9 personas; a regression past any of those fails the build. The percentages above are the measured values on top of those floors, so re-run the command against whatever revision you have checked out rather than trusting this table.
Source: src-tauri/src/scoring/simulation/ (corpus, persona definitions, domain embeddings, enrichment data) and src-tauri/src/scoring/benchmark.rs.
FSL-1.1-Apache-2.0 — source available. Free to use, inspect, and modify for any purpose except building a competing product. Every release converts to Apache 2.0 three years after publication — after that, no restrictions at all.
4DA — 4 Dimensional Autonomy
All signal. No feed.
"4DA" and the 4DA logo are trademarks of 4DA Systems Pty Ltd (ACN 696 078 841). The FSL-1.1-Apache-2.0 license does not grant rights to use these trademarks.
