Space Invaders was low-tech by the time I was growing up, but only C-3PO and Data from Star Trek had artificial intelligence. We pioneered Internet technologies while rebelling against the norm through the music of Nirvana, but some of our dreams were sewn by the notion of our work being done by humanoid androids, and the hope for a technology to transcend the Cold War if civilization could be so enlightened.

Reality was CompuServe — data systems becoming networked — and a childhood classroom which presented no tangible concept of how real artificial intelligence would become.

Now, what we know as Large language models (LLM), like ChatGPT, and generative AI aren't hype to me; they're the epoch my cohort was waiting for. It's real.

Jeffrey Sabarese (@ajaxStardust)—musician, educator, web builder, and independent researcher—has spent roughly two decades building for the web, teaching systems-thinking through guitar and music theory, and chasing that future. The advent of LLMs and generative AI has made me more energized than ever. I intend to educate the masses—helping people learn to use, trust, and dream with artificial intelligence. I'm building the infrastructure for that dream: the practices, tools, and architectures that make AI operational instead of ornamental, so we can build and collaborate without silent breakage.

I live a dual commitment through concrete work. I advocate for CONTRACT-style comments in code—explicit preconditions, postconditions, and invariants so both humans and AI agents can preserve design intent. (Due to a past injury, my memory functions best with explicit structure; I turned that need into a reusable practice.) Through Neutility._ I focus on AI as utility: embedded, dependable, and foundational—a vision that draws on my background in Curriculum and Instruction. And I ship: PotBot is a patient-facing conversational app powered by the Claude API—normalized data, LLM-driven search, real users. This site is where I write, link, and point to the rest.

Jeffrey Sabarese

What I Do

I move between software, writing, music, and teaching, but the center of gravity is AI—and the question of how symbolic structure, temporal patterns, and human-centered design can make machine reasoning more legible, useful, and original. That includes building websites, CMS-driven properties, and coding agents; it also includes exploratory work in neuro-symbolic AI, reinforcement learning, explainability, and synchronous human–AI interaction. The same systems-thinking approach that shaped my teaching and pedagogy now drives how I think about intelligence, pattern recognition, and the infrastructure we need to use and dream about AI responsibly.

Selected Highlights

AI and New Research Directions

I'm not content to only consume or integrate existing models. Much of my energy goes into exploration that opens new territory: neuro-symbolic methods, explainability, and formalizing approaches that make AI more legible and aligned. The work outlined in Symbolic Temporal Reinforcement Learning frames AI research through neuro-symbolic methods, computational musicology, temporal structure, and human–AI alignment—and reflects where my attention is now: explainability, structure, experimentation, and the possibility of naming and formalizing genuinely new methods.

Music and Performance

My musical work has included performance, songwriting, recording, and production. That history still informs how I approach rhythm, structure, collaboration, and even software design. A broader overview—including early recognition like the AMA/Coca-Cola New Music Award—is on MusicBrainz and at State College Guitar Lessons.

Teaching

Teaching guitar and music theory has been one of the most meaningful parts of my working life. Helping students learn, persist, and build confidence has probably had the most direct impact on other people of anything I have done professionally. My approach has long been rooted in systems-thinking: helping students understand architecture, intervals, structure, and recurring patterns rather than merely memorizing fragments. I build transformative.click (path-to-URL utilities, SPA preview, Annie De Browsa) and the interactive music tools at finga.studio—fretboard and piano trainer rooted in the same pedagogy. That thread is visible at State College Guitar Lessons and more explicitly in my teaching philosophy and pedagogy.

Software and Web Development

I still build practical software, developer tools, content sites, and web infrastructure, but increasingly in service of AI-oriented thinking and experimentation. Rather than duplicating that catalog here, the dedicated Projects etc. page is where the project inventory now lives.

Elsewhere

Code and open-source work on GitHub; music on SoundCloud; deeper AI and systems writing on DufoSPY; project inventory on Projects etc..

If you're here from an old bookmark or a long-standing link: same person, same curiosity and independent build. The difference is that the future we were promised is no longer tomorrow. I'm in it, and I'm more motivated than ever.

Get in touch

Send a message and I'll get back to you.

#AIAgents + AgenticAI feed

Live from Mastodon · AIAgents + AgenticAI

N-gated Hacker News

🎉 Behold the "Vibe Coding Production Kit" – because who needs actual developers when you can have AI agents with 'battle-tested' workflows? 🚀 Just imagine, from 'idea to production' without a single human brain cell involved! 🤖 Why bother with experience when you can have specs and architecture that surely won't crash and burn! 🔥
github.com/Moeeryani/Vibe-Codi

