{"id":51475345,"url":"https://github.com/asmuelle/incompliance-radar","last_synced_at":"2026-07-06T20:30:31.880Z","repository":{"id":368669046,"uuid":"1286233207","full_name":"asmuelle/incompliance-radar","owner":"asmuelle","description":"AI-powered platform for tracking global compliance monitorships, DPAs, and NPAs","archived":false,"fork":false,"pushed_at":"2026-07-01T16:05:40.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-01T18:08:36.209Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asmuelle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-01T15:14:41.000Z","updated_at":"2026-07-01T16:05:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/asmuelle/incompliance-radar","commit_stats":null,"previous_names":["asmuelle/incompliance-radar"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/asmuelle/incompliance-radar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmuelle%2Fincompliance-radar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmuelle%2Fincompliance-radar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmuelle%2Fincompliance-radar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmuelle%2Fincompliance-radar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asmuelle","download_url":"https://codeload.github.com/asmuelle/incompliance-radar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmuelle%2Fincompliance-radar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35205739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-06T20:30:31.337Z","updated_at":"2026-07-06T20:30:31.872Z","avatar_url":"https://github.com/asmuelle.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# incomplianceRadar\n\nAI-powered platform for tracking global compliance monitorships, Deferred\nProsecution Agreements (DPAs) and Non-Prosecution Agreements (NPAs). See\n[`spec.md`](spec.md) for the full product concept.\n\nFull-stack Rust: [Leptos](https://leptos.dev) (SSR + WASM) on\n[Axum](https://github.com/tokio-rs/axum). LLM access is pluggable — run\nentirely against a local model via [Ollama](https://ollama.com), or point it\nat a frontier model (Anthropic).\n\nProject docs: **[asmuelle.github.io/incompliance-radar](https://asmuelle.github.io/incompliance-radar/)**\n\n## Status\n\nEarly-stage scaffold: a working full-stack app with SQLite-backed persistence\n(seeded with fictional demo data on first run), a live LLM query panel, an\nLLM-based extraction pipeline, a crawler that pulls real press releases from\nthe SEC and FCA and feeds them through it automatically, search/filtering by\nindustry, jurisdiction, violation type, and law firm/monitor, global\nwatch-rule alerts (industry/competitor watch — not per-user, this app has no\nauth system), and a trend/benchmark dashboard (case and violation counts,\nmonitorship rate by industry, total sanctions by currency). See\n[`CLAUDE.md`](CLAUDE.md) for the current architecture and what's next.\n\n## Getting started\n\nPrerequisites (or run `just install-tools` if you have\n[`just`](https://github.com/casey/just) installed):\n\n```bash\nrustup target add wasm32-unknown-unknown\ncargo install cargo-leptos\ncargo install wasm-bindgen-cli --version \u003cversion matching Cargo.lock's wasm-bindgen\u003e\n```\n\nRun with a local model (default, requires [Ollama](https://ollama.com) running):\n\n```bash\nollama pull llama3.1   # or any model you have; set OLLAMA_MODEL to match\ncp .env.example .env\njust watch   # or: cargo leptos watch\n```\n\nOpen http://127.0.0.1:3000.\n\nTo use a frontier model instead, set in `.env`:\n\n```bash\nLLM_BACKEND=anthropic\nANTHROPIC_API_KEY=sk-...\n```\n\n## Running the crawler\n\nOne pass across the configured regulator sources (SEC, FCA), extracting and\npersisting any enforcement actions found:\n\n```bash\njust crawl   # or: cargo run -p crawler --bin crawl\n```\n\nNot scheduled — invoke it periodically yourself (cron, a systemd timer, ...).\nSee [`CLAUDE.md`](CLAUDE.md) for connector details, rate-limit behavior, and\nwhy there's no DoJ connector.\n\n## Workspace layout\n\n```\ncrates/domain/   Core compliance domain types (wasm-safe)\ncrates/llm/      LLM provider abstraction (Ollama + Anthropic)\ncrates/db/       Persistence (CaseRepository + AlertRepository traits, SQLite)\ncrates/extraction/  LLM-based structured extraction from raw filing text\ncrates/crawler/  Scheduled fetch jobs (SEC + FCA) feeding extraction\nweb/app/         Shared Leptos UI + server functions\nweb/frontend/    Wasm hydration entry point\nweb/server/      Axum server binary\ndocs/            GitHub Pages source (mdBook)\n```\n\n## Development\n\n```bash\njust --list   # all available recipes\njust test\njust fmt\njust clippy\njust ci       # everything CI runs, in the same order — catch failures before pushing\n```\n\nEquivalent raw `cargo` commands are in the `justfile` and in\n[`CLAUDE.md`](CLAUDE.md) if you'd rather not install `just`.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasmuelle%2Fincompliance-radar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasmuelle%2Fincompliance-radar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasmuelle%2Fincompliance-radar/lists"}