BAITS Notify Prototype is a COAR Notify pilot aligned with the UNESCO-CODATA DPs4Crises-Pilot's crisis-resilient livestock traceability in Botswana. It implements Announce, Request–Review, and Offer patterns over W3C LDN with KLD relevance ranking and UNESCO-CODATA DPs4Crises alignment. Built with FastAPI · Streamlit · SQLite · Docker Compose.
# BAITS — Botswana Animal Identification and Traceability System
> The COAR Bots-egov-agri prototype — event-driven livestock traceability with KLD relevance ranking and UNESCO-CODATA DPs4Crises alignment.
---
## Overview
COAR Bots-egov-agri is a research prototype showing how COAR Notify — an open protocol built on W3C Linked Data Notifications (LDN) and Activity Streams 2.0 (AS2) — can serve as the notification backbone for a national livestock traceability system during disease outbreaks and other agricultural crises.
**Scenario**: 5 farmers across Botswana districts × 5 animals each. An active FMD alert in the North-East District. A veterinary authority (VET) processing movement permit requests ordered by crisis relevance.
---
## Features
- **COAR Notify patterns**: Announcement (animal registration), Request–Review (movement permits), Offer (ownership transfer)
- **LDN-compliant inboxes**: `POST` (201 + Location), `GET` (LDP Container), individual notification dereference
- **KLD Relevance Ranking**: Kullback–Leibler Divergence over 6 Boolean features scores each notification against a crisis prior — surfacing the most atypical events first in the VET Work Queue
- **Streamlit dashboard**: Farmer view, VET Work Queue (KLD-ordered), KLD Analytics tab, Admin view
- **Colour-coded badges**: Red (KLD > 0.30) / Amber (0.15–0.30) / Green (< 0.15)
---
## Architecture
```
COARbaitsV1/
├── baits_coar/
│ ├── docker-compose.yml
│ ├── cleanup_db.py # wipe DB and start fresh
│ ├── data/ # shared SQLite volume (baits_system.db)
│ ├── ldn_inbox/ # FastAPI LDN receiver + KLD engine
│ │ ├── Dockerfile
│ │ └── main.py
│ └── dashboard/ # Streamlit UI
│ ├── Dockerfile
│ └── dashboard.py
├── BAITS_Documentation.tex # Full documentation (Overleaf-compatible)
├── BAITS_Documentation.docx # Full documentation (Word)
└── BAITS_KLD_Proposal.docx # KLD ranking proposal doc …