flaberenne
flaberenne flaberenne 2026-09-24

Australia to investigate if OpenAI hack of government health website broke the law

by Aditya Mehta, Zack Whittaker / via TechCrunch


techcrunch.com/2026/09/24/aust

ValGuard 2026-09-24

ValGuard vs n8n, Portkey & Guardrails AI
They look related. They solve different jobs.
• n8n → connect SaaS tools
• Portkey → manage keys, retries & spend
• Guardrails AI → validation inside one service
• ValGuard → fail-closed rules that block bad output before the next step runs
Who each is actually for:
valguard.ai/blog/valguard-vs-n

LinoTadros
LinoTadros linotadros 2026-09-24

Creating an agent in code ≠ creating a Hosted Agent.
Microsoft Foundry’s real distinction: configuring agent behavior vs. controlling execution.
When is that extra control worth it? 👇 thetrainingboss.com/microsoft-

Melaya

The best AI powered agent platform just got an upgrade

🔷 Melaya Daily Release Note

- Eighteen new model providers now connect with your own key, from Together AI to Baseten, so each agent runs on the model you choose.
- The human approval step in a workflow is now three plain questions: what to ask, when to continue, and who answers.

melaya.org/en/product/agentic-

Melaya Daily Release Note screenshot showing the model router with 18 new providers
Sipirtu

Okta announced at Oktane 2026 that it wants every AI agent to carry identification.

Source: iTWire
itwire.com/business-it-news/da

Hack a Day (unofficial)

Building an Agentic Fraud Investigation System with TigerGraph

From a Risk Score to a Defensible Fraud Decision


Fraud investigation is rarely a simple classification problem.

A suspicious transaction can be triggered by a high risk score, but the score alone does not explain what happened, which entities are connected, whether the activity matches a known fraud pattern, what evidence is still missing, or what the investigator should do next.

For Hacker House Goa, we built an Agentic Fraud Investigation System powered by TigerGraph that treats fraud investigation as a continuously evolving workflow rather than a one-time prediction.

The system starts from an investigation trigger, gathers evidence from connected transaction and entity relationships, evaluates uncertainty, requests additional evidence when necessary, recommends policy-aware next actions, explains those decisions, and stores the completed investigation as case memory for future investigations.

The core idea was simple:

A fraud signal should start an investigation, not end it.


What We Built


Our solution is an analyst-facing fraud investigation console backed by an agentic investigation workflow.

The system supports the complete investigation lifecycle:

Trigger → Investigate → Gather Evidence → Assess Uncertainty → Gather More Evidence → Take Action → Explain → Update Memory

The agent can be triggered by:

  • A fraud risk score
  • A customer report
  • A fraud analyst request

Once triggered, the agent creates or opens a case and investigates the relevant transactions, cards, customers, devices, regions, and historical cases.

Instead of relying on a single model output, the agent builds a case from multiple independent evidence sources.

The final decision can result in actions such as:

  • Allowing or declining a transaction
  • Monitoring or blocking a card
  • Warning a customer
  • Creating a fraud case
  • Requesting additional verification
  • Filing a report
  • Escalating to an analyst

The important part is that the agent does not simply return an action. It also records why that action was selected, what evidence supported it, what uncertainty remained, and whether human approval is required.

Why TigerGraph?


Fraud is fundamentally relational.

A transaction is rarely suspicious in isolation. The useful signal can exist several hops away:

Customer → Card → Transaction → Device → Other Cards → Other Transactions → Prior Cases

This makes a graph database a natural fit for fraud investigation.

TigerGraph became the relationship and investigation layer of our architecture.

We use the graph to represent entities and relationships such as:

  • Customers
  • Cards
  • Transactions
  • Device profiles
  • Email domains
  • Billing regions
  • Closed fraud cases
  • Active investigation cases

Relationships include connections such as:

OWNS, MADE, FROM_DEVICE, PURCHASER_EMAIL, BILLED_IN, INVOLVES, ON_CARD, CONNECTED_TO, USES_DEVICE

This allows the investigation agent to move from a flagged transaction to its surrounding context instead of looking at a flat row of transaction data.

TigerGraph's graph capabilities are used for:

  • Graph traversal
  • Relationship analysis
  • Fraud pattern detection
  • Connected-entity investigation
  • Prior-case retrieval
  • Case memory

