Agentic incident investigation
Recorded demo
IncidentForge
Evidence before confidence
A successful response can hide a duplicate charge. A restart can leave inventory
reserved indefinitely. Built solo for the Nebius x NVIDIA Global AI Hackathon,
IncidentForge investigates both failures across synthetic Order, Inventory and
Payment services, compares hypotheses, and proposes bounded source repairs.
NVIDIA Nemotron runs through Nebius Token Factory; isolated Sandboxes execute
candidates and a separate verifier checks durable business effects.
The public viewer replays retained investigations, diffs and protected validation.
It does not launch live inference. The frozen campaign retains all 12 attempts:
2 accepted, 2 rejected and 8 unresolved. Infrastructure timeouts
prevent variant ranking; later successful examples do not establish repeat repair
reliability. Every patch remains subject to human review.
Agent reliability
Live
AgentFuse
A logical circuit breaker for long-range agents
Long-running agents don't crash. They drift. AgentFuse sits above the
execution graph, watches the telemetry every framework already emits, and trips a
breaker the moment a failure mode crosses a threshold: an infinite tool loop, a slow
slide off the original objective, a logical trap where the model reasons flawlessly
from a false premise, or a budget quietly burning to zero. On a trip it freezes
state and steers the agent back with a deterministic recovery ladder, which measured
better than letting a reasoning model write the correction. When
recovery isn't safe it escalates to a human instead of blindly retrying. The premise
throughout: an agent that has drifted is the worst possible judge of whether it
drifted. One engine, three runtimes.
Retrieval
Live
Relevant Section Identification
Which pages of this PDF answer my question?
Give it a PDF and a natural-language query and it returns the pages and section
headings that answer it. Prose, tables and figures take three separate chunking
paths so structure survives, then EmbeddingGemma vectors fuse with BM25 at 0.6.
Evaluated on 45 graded queries with 12 held out: nDCG@5 0.645 to
0.728, hit@3 82% to 93%.
The interesting part is what did not work. HyDE, cross-encoder reranking
and metadata scoring were each built and measured, and each lost ground. Every
point came instead from repairing what the index contained: reading tables from the
embedded text layer rather than OCRing a picture of them, and stripping the running
header that made all 40 pages match a query equally. Retrieval quality here was
never a ranking problem, it was an extraction problem wearing a ranking costume.
Generative evaluation
Live
Structured-Context Ad Generation
An evaluator you can actually check
Built for the G2 AI Engineering Hackathon. A product photo, a geography, a season
and a line of copy go in; a 1024×1024 ad from Gemini comes out with a verdict
on whether it honoured the request. The hard half is proving the checker catches a
redrawn logo, a contradicted season, or 20% off rendered as
30% off.
On fixtures with ground truth known by construction it caught
5 of 6 defects with zero false accepts, abstaining on the sixth.
It also surfaced a real weakness, rupee prices on non-Indian campaigns caught once
in three, which the writeup reports as unresolved. 251 tests run offline.
Adversarial ML
Live
AI Defense Lab for Payment Security
Red team and blue team, wired into a loop
Built for the Mastercard Innovation Challenge 2026. A knowledge graph of payment-fraud
vectors feeds an attack simulator, which feeds an XGBoost detector trained on tabular
plus graph features. Missed detections route back as harder variants, so the
detector's own blind spots choose what attacks it faces next. Across three runs the
loop found a real generalization gap every time, retraining closed each one with no
regression elsewhere, and 5 of 5 hand-crafted evasions were caught. Which gap it
surfaces varies by run, so the writeup reports all three rather than the best one.
Durable workflows
Live
Artwork Exception Resolution Agent
Work that survives a crash or a slow reply
Resolves a blocker on a simulated sticker order end to end: inspect the file,
clarify intent, make one eligible repair, verify it, prepare a proof. State is
persisted at each step so a crash or a delayed customer answer resumes rather than
restarts. A Go API and worker with a private Python image service, Postgres and
object storage, all on Cloud Run with service-to-service auth by IAM.
The evaluation is the interesting part. Across 34 fixtures the agent passed all 34
and resolved 18, but once a deterministic script was given the same escalation
ability it matched the agent exactly. The writeup says so plainly and favours the
scripted path at this scope, rather than claiming the model won.
Computer vision
Human Activity Recognition in the Dark
LRCN for low-light video
An LRCN (CNN + LSTM) trained on the ARID low-light video dataset to recognise
activity in near-dark footage. Accuracy
moved from 72% to 91% through targeted preprocessing and model
tuning, validated against loss curves, validation accuracy, and confusion-matrix
analysis rather than a single headline number.
Audio ML
Natural Sound Recognition
RNN audio classification
An RNN-based classifier over engineered Librosa features, taking accuracy from
70% to 90% through architecture tuning, with structured evaluation
across loss, accuracy, and per-class confusion to show where the gains
actually came from.
Source not published
Agent tooling
Live
Dep Graph Generator
Which tool has to run before this one?
Reads a Composio toolkit catalog and emits a graph of which tools' outputs feed
which tools' required inputs, so an agent knows what to call first. Literal field
matching scores near zero: a comment tool wants issue_number, but the
list tool returns Issue.number several $ref hops deep. The
generator walks the schema graph, scores token matches corroborated by the owning
type name, and sends only the 227 fields heuristics cannot resolve to an LLM in
batches. Treating caller-supplied fields like owner and
repo as context cut about 4,000 edges to 2,107 across 893 tools, and a
two-tool synthetic catalog caught a filter that returned zero edges on small toolkits.