{
  "markdown": "<div align=\"center\">\n\n<img src=\"assets/4da-hero.png\" alt=\"4DA\" width=\"360\" />\n\n<br />\n\n[![CI](https://github.com/4DA-Systems/4DA/actions/workflows/validate.yml/badge.svg)](https://github.com/4DA-Systems/4DA/actions/workflows/validate.yml)\n[![License: FSL-1.1](https://img.shields.io/badge/License-FSL--1.1--Apache--2.0-blue.svg)](LICENSE)\n[![MCP Server](https://img.shields.io/npm/v/@4da/mcp-server?label=MCP%20Server&color=gold)](https://www.npmjs.com/package/@4da/mcp-server)\n[![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-brightgreen.svg)](#download)\n\n**All signal. No feed.**\n\n</div>\n\n---\n\n**4DA reads the internet for developers — privately, locally. Your codebase decides what's relevant.**\n\nIt scans your codebase — `Cargo.toml`, `package.json`, `go.mod`, Git history — and scores every article, advisory, and release from 20+ sources against what you actually build. An item needs 2+ independent signals to survive. Everything else is rejected.\n\nBenchmarked 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.** Those are measured numbers, and you can [reproduce them in one command](#benchmarks). Your real rejection rate — computed from your own data, not ours — is shown in the Signal tab.\n\nSaves and dismissals build a preference profile you can inspect, pin, or forget — and teach the Brief what to stop showing you. Relevance scoring itself stays grounded in your actual stack. And when the engine improves, it re-judges everything it already holds: yesterday's noise becomes tomorrow's signal.\n\n### The fastest way to try it\n\nAlready using Claude Code, Cursor, or Windsurf? One command:\n\n```bash\nnpx @4da/mcp-server\n```\n\nThis 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.](mcp-4da-server/)\n\n<p align=\"center\">\n  <img src=\"site/screenshots/01-brief.png\" alt=\"4DA Brief tab — top picks and live signal stream scored against your stack\" width=\"800\" />\n</p>\n\n---\n\n## How It Works\n\n### Scoring\n\n5 independent signal axes. 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.\n\n| Axis | What it measures |\n|------|-----------------|\n| **Context** | Semantic similarity to your active codebase |\n| **Interest** | Alignment with your declared topics |\n| **ACE** | Real-time signals from your Git commits and file edits |\n| **Dependency** | Direct matches against your installed packages |\n| **Learned** | Reserved — held out of scoring until it can be validated against your explicit feedback |\n\nWhat 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.\n\n### LLM Verification\n\nAfter 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:\n\n- **5 = MUST-READ**: Security alert for YOUR dependency, breaking change YOU must act on\n- **3 = WORTH KNOWING**: Useful tool that fits YOUR exact stack\n- **1 = NOISE**: Mentions your tech but isn't actionable\n\nThis 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.\n\n**You own the compute.** Use [Ollama](https://ollama.com/) 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.\n\n### Anti-Gaming\n\nContent creators who learn the scoring algorithm still can't game it:\n\n- **Title-body coherence**: titles must deliver on what they promise. Claim \"React + Rust + Tauri\" but only discuss React? Penalty.\n- **Keyword concentration**: repeating \"Rust\" four times in a title hurts your score.\n- **Confirmation gate**: keyword-stuffing hits one axis. Without matching the user's codebase, installed packages, AND recent work — the gate rejects it.\n- **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.\n\nNo algorithm can be gamed when the scoring signal comes from your local filesystem. Your `Cargo.lock` doesn't lie.\n\n---\n\n## Privacy & Trust\n\n4DA 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.\n\n**The only outbound traffic:**\n\n| Category | Where | Why |\n|----------|-------|-----|\n| Source adapters | HN, GitHub, Reddit, arXiv, etc. | Fetching public content you configured |\n| LLM providers | Anthropic / OpenAI / localhost Ollama | Only if YOU set up BYOK keys |\n| License validation | Keygen | Only if you activated a paid license |\n| Updater | GitHub Releases | Signed via minisign, once per session |\n| Crash reports | **None** | 4DA sends no crash reports. Export a scrubbed diagnostic bundle locally, on demand. |\n\nThat's the whole list. There is no 4DA telemetry endpoint because there is no 4DA cloud.\n\nDon't take our word for it:\n\n| | |\n|---|---|\n| [**Network Transparency**](NETWORK.md) | Every outbound connection, with source code references |\n| [**Trust Architecture**](docs/TRUST-ARCHITECTURE.md) | Why local-first means you don't need to trust us |\n| [**Privacy (Plain Language)**](docs/PRIVACY-PLAIN-LANGUAGE.md) | One-page, no-legalese privacy summary |\n| [**Security Audit Guide**](docs/SECURITY-AUDIT-GUIDE.md) | Map of trust-critical code paths for auditors |\n| [**Build from Source**](docs/BUILD-FROM-SOURCE.md) | Compile it yourself and verify the binary |\n\n---\n\n## Download\n\n> **Pre-built binaries** — no Rust toolchain required.\n\n| Platform | Download | Auto-updates |\n|----------|----------|:------------:|\n| **Windows** | [`.exe` installer](https://github.com/4DA-Systems/4DA/releases/latest) | Yes |\n| **macOS** | [`.dmg` (Apple Silicon & Intel)](https://github.com/4DA-Systems/4DA/releases/latest) | Yes |\n| **Linux** | [`.AppImage` / `.deb`](https://github.com/4DA-Systems/4DA/releases/latest) | Yes |\n\nEvery release publishes `SHASUMS256.txt` and per-file `.sha256` sidecars. [Verification instructions.](docs/VERIFY-DOWNLOADS.md)\n\n> **Windows users:** SmartScreen will prompt on first launch (new application, building reputation). Click **More info → Run anyway**. [Full details.](docs/launch/WINDOWS-INSTALL.md)\n\nOr install the **MCP server** for Claude Code / Cursor / Windsurf:\n```bash\nnpx @4da/mcp-server\n```\n\n### Build from Source\n\n```bash\ngit clone https://github.com/4DA-Systems/4DA.git\ncd 4DA\npnpm install\npnpm tauri dev   # First build: 5-15 min. Dev server: localhost:4444.\n```\n\n**Prerequisites:** Rust (1.93.1 via `rust-toolchain.toml`), Node.js 20, pnpm 9.15. Platform-specific: [Windows](docs/BUILD-FROM-SOURCE.md) needs VS Build Tools 2022 with C++ workload. [Full build guide.](docs/BUILD-FROM-SOURCE.md)\n\n**First-run setup** (API keys, context dirs, sources): [Getting Started.](docs/GETTING_STARTED.md)\n\n---\n\n## System Requirements\n\n4DA runs on modest hardware. Private semantic search is built in — no GPU, no API key, and no first-run download required.\n\n| | Baseline (free) | + Cloud AI (BYOK) | + Local AI (offline) |\n|---|---|---|---|\n| RAM | 4 GB | 4 GB | 16 GB (8B model); 32 GB for 12–14B |\n| CPU | any 64-bit | any 64-bit | 6–8 cores |\n| GPU | not needed | not needed | optional (recommended for speed) |\n| Disk | ~500 MB | ~500 MB | + 5–9 GB per model |\n| Network | install only | install + your AI provider | install + one model download (or none with Ollama) |\n\n- OS: Windows 10 (1803+) / 11, macOS 10.15+, Ubuntu 22.04+ (WebKitGTK 4.1).\n- One installer (~110 MB). The local embedding model ships inside it — no separate download, works fully offline on first run.\n- 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).\n\n---\n\n## Architecture\n\n```\nYour Codebase                    External Sources\n     |                                |\n     v                                v\n+-----------+                +--------------+\n|    ACE    |                |  20+ Source   |\n| Scanner + |                |  Adapters     |\n| Git Watch |                |  (background) |\n+-----+-----+               +------+-------+\n      |                            |\n      v                            v\n+------------------------------------------+\n|         5-Axis Scoring Engine            |\n|                                          |\n|  context --+                             |\n|  interest --+- confirmation gate (2+/5)  |\n|  ace -------+                            |\n|  dependency-+  x quality x novelty       |\n|  learned ---+  x domain  x intent        |\n+------------------+-----------------------+\n                   |\n                   v\n          +-----------------+\n          |  What survived  |\n          +-----------------+\n```\n\n| Layer | Technology |\n|-------|-----------|\n| App Shell | Tauri 2.0 (Rust backend + WebView) |\n| Frontend | React 19 + TypeScript + Tailwind CSS v4 |\n| Database | SQLite 3.45+ with sqlite-vec (vector search) |\n| Scoring | Custom pipeline → build-time Rust codegen |\n| Embeddings | OpenAI text-embedding-3-small / Ollama |\n| LLM | Anthropic Claude / OpenAI / Ollama (BYOK) |\n\n---\n\n## Pricing\n\n**Free** — $0 forever. No credit card. No account. No expiration.\n- All 20+ sources, full 5-axis scoring engine, AI daily briefings (BYOK), natural language search (BYOK), Developer DNA profiling, Score Autopsy (5-axis breakdown), signal chain analysis, channels, the OSV security floor, Learned Preferences, MCP server (14 tools), CLI\n\n**Signal** — $12 AUD/month, $99 AUD/year, or $299 AUD once for a Lifetime license (14-day free trial).\n- Everything in Free, plus: blind spot detection with AI assessment, and knowledge gap detection — the analysis layer computed from your dependency graph and reading history\n\nFree is not a demo. It's the full scoring engine, all sources, Learned Preferences, and MCP integration.\n\nThe [STREETS Playbook](https://4da.ai/streets) — 7 modules on turning developer skills into independent income — is free on the open web. No download, no email.\n\n---\n\n## Features\n\n<details>\n<summary><strong>Intelligence</strong></summary>\n\n- 5-axis scoring with multi-signal confirmation gate (93% rejection, 98.9% noise accuracy across 9 test personas — [reproducible](#benchmarks))\n- Domain profile: graduated tech identity (primary stack → dependencies → detected → interests)\n- Content DNA: classifies content type (security advisory, release, tutorial, hiring, etc.)\n- Novelty detection: demotes introductory content, boosts new releases and security advisories\n- Role-aware scoring: security engineers see security content prominently; experience level adjusts tutorial/depth balance\n- Intent scoring: recent Git/file activity influences what surfaces\n- Knowledge gap detection: finds blind spots in your dependency understanding\n- Anti-gaming: title-body coherence, keyword concentration, adversarial resistance built into the pipeline\n\n</details>\n\n<details>\n<summary><strong>Sources</strong> — 20+ adapters, all running locally</summary>\n\n- Hacker News, GitHub, Reddit, YouTube, arXiv, Stack Overflow\n- Lobsters, DEV.to, Product Hunt, Twitter/X, Bluesky, Hugging Face\n- Papers with Code, crates.io, npm, PyPI, Go modules\n- CVE/OSV vulnerability databases, custom RSS feeds\n\n</details>\n\n<details>\n<summary><strong>Analysis</strong></summary>\n\n- Signal chains: tracks evolving stories across sources\n- Reverse mentions: finds where your projects are discussed\n\n</details>\n\n<details>\n<summary><strong>Decision Intelligence</strong></summary>\n\n- Record and query architectural decisions across sessions\n- Tech radar: adoption signals from decisions + content trends\n- Decision enforcement: AI agents check alignment before suggesting changes\n\n</details>\n\n<details>\n<summary><strong>Agent Autonomy</strong></summary>\n\n- Cross-session, cross-agent persistent memory\n- Session briefs: tailored startup context for any AI tool\n- Delegation scoring: should the agent proceed or ask you?\n- Developer DNA: exportable tech identity profile (markdown, SVG, or shareable card)\n\n</details>\n\n<details>\n<summary><strong>MCP Integration</strong> — 14 tools for dependency security, intelligence, decisions, and agent memory</summary>\n\nPlug your intelligence system directly into Claude Code, Cursor, Windsurf, VS Code (Copilot), or any MCP-compatible tool.\n\n```bash\nnpx @4da/mcp-server\n```\n\n9 tools work standalone with zero setup (vulnerability scanning, dependency health, upgrade planning, ecosystem news, pre-task briefings, decision memory, agent memory). 5 more activate with the desktop app (scored content feed, actionable signals, knowledge gaps, feedback learning, developer DNA). Every tool reliably returns useful data. [Full tool reference.](mcp-4da-server/)\n\n</details>\n\n<details>\n<summary><strong>CLI</strong></summary>\n\nReads from the same database as the desktop app. No extra setup.\n\n```bash\n4da briefing               # Latest AI briefing\n4da signals                # All classified signals\n4da signals --critical     # Critical/high priority only\n4da gaps                   # Knowledge gaps in your dependencies\n4da health                 # Project dependency health\n4da status                 # Database stats\n```\n\n</details>\n\n---\n\n## Screenshots\n\n<p align=\"center\">\n  <img src=\"site/screenshots/01-brief.png\" alt=\"Brief tab\" width=\"800\" />\n  <br />\n  <em>Brief — today's top picks and live signal stream scored against your stack</em>\n</p>\n\n<p align=\"center\">\n  <img src=\"site/screenshots/02-preemption.png\" alt=\"Preemption Radar\" width=\"800\" />\n  <br />\n  <em>Preemption — forward-looking intelligence: CVEs, breaking changes, dependency risks</em>\n</p>\n\n<p align=\"center\">\n  <img src=\"site/screenshots/03-blind-spots.png\" alt=\"Blind Spot Index\" width=\"800\" />\n  <br />\n  <em>Blind Spots — coverage gaps and high-relevance items you never saw</em>\n</p>\n\n<p align=\"center\">\n  <img src=\"site/screenshots/04-signal.png\" alt=\"Signal tab\" width=\"800\" />\n  <br />\n  <em>Signal — the items that earn their place, confirmed through 2+ independent axes</em>\n</p>\n\n---\n\n## Development\n\n4DA 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](#benchmarks) against 9 developer personas with labeled test data.\n\n```bash\npnpm tauri dev              # Dev server (localhost:4444)\ncargo test                  # Rust tests (from src-tauri/)\npnpm test                   # Frontend tests\npnpm validate:all           # Full validation (lint + types + tests + build)\n```\n\n### Benchmarks\n\nThe 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.\n\n```bash\ncd src-tauri\ncargo test scoring::simulation -- --nocapture   # 9-persona simulation (the headline numbers)\ncargo test scoring::benchmark -- --nocapture    # 2-profile pipeline benchmark\n```\n\n`scoring::simulation` prints a quality dashboard with the aggregate confusion matrix. On the current pipeline:\n\n| | Value |\n|---|---|\n| Corpus | 245 labeled items, 9 personas, 1,997 scored evaluations (2,205 pairs less the deliberately-borderline ones) |\n| Confusion matrix | TP 119 · FP 19 · TN 1,646 · FN 213 |\n| Rejection rate `(TN+FN)/total` | **93.1%** |\n| Noise accuracy `TN/(TN+FP)` | **98.9%** |\n| Precision `TP/(TP+FP)` | 86.2% |\n| Recall `TP/(TP+FN)` | 35.8% |\n\nRecall 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.\n\n**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.\n\nSource: [`src-tauri/src/scoring/simulation/`](src-tauri/src/scoring/simulation/) (corpus, persona definitions, domain embeddings, enrichment data) and [`src-tauri/src/scoring/benchmark.rs`](src-tauri/src/scoring/benchmark.rs).\n\n---\n\n## License\n\n[FSL-1.1-Apache-2.0](LICENSE) — 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.\n\n---\n\n<div align=\"center\">\n\n**4DA** — *4 Dimensional Autonomy*\n\nAll signal. No feed.\n\n---\n\n\"4DA\" and the 4DA logo are trademarks of 4DA Systems Pty Ltd (ACN 696 078 841).\nThe [FSL-1.1-Apache-2.0](LICENSE) license does not grant rights to use these trademarks.\n\n</div>\n",
  "bytes": 18070,
  "sha": "a485184b8a80698f9108030c4289c805ac0c8b2d2d402d5af0ae88853e7a76c3",
  "repo_slug": "4da-systems/4da",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_4da_systems_4da_mcp_server_9d8f26b1/readme"
}