The challenge specification also requires GSQL and TigerGraph graph algorithms for investigation and pattern analysis, together with TigerGraph MCP and GraphRAG for exposing graph capabilities to the agent and grounding its reasoning.

High-Level Architecture


Our architecture can be thought of as five major layers.

┌─────────────────────────────┐
│ Analyst Console │
│ React + TypeScript + UI │
└──────────────┬──────────────┘
│
▼
┌─────────────────────────────┐
│ Agent Orchestrator │
│ Investigation + Reasoning │
└──────────────┬──────────────┘
│
┌───────────────────┼───────────────────┐
│ │ │
▼ ▼ ▼
TigerGraph MCP GraphRAG Policy Engine
│ │ │
└───────────────────┼───────────────────┘
▼
┌─────────────────────────────┐
│ TigerGraph │
│ Graph + relationships │
│ + case memory │
└──────────────┬──────────────┘
│
▼
┌─────────────────────────────┐
│ Dataset + Policies + Cases │
│ Transactions / Devices │
│ Historical investigations │
└─────────────────────────────┘

The frontend was designed as a separate layer around a stable interface contract, allowing the investigation engine and UI to be developed independently and joined later. The static version reads generated JSON artifacts, while the architecture also supports a live API mode.

The Investigation Agent


The central component is the investigation agent.

Instead of using the LLM as a replacement for fraud analytics, we use it as the reasoning and orchestration layer.

The agent decides:

  1. What should be investigated next?
  2. Which tool or graph query should be executed?
  3. What evidence does the returned information provide?
  4. Is the current evidence sufficient?
  5. Should more evidence be requested?
  6. What action is allowed by policy?
  7. Does the action require human approval?
  8. When should the investigation stop?
  9. How should the final reasoning be explained?

This separation was important.

The graph performs structured relationship analysis.

The agent performs reasoning and tool selection.

The policy layer determines what actions are permissible.

The UI makes the complete investigation auditable.

TigerGraph MCP as the Agent's Graph Interface


A major part of the design is the use of TigerGraph MCP.

Instead of giving the model unrestricted access to the underlying graph, graph capabilities are exposed through controlled tools.

The agent can invoke investigation operations such as:

  • Looking at transaction windows
  • Finding connected devices
  • Discovering related cards
  • Traversing relationships
  • Retrieving historical cases
  • Collecting graph evidence for the current case

This creates a tool-driven investigation loop:

Agent
↓
Select investigation tool
↓
TigerGraph MCP
↓
TigerGraph query / traversal
↓
Structured result
↓
Agent evaluates evidence
↓
Next tool or action

This is important because the graph remains the source of structured evidence instead of forcing the LLM to infer relationships from raw text.

GraphRAG for Evidence-Grounded Reasoning


Graph data alone is not enough for a real fraud investigation.

The agent also needs contextual information such as:

  • Fraud policies
  • Known fraud patterns
  • Investigation procedures
  • Regulatory references
  • Historical case outcomes

We therefore use a GraphRAG-style approach to combine connected graph evidence with relevant contextual information.

Instead of passing large amounts of unrelated data to the model, the system retrieves the most relevant context and gives the agent a focused evidence package.

Conceptually:

Graph relationships
+
Transaction evidence
+
Prior cases
+
Fraud policy
+
Fraud pattern context
↓
Relevant investigation context
↓
Agent reasoning
↓
Next best action

This keeps the LLM grounded in evidence while allowing it to reason over the investigation state.

Policy-Aware Decision Making


One of the hardest parts of the project was making the agent capable of acting under constraints instead of simply producing a classification.

We implemented an explicit policy-driven decision model.

For example, the policy includes thresholds for:

  • When verification is required before blocking
  • When a customer confirmation closes a case
  • When no response should result in monitoring or escalation
  • How card-testing patterns should be handled
  • How shared devices and connected cards should be handled
  • When an uncertain case should be escalated
  • When a report should be filed
  • Which actions require L1 or L2 approval

The agent therefore does not operate as:

Fraud = Yes → Block

Instead, the flow becomes:

Evidence
↓
Risk + Uncertainty
↓
Applicable policy rules
↓
Allowed actions
↓
Approval route
↓
Recommended / executed action

This was essential for making the system explainable and safe to operate.

The documented policy model separates automatic actions from L1 and L2 approval routes, including explicit rules for blocking cards, filing reports, handling uncertainty, and stopping investigations.

The Agent Can Change Its Mind


