Skip to content
Apha.
All projects

AI · DevTools

PatchSignal.

AI-assisted bug-reproduction evidence system that turns a vague report into a real executed test and a deterministic Reproduced, Not reproduced, or Inconclusive verdict.

PatchSignal interface

The brief

PatchSignal's design thesis is that an AI-generated explanation is a hypothesis, while an observed execution result is evidence. Winner of Best Open-Source AI Project at the B54 Hacktoberfest Hack Day, FUNAAB, Abeokuta. Given a public GitHub repository, a bug report, and up to three screenshots, the backend uses open-weight Gemma 4 to extract structured, provenance-labelled evidence and open questions, pins the repository's default-branch commit, generates a candidate Vitest test, and executes target and control runs in a disposable Docker sandbox. Unit-tested deterministic rules — never the model — issue the final verdict, and every investigation ends in a markdown evidence package with a prefilled GitHub issue URL that a human files. The service is a Next.js 15 TypeScript API with Prisma and PostgreSQL, a from-scratch durable job queue with lease-based crash recovery, and a separately hosted token-authenticated Docker runner.

Capabilities

01Evidence Extraction Pipeline
Seven-stage investigation flow — intake, analyze, inspect, hypothesize, run, package — with 202-accepted async analysis jobs consumed by a per-process background worker and SSE progress streaming.
02Deterministic Classification
Unit-tested rules decide the verdict: Reproduced requires the predicted assertion failure plus a passing control run, Not reproduced is explicitly annotated as proving no absence, and Inconclusive is a first-class honest outcome.
03Sandboxed Untrusted Execution
Every run executes in a fresh Docker container with no network, a non-root UID, dropped capabilities, CPU, memory, and PID limits, a 120-second kill, and a read-only test mount — coordinated by a separate token-authenticated runner service.
04Durable Postgres Job Queue
A written-from-scratch queue with compare-and-swap lease claims, two-minute leases, expired-lease recovery, and atomic one-transaction completion so a stale worker can never overwrite a newer result.
05Prompt-Injection Defence
Untrusted report text and repository content are wrapped as data the model is instructed never to follow, the model has no write tools, and every extraction is Zod-validated with a bounded correction-feedback loop and 25-second deadlines.
06Human-in-the-Loop Filing
Nothing is ever auto-posted to GitHub; the API returns a prefilled issue-creation URL so a maintainer reviews and files every issue themselves.
07Open-Source Model Strategy
Runs Apache-2.0 open-weight Gemma 4 via the Gemini API with a Groq fallback for live-demo reliability, keeping the reasoning layer self-hostable and free of vendor lock-in.
Next projectFarmHand