Aegis Slop
Narrative comments, swallowed errors, oversized fns (> 80 LOC), .unwrap() outside tests, TODO stubs, unused pub fn. Hybrid: regex < 1ms + LLM 2-4s. Catches 40-60% of slop before the LLM runs.
The trust layer for AI-generated code.
Open Source is dying in 2026. La confianza comunitaria se ahoga ante un +206% de scripts de Bash en proyectos AI1, revisiones de PRs 4.6× más lentas2 y 15–18% más de vulnerabilidades2. Con 42% del código commiteado hoy siendo AI-generated3 y el 96% de los devs desconfiando de él3, el AI slop (Palabra del Año 20254) ha forzado medidas extremas en los grandes maintainers.
A hybrid (deterministic regex + LLM semantic) defense layer for code review. 15 Rust crates, 4 specialists, 1 signed certificate per analysis. EU AI Act Art. 12 Level 2 ready by default. BYOK. MIT.
argus-guard . && argus-verify https://github.com/you/repo/pull/42
Measured on the live benchmark. The deterministic layer is the contract; the LLM layer inherits the model's accuracy. Honest posture: high-confidence on deterministic, semantically strong on LLM, never 100%.
El navegador Ladybird cerró PRs externas en junio 2026 – la maintainerité se ahogó. tldraw auto-cierra PRs AI desde enero 2026. RPCS3 revirtió múltiples PRs AI que causaron regresiones en producción (mayo 2026). cURL canceló su bug bounty — 19 de 20 reportes recientes eran alucinaciones sintéticas (enero 2026).
Los 4 proyectos cerraron la puerta pública al AI-slop. ARGUS es la respuesta cuantitativa: hybrid regex + LLM, signed certificate per analysis, audit chain listo para Art. 12 L2.
— Stenberg (cURL), Yegge (tldraw), comunidad Ladybird, RPCS3 maintainers · 2026
The CordonEnforcer isolates the synthesizer – it never sees the raw diff, only the RedactedSpecialistReport. Type-level isolation, not runtime checks. No competitor (CodeRabbit, Greptile, Qodo) has this constraint.
Narrative comments, swallowed errors, oversized fns (> 80 LOC), .unwrap() outside tests, TODO stubs, unused pub fn. Hybrid: regex < 1ms + LLM 2-4s. Catches 40-60% of slop before the LLM runs.
Hardcoded credentials, injection, unsafe panic, unhandled errors, OWASP Top 10. LLM (redteam-security prompt). CWE-798 hardcoded-secret scan runs deterministic first, before the LLM call.
Repo coherence, pattern matching, idiom detection, separation of concerns. LLM (architecture-fit prompt). Catches the patterns the deterministic regex can't – defensive .clone() chains, narrative boilerplate, off-pattern style.
Synthesizes the 3 above into Approved · ReviewRequired · Halted + a fix_plan.json for downstream coding agents. CordonEnforcer: the synthesizer receives RedactedSpecialistReport, not raw diff.
Pre-computed verdict from a real-looking fake PR. Same shape the /api/demo endpoint returns. No NIM key required. No signup wall.
3 fix steps in the hand-off plan (1 critical, 2 warnings, 1 info). Deterministic layer caught the swallowed error before the LLM even ran – saves ~$0.02 and ~800ms on this PR.
src/auth/login.rs:42 · Function 'verify_credentials' is 94 LOC (> 80) – split into smaller helperssrc/auth/login.rs:71 · Error arm discards error silently: Err(_) => {}src/auth/session.rs:23 · .unwrap() in non-test function 'create_session'src/auth/login.rs:54 · verify_credentials lacks rate-limit consideration under high-concurrency loadsrc/auth/ · Auth layer mixes session creation, verification, and request handling – split into 3 modules per single-responsibilityClick any card to expand the 4-cohort verdict. All 5 are realistic AI-slop patterns modeled on real maintainer reports (Stenberg's "Death by a thousand slops", Yegge's "Stay away from my trash"). Not invented scenarios.
Hallucinated vulnerability. Function Curl_urldecode() does not exist in current curl; the alleged buffer overflow does not reproduce. CordonEnforcer isolates this finding from the synthesizer verdict.
static CURLcode Curl_urldecode(...) {
// This function does X.
/* TODO: refactor into smaller helpers */
// We need to handle unicode here.
char *buf = malloc(strlen(url) * 8);
// NOTE: fix size calc later
...
}
No security regressions. Stale closure risk on the userId dependency. The AI handler defers a copy but misses the dep in the React effect array.
// This function does X: it subscribes to user changes.
useEffect(() => {
// We need to make a defensive copy.
const cloned = handler.clone();
socket.on('update', cloned);
return () => socket.off('update', cloned);
}, []); // <- missing userId in deps
Clean PR. 0 SLOP signals. Type-safe, pattern matches existing repo conventions, and the AI-generated helper is minimal and idiomatic.
export type Constrained<T extends Base> = {
[K in keyof T]: T[K] extends infer U ? U : never;
};
Function is 118 LOC (over the 80-LOC cap). 3 .unwrap() calls in non-test code. The refactor compiles but is over-budget and lacks error context.
// This function does X: it does a safe downcast.
Variant GodotObject::cast_to<T>(...) {
// We need to handle the edge case where T is not registered.
let v = self.metadata.get("type").unwrap();
// ... (110 more lines, 2 more unwraps)
return v;
}
Defensive .clone() chain (6 levels deep). Boilerplate narrative comments on every block. Tautological assertion in test: assert.equal(true, true). Pure AI-slop signature.
// This function does X: it normalizes the shape.
// We need to make a defensive copy to avoid aliasing.
const cloned = source.clone();
// This function does X: it walks the AST.
const normalized = normalize(cloned.clone());
for (const node of normalized.clone().statements) {
node.clone();
}
return normalized;
15-crate Rust workspace, 4 binaries, zero JS framework in production, MSRV 1.88, MIT throughout. The audit chain is the regulator-facing artifact – do not weaken it.
[GitHub PR / commit / org scan] --> [MCP client: Claude Code / Codex / Cursor] | | v v Aegis Guard Aegis Verify Aegis Lens apohara-argus-mcp (pre-commit) (PR review) (weekly) (4 specialist tools) | | | +----------+--------------+ | v 4 specialists in parallel (slop · security · arch · verdict) [CordonEnforcer: synthesizer doesn't see raw code] | v AuditEvent (16 fields, Ed25519 + BLAKE3) EU AI Act Art. 12 Level 2 ready | +----------+----------+ v v SQLite (in-proc) Supabase Postgres +----------+----------+ | v Dashboard + /audit/export for regulators
Every ARGUS verdict is written to a BLAKE3-hash-chained, Ed25519-signed AuditEvent. Each event links to the previous via BLAKE3. Each is signed with Ed25519. EU AI Act Art. 12 Level 2 ready. Below: 3 real events from the public dashboard.
3 events, real chain. Each event links to the previous via BLAKE3. Each is signed with Ed25519. Re-verify the chain link in the browser with a single click. Read the agent spec →
11 differentiators. BYOK is the load-bearing one – the rest follow from not having a vendor in the loop.
| Capability | ARGUS | CodeRabbit | Greptile | Qodo |
|---|---|---|---|---|
| BYOK (your NIM key, your code) | ✓yes | ✕SaaS only | ✕SaaS only | ✕SaaS only |
| Per-dev cost | ✓$0.05 / mo | $0.10–0.50 / PR | $25 / mo | $40–60 / mo |
| EU AI Act Art. 12 audit trail | ✓Ed25519 + BLAKE3 L2 | ✕ | ✕ | ✕ |
| MCP server (Claude Code / Codex) | ✓4 specialist tools | ✕ | ✕ | ✕ |
| A2A AgentCards (Google protocol) | ✓ | ✕ | ✕ | ✕ |
| Hybrid detection (deterministic + LLM) | ✓5 SLOP rules + LLM | LLM only | LLM only | LLM only |
| CordonEnforcer (synthesizer isolated) | ✓type-level | ✕ | ✕ | ✕ |
| Pure Rust 100% | ✓15 crates | TS / Node | TS / Node | TS / Node |
| Open source | ✓MIT | ✕ | ✕ | ✕ |
| Live code analyzer (browser) | ✓/analyzer | ✕ | ✕ | ✕ |
| Audit chain explorer (browser) | ✓/chain | ✕ | ✕ | ✕ |
Three personas, three different problems. ARGUS was built for all three.
/audit-log/export.splunk|datadog|elastic – raw NDJSON for regulatorsAuditEvent with prompt fingerprints (GDPR-safe).clone() / // We need to detectorEl binario es gratis para siempre. Cobramos por el GitHub App + dashboard multi-tenant + export a SIEM.
AI generated 42% of the code committed in 2025. Reviewers didn't get faster. Maintainers closed bug bounties. The bottleneck is no longer generation – it's verification. ARGUS ships the regulator-facing artifact: a BLAKE3-hash-chained, Ed25519-signed certificate per analysis. Same shape the EU AI Act Art. 12 Level 2 wants. Same shape your CISO wants. BYOK, MIT, no SaaS lock-in.
1 GitHub Octoverse 2025 — +206% Bash scripts in AI-tagged repos · 2 Opsera AI Coding Impact 2026 — 4.6× slower PRs, 15–18% more vulns · 3 Sonar 2026 Developer Survey — 42% AI code, 96% devs distrust it · 4 Merriam-Webster 2025 Word of the Year — slop