One of the most important design decisions was making the investigation explicitly stateful.

A case can begin as uncertain.

New evidence can increase or decrease the fraud probability.

The agent can request more evidence.

The customer response can change the decision.

The final recommended actions can therefore be different from the initial recommendation.

The frontend makes this transition visible through a Before vs After action comparison.

For example:

INITIAL

DECLINE_TRANSACTION
VERIFY_WITH_CUSTOMER

↓
More evidence
↓
Customer denies transaction
Shared device discovered
Policy conditions satisfied
↓

FINAL

BLOCK_CARD
CREATE_CASE
FILE_REPORT
MONITOR_CONNECTED_CARDS

This makes the agentic behaviour visible instead of hiding the entire process behind a final answer.

The frontend contract explicitly models initial and final actions and requires the final action state to match the final recommendation in the answer file.

Evidence Is First-Class Data


Every important conclusion is tied back to evidence.

An evidence record contains information such as:

  • The claim
  • Evidence source
  • Query or document reference
  • Related entity IDs
  • Evidence family
  • Direction toward fraud, legitimate activity, or neutral evidence
  • Contribution to the probability update

This gives us a traceable chain:

Claim
↓
Evidence
↓
Source / Query
↓
Graph entities
↓
Risk update
↓
Policy decision
↓
Action

The UI exposes this evidence directly rather than displaying a black-box explanation.

A Concrete Investigation Example


The documented reference fixture demonstrates the complete flow using a card-testing scenario.

The case begins with a risk-score trigger:

Transaction: T0412883
Amount: $259.98
Risk score: 0.72

At the start, the investigation probability is represented as 0.50 and the case is uncertain.

The graph investigation then discovers:

  • Three online authorizations under $3
  • The activity occurring within a short time window
  • A larger purchase following those authorizations
  • A product code the card had not previously used

This becomes a graph-backed card-testing evidence event.

The probability moves to 0.65.

The investigation then continues with graph-based device-neighbour analysis and additional evidence gathering.

In the documented fixture, the case ultimately reaches:

Fraud probability: 0.86
Exposure: $264.43
Affected transactions: 4
Tool calls: 9
Latency: 18.7 seconds

The final actions represented in the fixture are:

  • BLOCK_CARD
  • CREATE_CASE
  • FILE_REPORT
  • MONITOR_CONNECTED_CARDS

The fixture also demonstrates approval routing, with blocking requiring L1 approval and filing the report requiring L2 approval.

These numbers are from the documented reference case, not an aggregate result across the full benchmark.

Case Memory


Fraud investigations should not start from zero every time.

Once an investigation is completed, the important findings, actions, outcomes, and relationships become part of the case memory.

A future investigation can retrieve similar historical cases and use them as additional context.

The graph therefore serves two purposes:

Investigation graph

Used to understand the current suspicious activity.

Case memory graph

Used to connect the current investigation with previously resolved cases and recurring patterns.

This allows the system to reason over patterns that span multiple customers, cards, devices, and historical cases.

Frontend: The Fraud Investigation Console


We built the frontend as an analyst-oriented investigation workspace rather than a generic chatbot.

The console is designed around a central principle:

Show the investigation changing over time.

The main screens include:

Case Queue


Provides a high-level view of all investigations, including:

  • Verdict
  • Fraud probability
  • Trigger type
  • Exposure
  • Pattern
  • Final actions
  • Reports
  • Approval requirements


Case Workspace


The main investigation screen combines:

  • Workflow stepper
  • Trigger information
  • Event timeline
  • Evidence
  • Transactions
  • Graph view
  • Prior cases
  • Suspicious Activity Report
  • Decision panel
  • Approvals


Replay Mode


The complete investigation can be replayed event by event.

This allows the demo to show:

Trigger
↓
Investigation
↓
Evidence
↓
Probability update
↓
Evidence request
↓
Customer response
↓
Updated recommendation
↓
Approval
↓
Memory update

The frontend architecture uses a static-first data model so that the demo remains usable without depending on a live backend connection.

Why We Chose a Static-First Demo Architecture


For a fraud investigation demo, a broken backend connection can completely destroy the story.

So we deliberately designed the console to work from recorded investigation traces.

The backend produces structured artifacts for:

  • Cases
  • Investigation traces
  • Graph subgraphs
  • Prior cases
  • Metrics

The frontend then reads those artifacts directly.

A live API can be connected when available, but the recorded trace provides a deterministic fallback.

