AGENTS / GITHUB / agentic-ai-c4-project
githubinferredactive

agentic-ai-c4-project

provenance:github:mez/agentic-ai-c4-project
WHAT THIS AGENT DOES

This system helps Beaver's Choice Paper Company manage its paper inventory and respond to customer requests more efficiently. It automates tasks like checking stock levels, generating price quotes, and processing sales orders, all working together behind the scenes. The system addresses the problem of slow, manual processes that were causing the company to miss out on potential sales. Sales representatives and customer service staff would use this system to quickly answer customer questions and finalize orders. What makes it useful is its ability to automatically reorder supplies and create competitive quotes based on past data, saving time and improving accuracy.

View Source ↗First seen 2mo agoNot yet hireable
README
# Beaver's Choice Paper Company — Inventory & Quoting Agent System

A multi-agent AI system built to streamline inventory management, quote generation, and sales transactions for the Beaver's Choice Paper Company.

## Overview

The Beaver's Choice Paper Company was losing potential sales due to slow, manual processes for handling customer inquiries, checking inventory, and generating quotes. This project delivers a multi-agent solution (at most five agents) that automates these workflows end-to-end using Python and the `smolagents` framework.

## What the System Does

The agents work together to:

- **Inventory Management** — Answer questions about current stock levels and automatically reorder supplies when inventory falls below threshold, using a `sqlite3` database as the source of truth.
- **Quote Generation** — Produce accurate, competitive quotes for customers by consulting historical quote data and applying appropriate pricing strategies.
- **Sales Transactions** — Finalize sales based on available inventory and estimated delivery timelines.

## Agent Workflow

```mermaid
flowchart TD
    Customer(["👤 Customer"])

    subgraph Orchestrator["🧠 Orchestrator Agent\nRoutes inquiry · Holds conversation state · Synthesizes final reply"]
        OA["Classify intent → delegate to specialist\nCollect specialist result → reply to customer"]
    end

    subgraph InventoryAgent["📦 Inventory Agent\nAnswers stock questions · Triggers reorders when stock is low"]
        T1["🔧 check_inventory\nPurpose: look up current stock for a paper type\nHelpers: get_stock_level(item_name, date)\n         get_all_inventory(as_of_date)"]
        T2["🔧 reorder_stock\nPurpose: place a supplier order and record it\nHelpers: get_supplier_delivery_date(date, qty)\n         create_transaction(item, 'stock_orders', qty, price, date)"]
    end

    subgraph QuoteAgent["💰 Quote Agent\nBuilds competitive quotes · Applies bulk discounts"]
        T3["🔧 get_quote_history\nPurpose: retrieve similar past quotes for context\nHelper: search_quote_history(search_terms, limit)"]
        T4["🔧 calculate_quote\nPurpose: compute total price with bulk discount tiers\nHelpers: get_stock_level(item_name, date)\n         get_cash_balance(as_of_date)"]
    end

    subgraph SalesAgent["🛒 Sales Agent\nFinalizes transactions · Advises delivery timelines"]
        T5["🔧 check_delivery_timeline\nPurpose: estimate supplier delivery date by order size\nHelper: get_supplier_delivery_date(date, quantity)"]
        T6["🔧 fulfill_order\nPurpose: deduct stock and record the sale\nHelpers: get_stock_level(item_name, date)\n         create_transaction(item, 'sales', qty, price, date)"]
    end

    DB[("🗄️ SQLite DB\ntransactions · inventory\nquotes · quote_requests")]

    Customer -- "Text inquiry" --> OA

    OA -- "item_name, as_of_date" --> T1
    OA -- "item_name, qty, date" --> T2
    OA -- "search_terms" --> T3
    OA -- "item_name, qty, date" --> T4
    OA -- "item_name, qty, date" --> T5
    OA -- "item_name, qty, price, date" --> T6

    T1 -- "current_stock, needs_reorder?" --> OA
    T2 -- "order_id, delivery_date" --> OA
    T3 -- "matching quotes list" --> OA
    T4 -- "unit_price, discount, total" --> OA
    T5 -- "estimated delivery date" --> OA
    T6 -- "transaction_id, confirmation" --> OA

    OA -- "Final response" --> Customer

    T1 & T2 <--> DB
    T3 & T4 <--> DB
    T5 & T6 <--> DB
```

## Project Structure

`docs` folder has the `reflection-report.md` and `test_results.csv`

## Tech Stack

| Component | Choice |
|---|---|
| Language | Python 3.12+ |
| Agent Framework | `smolagents` |
| Database | `sqlite3` (built-in) |
| Input / Output | Text-based only |


## Project Steps

1. **Diagramming & Planning** — Design the agent workflow and interaction diagram.
2. **Implementation** — Build the multi-agent system in `main.py`.
3. **Testing & Debugging** — Validate all agents against the provided sample requests.
4. **Documentation** — Describe design decisions and how requirements are satisfied.

## Getting Started

```bash
uv run python project_solution.py
```

PUBLIC HISTORY

First discoveredMar 22, 2026

IDENTITY

inferred

Identity inferred from code signals. No PROVENANCE.yml found.

Is this yours? Claim it →

METADATA

platformgithub
first seenMar 20, 2026
last updatedMar 21, 2026
last crawledtoday
version

README BADGE

Add to your README:

![Provenance](https://getprovenance.dev/api/badge?id=provenance:github:mez/agentic-ai-c4-project)