How nickolasnolte1/factored-hackathon-2026-nico-x2.exe works
This repository builds an AI-first banking dispute-service demo, backed by a staged Databricks data pipeline and controlled banking tools. A customer signs in, chats with the agent, and may receive a resolution or human handoff; the web app also exposes traces and an agent console. Other major branches generate evaluation scenarios, classify intake intent, and score agent outcomes. Edges use README statements or visible source-index references; unsampled implementation details and some runtime wiring are intentionally not inferred.
Main entry points: service.py Bank tool service · server.py Demo app server · agent.py Conversation agent · score.py Outcome scoring
Components 18
Customer experience
- Chat and console
app/static/app.js - Demo app server
app/server.py - Conversation agent
app/agent.py - Model client
app/llm.py
Banking controls
- Bank tool service
src/bank_tools/service.py - Gold data repository
src/bank_tools/repository - Tool audit trail
src/bank_tools/audit.py - Conversation state
src/bank_tools/state.py
Data pipeline
- Bronze ingestion
src/bronze - Silver quality layer
src/silver/silver_lib.py - Gold tables
src/gold/gold_lib.py
AI and policy
- Dispute policy
src/policy/dispute_policy.py - Intent classifier
src/classifier/runtime.py
Scenario evaluation
- Scenario generation
src/scenarios/generate.py - Agent evaluation
src/agent_eval/run.py - Outcome scoring
src/agent_eval/score.py
Other components
- Customer
- Databricks
Connections 22
- Customer → Chat and console: uses
README.md - Chat and console → Demo app server: sends requests
- Demo app server → Conversation agent: routes chat
app/server.py - Demo app server → Bank tool service: uses sign-in tools
app/server.py - Demo app server → Intent classifier: uses classifier
app/server.py - Conversation agent → Model client: calls
app/agent.py - Conversation agent → Bank tool service: calls tools
app/agent.py - Model client → Databricks: requests model
README.md - Bank tool service → Gold data repository: reads and writes
src/bank_tools/service.py - Bank tool service → Tool audit trail: records calls
- Bank tool service → Conversation state: uses state
src/bank_tools/service.py - Bank tool service → Dispute policy: applies rules
src/bank_tools/service.py - Gold data repository → Gold tables: reads snapshot
README.md - Bronze ingestion → Silver quality layer: feeds
README.md - Silver quality layer → Gold tables: builds from
src/gold/01_build_gold.py - Gold tables → Databricks: built on
README.md - Scenario generation → Dispute policy: computes expected outcomes
src/scenarios/generate.py - Scenario generation → Silver quality layer: uses anchors
- Agent evaluation → Conversation agent: runs agent
README.md - Agent evaluation → Outcome scoring: scores runs
README.md - Outcome scoring → Dispute policy: checks policy outcomes
src/agent_eval/score.py - Outcome scoring → Gold data repository: looks up snapshot
src/agent_eval/score.py