This means the exact same investigation can be replayed consistently during a demo.

The architecture supports both static data files and live HTTP/SSE execution through a common data interface.

Technology Stack


The main stack behind the system includes:

Graph & Investigation

  • TigerGraph
  • GSQL
  • TigerGraph graph capabilities
  • TigerGraph MCP
  • GraphRAG

Agent Layer

  • Agent orchestration
  • Tool calling
  • Evidence synthesis
  • Policy-aware reasoning
  • Case memory

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Zustand
  • Cytoscape.js
  • Recharts
  • Zod

The frontend architecture was specifically designed for deterministic graph rendering, investigation replay, evidence visualization, and validation against the backend interface contract.

Engineering the Investigation Trace


We did not want the frontend to guess how the agent reached a conclusion.

Instead, the backend trace records each investigation event.

A trace contains:

  • Step
  • Event type
  • Timing
  • Tool invocation
  • Evidence
  • State snapshot
  • Recommendation changes
  • Approval records

Every event also carries the current state of the investigation.

This made the UI significantly simpler because the frontend can render any point in the investigation directly from the selected event rather than reconstructing the entire state through complicated reducer logic.

The same trace powers:

  • Static viewing
  • Replay mode
  • Live streaming
  • Probability timelines
  • Evidence history
  • Before/After action comparison

The documented architecture explicitly uses a snapshotAt() model and an diffActions() function to keep all three modes consistent.

What We Learned

1. Fraud detection is a graph problem


A suspicious transaction can only tell part of the story.

The strongest clues often come from relationships between transactions, cards, devices, customers, and historical cases.

2. An agent needs tools, not just prompts


A language model becomes much more useful when it can investigate through structured tools.

Instead of asking the model to "figure out the fraud", we give it controlled access to evidence and let it decide what to investigate next.

3. Uncertainty is a feature


A strong fraud agent should know when it does not have enough evidence.

The correct behaviour is sometimes:

Ask → Verify → Reassess

rather than immediately blocking an account.

4. Explainability must be designed into the architecture


Explainability cannot simply be added after the model produces its answer.

We therefore made evidence, policy references, tool calls, uncertainty, approvals, and action changes first-class parts of the investigation record.

5. Deterministic replay is extremely valuable


For a complex agentic system, reproducibility matters.

Recorded traces allow the investigation to be demonstrated exactly as it occurred while still keeping the architecture ready for live execution.

What We Would Improve Next


With more development time, we would extend the system in several directions.

Larger-scale graph investigation


The graph could be expanded with more entity types and deeper relationship analysis to uncover more complex fraud rings.

Better case retrieval


Case memory could evolve into a stronger semantic retrieval layer combining graph similarity with vector-based historical case retrieval.

More sophisticated uncertainty estimation


The probability update mechanism could be improved with stronger calibration and more formal uncertainty modelling.

More real integrations


The simulated actions could be replaced with controlled integrations for customer verification, authentication systems, CRM workflows, and reporting systems.

Continuous learning from investigator feedback


Analyst approvals, rejections, and final outcomes could be fed back into the case-memory layer to improve future recommendations.

Final Takeaway


The main lesson from building this project was that agentic fraud investigation is not simply:

LLM + database = fraud agent

The useful architecture is closer to:

Graph + Evidence + Policy + Tools + Memory + Agent Reasoning + Human Approval + Explainable UI

TigerGraph provides the relational intelligence needed to understand how suspicious activity is connected.

The agent coordinates the investigation.

GraphRAG provides grounded context.

The policy layer constrains decisions.

Case memory makes previous investigations reusable.

And the investigation console makes the entire reasoning process visible to the analyst.

The result is a system designed to move from:

"This transaction looks suspicious."

to:

"Here is the evidence, here is the connected activity, here is what is still uncertain, here is what policy allows us to do, and here is the next best action."

That shift — from prediction to investigation — is what makes an agentic fraud system useful in practice.

Repository


The complete implementation, including the investigation console, graph-oriented investigation flow, case artifacts, replay structure, and supporting components, is available in our GitHub repository.

Built for Hacker House Goa


This project was built for the TigerGraph Agentic Fraud Investigation challenge at Hacker House Goa.

TigerGraph #HackerHouseGoa #FraudDetection #AgenticAI #GraphRAG #GraphDatabase #AI #FraudInvestigation #GSQL #MCP

#agents #ai #database #software #coding #development #engineering #inclusive #community
LOCK 1:- Tiger Graph Project