Inspiration

Run material requirements planning in an ERP system, and it faithfully hands back a massive Planning Worksheet. On a mid-sized bill of materials, a single run emits hundreds of action messages: reschedule this, cancel that, change the quantity here.

The friction isn't missing data; it's that the signal is completely undefended. Planners quickly suffer from task saturation and information overload. They learn within a week that the engine reports every two-day wobble and rounding artifact—so they stop reading the worksheet. When that happens, the four messages per run that represent a genuine, line-stopping supply risk are lost inside three hundred that do not. We built MRP Sentinel to cure this mission creep. We wanted to make life genuinely better for procurement teams by ensuring human experts only spend their cognitive energy on the exceptions that matter.

What it does

MRP Sentinel is an autonomous agent that acts as an intelligent triage layer between the ERP system and the human planner. When a planning run completes, it doesn't just forward a spreadsheet.

First, it acts as a deterministic gate, mathematically filtering out noise like simple dampener-period breaches. For the ambiguous messages that survive, it passes them to Gemini 3.5 Flash. The model evaluates the item master data, the supplier's on-time delivery history, open POs, and recent verdicts. It then returns a definitive action: SUPPRESS, ADJUST, EXPEDITE, or ESCALATE, always citing actual numbers in its rationale. Finally, it takes action—drafting supplier emails for expedites and creating curated task briefings for escalations.

How we built it

Built for the Taskmaster track using the Google Antigravity SDK, the system is fundamentally event-driven. We wired Pub/Sub and Cloud Run to intercept the completion of a planning run.

The architecture uses a strict two-pass pipeline. Pass one is pure arithmetic logic to handle the obvious suppressions. Pass two invokes Gemini 3.5 Flash for contextual reasoning. We utilized Firestore as an append-only audit trail, giving the agent a persistent memory. This ensures the system knows if an item was already expedited last week, preventing it from blindly chasing a supplier twice for the same issue.

Challenges we ran into

The biggest technical and philosophical hurdle was realizing that feeding raw, unfiltered ERP output directly to an LLM is both expensive and inefficient. We had to build a robust deterministic gate to handle subtraction and basic logic first, ensuring the model only evaluated messages requiring true judgment. Additionally, building the memory loop in Firestore was critical but challenging; getting an autonomous agent to accurately read its own historical audit trail before drafting a new supplier email required careful state management and prompt engineering.

Accomplishments that we're proud of

We successfully defended the signal from the noise. On a standard 340-message run, our deterministic gate alone removes 237 messages before a single token is spent. Gemini only receives the 86 ambiguous cases. We are incredibly proud to have turned a sprawling, unreadable daily worksheet into a concise, prioritized queue where every surviving item arrives with its mathematical reasoning attached.

What we learned

We learned that the most effective enterprise AI doesn't try to replace human decision-making; it protects it. By filtering out the daily friction, an agent can entirely remove information overload from the procurement floor. We also reaffirmed that hybrid architectures—where code handles the rigid rules and AI handles the ambiguous context—are the most robust way to build trustworthy, production-ready agents.

What's next for MRP Sentinel

We want to expand the agent's contextual awareness by tying it into broader Sales and Operations Planning (S&OP) frameworks, allowing it to weigh action messages against macro-level demand shifts and forecast changes. We also plan to build direct write-back integrations into major ERPs, so that routine "ADJUST" recommendations can be executed autonomously in the system with a single human-in-the-loop click.

Built With

Share this project:

Updates