Detects workforce capability problems before they become operational failures. Built on an agentic pipeline that ingests workforce signals, classifies risk, and generates AI-prescribed interventions in real time.
Powered by ClaudeAzure OpenAI ReadyCoBuild Pipeline FormulaD365 Warehouse Scenario
▼ Explore the system
Inventory Adjustments — HIGH RISK — 4 rules triggeredReceiving — MODERATE — Confidence Gap detectedScanner Operations — WATCH — 2 signals near threshold5 live API calls — claude-sonnet-4-6 streaming14 tickets / 7d — 64% unresolved past 48hAvg confidence 2.6 / 5.0 — intervention requiredAI Provider: anthropic → azure — one env variableInventory Adjustments — HIGH RISK — 4 rules triggeredReceiving — MODERATE — Confidence Gap detectedScanner Operations — WATCH — 2 signals near threshold5 live API calls — claude-sonnet-4-6 streaming14 tickets / 7d — 64% unresolved past 48hAvg confidence 2.6 / 5.0 — intervention requiredAI Provider: anthropic → azure — one env variable
The Problem
Knowledge gaps surface too late.
Large technology rollouts fail when capability problems are discovered after operational damage has occurred — when support tickets have already spiked, error rates have climbed, and employees have reverted to old habits. Traditional reporting is retrospective. CoSignal is prospective.
14
Support tickets in 7 days for Inventory Adjustments — threshold is 8
64%
Of tickets unresolved past 48 hours — SME bottleneck confirmed
2.6
Average D365 confidence score out of 5.0 — below intervention threshold
85.5
Average quiz score — employees know it but can’t apply it under pressure
Live Demo
Watch the pipeline run.
Real Anthropic API calls. Real Claude-generated intervention text. Built and running in a single Claude Code session.
Live recording — CoSignal V1 — claude-sonnet-4-6 — May 2026
Architecture
Three agents. One pipeline.
Sequential Python agents using the CoBuild formula — each reads from a file, each writes to a file. Every intermediate state is inspectable. Claude is used only where language generation matters.
1
Pure Python — No AI Call
Signal Aggregator
Reads seed data and normalizes three signal types per workflow area: support ticket volume and resolution rates, LMS quiz scores and retake counts, and pulse survey confidence averages.
→ aggregated_signals.json
2
Pure Python — No AI Call
Risk Detection Agent
Applies four threshold-based detection rules per workflow area. Classifies each area as HIGH, MODERATE, WATCH, or OK. Deterministic logic — same inputs always produce the same classification.
→ risk_scores.json
3
Calls Claude — Streaming API
Prescription Engine
For each HIGH and MODERATE risk area, sends the signal data to Claude and generates a specific, grounded intervention. Each intervention references the actual numbers — ticket counts, confidence scores, unresolved rates. WATCH areas use a static fallback — no API call needed.
→ prescriptions.json
Signal Inputs
Three data sources. Thirty employees.
All three signal types are ingested, normalized, and aggregated per workflow area before any detection logic runs.
🎫
Support Tickets
Volume by category, resolution timestamps, and open-ticket aging — the operational distress signal.
ticket_volume_7d
unresolved_tickets_48h
unresolved_rate
workflow_area
📊
LMS Quiz Scores
Completion rates, quiz scores, and retake counts reveal the gap between passing training and applying it.
avg_quiz_score
high_retake_count
completion_pct
attempt_count
📋
Pulse Survey
Five-question confidence survey surfaces what the operational data can’t — how employees feel about using the system.
avg_d365_confidence
avg_process_clarity
change_readiness
manager_support
Detection Output
Risk classified. Rules visible.
Four detection rules run against each workflow area. The classification is transparent — every rule that fired is shown.
HIGH
Inventory Adjustments
Tickets (7d) 14
Unresolved rate 64%
Avg quiz score 85.5
Avg confidence 2.6 / 5
Process ConfusionKnowledge DecayConfidence GapSME Bottleneck
MODERATE
Receiving
Tickets (7d) 6
Unresolved rate 50%
Avg quiz score 72.0
Avg confidence 2.85 / 5
Confidence Gap
WATCH
Scanner Operations
Tickets (7d) 7
Unresolved rate 43%
Avg quiz score 69.5
Avg confidence 3.39 / 5
Process Confusion ↗Confidence Gap ↗
AI-Generated Prescriptions
Claude reads the signals. Claude writes the prescription.
For each triggered rule, the Prescription Engine sends the actual signal data to Claude and asks it to generate a specific, grounded intervention. These are the real outputs from the live pipeline run.
Immediately convene a 90-minute hands-on session with all 10 inventory team members where they walk through the exact adjustment scenarios generating the 14 support tickets, using live D365 sandbox data. Create a one-page quick-reference card mapping each adjustment type (write-offs, transfers, corrections) to its specific D365 transaction path, and post it at each workstation. Assign a designated “process buddy” from the 2-3 highest-confidence team members to field same-day questions for the next two weeks, targeting resolution of the 9 tickets stalled beyond 48 hours.
With process clarity averaging 2.8 and confidence at 2.6 across a small 10-person team, the volume and age of unresolved tickets indicates workers lack a reliable mental model of which D365 path to follow for which scenario — making structured, scenario-based process reinforcement more urgent than additional system training.
◆ AI-generated (Claude)
🤝 Redistribute Inventory Adjustment Support Load Now
SME Bottleneck
Identify the one or two employees currently handling all escalated tickets and immediately pair them with the 4 employees who have retaken quizzes twice or more, running two 45-minute live walkthroughs this week using the actual unresolved tickets as practice cases. Simultaneously, create a one-page quick-reference card covering the top three recurring ticket issues and post it in the team’s shared channel so all 10 employees can self-serve before escalating.
With 64% of tickets stalled beyond 48 hours and only a 2.6 confidence score across the team, a single point of SME dependency is creating a resolution backlog that will worsen as go-live volume increases, making immediate load redistribution more urgent than any training or system fix.
◆ AI-generated (Claude)
Enterprise Deployment
Azure-ready. One variable.
CoSignal is designed to run inside enterprise Azure environments without modification. The AI layer is isolated in a single file — llm_client.py — which is the only file that knows about providers. Everything else is identical.
Step 01
Provision Azure OpenAI Resource
In Azure Portal, create an Azure OpenAI resource in your existing subscription. Deploy a gpt-4o model in Azure OpenAI Studio. Note the endpoint URL and deployment name. No new vendor relationship — runs on your existing Azure contract.
Step 02
Update .env Only
Change one variable and fill in your Azure credentials. No code changes anywhere in the codebase.
# Change this one line:
AI_PROVIDER=azure
# Fill in your Azure values:
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_OPENAI_API_KEY=your-azure-key
AZURE_OPENAI_DEPLOYMENT=gpt-4o
Step 03
Run — Nothing Else Changes
The pipeline runs identically. The dashboard shows “Powered by Azure OpenAI.” Data never leaves your Azure boundary.
python backend/run_pipeline.py
# Output:
CoSignal Pipeline Orchestrator
AI Provider: azure
Calling gpt-4o (streaming) via Azure OpenAI…
[ok] prescriptions.json verified
Step 04
What Does Not Change
Signal Aggregator, Risk Detection Agent, run_pipeline.py, FastAPI backend, React dashboard, detection thresholds, output JSON schemas — zero code changes. The pipeline and detection logic are entirely provider-agnostic.
ℹ️
For Greentree and government D365 implementations: Azure OpenAI Service is available in the same Azure subscription used for D365. Adding CoSignal requires one resource deployment and one configuration file change. No new vendor contracts, no data leaving the Azure boundary, no security review for external API calls.
What This Demonstrates
Portfolio evidence.
CoSignal V1 is a working system, not a mockup. Every number on this page came from a live pipeline run.
01
Agentic Pipeline Design
CoBuild formula: sequential agents, run_pipeline.py orchestrator with –from N restart, per-stage validation, file-based intermediate outputs. Each agent has one job. The pipeline is inspectable at every step.
02
Provider-Agnostic AI Architecture
llm_client.py is the only file that knows about AI providers. Anthropic or Azure OpenAI — switch with one environment variable. Zero code changes. This is enterprise portability by design, not by accident.
03
Selective AI Use
Signal aggregation and risk detection are pure Python — deterministic, fast, free. Claude is called only where language generation matters: writing specific, grounded intervention text from real signal data.
04
Measurement-First L&D Thinking
Performance signals drive learning recommendations — not the reverse. CoSignal detects the gap between passing training (quiz score 85.5) and operational performance (64% unresolved tickets) and prescribes accordingly.