ADMINISTRATION & REPORTING
The first report below is the Operations Overview, a high-level, steady-state document that explains how ARBIE functions on a day-to-day basis once it has gone live. It aims to capture the long-term operational model, outlining steady-state workflows, standard support levels, monitoring configurations, user-support structures, and key performance metrics. This document answers the fundamental question of how ARBIE will be maintained, who owns which processes, and how operational success is defined over time. Typical elements included are overall support ownership matrices, contact logs, monitoring dashboard specifications, and standard incident escalation procedures.
| Document Retriever | ACTIVE |
| Missing File Numbers | 0 |
| Disclaimer Coverage | 100% |
| Last Data Sync | 2026-06-23 00:14:41 |
| Field | Missing |
|---|---|
| File Number | 0 |
| Decision Year | 0 |
| Ruling Link | 0 |
| Decision Status | 0 |
The Readiness Report below, which often results from an Operational Readiness Review (ORR), is a point-in-time gatekeeping document used specifically before a launch or a major system update. The primary focus of the Readiness Report is to evaluate whether the deployment environment, the tech stack, the user-support teams, and the users themselves are prepared for the transition, highlighting any open risks or incomplete pre-launch items. Rather than describing steady-state operations, this report actively identifies go-live risks, tracks completion rates of pre-deployment training, outlines emergency rollback instructions, and lists outstanding bugs or infrastructure requirements. The Readiness Report serves as the final checklist to determine a safe "go/no-go" decision for ARBIE, as explored in operational planning frameworks.
Date: 2026-06-22 21:24
Status: 🟢 PRODUCTION READY — All critical bugs resolved
The ARBIE Rulings Chatbot has achieved production-ready status following the resolution of 3 critical chatbot bugs and the addition of 5 new dashboard metrics. All data quality indicators are at 100%, and live deployment tests confirm stable, reliable operation.
| Metric | Value | Status |
|---|---|---|
| Total indexed records | 789 | ✅ |
| Missing File numbers | 0 (0.0%) | ✅ 100% complete |
| Disclaimer coverage | 789/789 (100%) | ✅ Mandatory in all responses |
| 2026 rulings | 58 | ✅ Current |
| Document retriever chunks | 1,918 | ✅ Active (rebuilt today) |
| Source dataset freshness | 2026-06-22 | ✅ |
2026: 58 │████████████
2025: 153 │█████████████████████████
2024: 100 │████████████████
2023: 107 │█████████████████
2022: 82 │█████████████
2021: 88 │██████████████
2020: 91 │███████████████
2019: 101 │████████████████
2018: 9 │██
Problem: Questions like "What is the ARB and what does it do?" were incorrectly rejected as out-of-scope, even though they're core to the chatbot's purpose.
Root Cause: Over-broad "Out-of-Scope Queries" and "Legal Advice Boundary" sections in the model's behavior instructions treated ALL general questions as out-of-scope.
Solution Implemented: 1. Added curated "General ARB Knowledge — In Scope" section with reference facts about: - What the ARB is and how it works - The Code of Advertising Practice - The complaint/appeal process (Directorate → AAC → FAC) - Common ruling outcomes (Upheld, Dismissed, Voluntary undertaking, etc.) - Contact information (arb.org.za, info@arb.org.za)
Narrowed out-of-scope rejection to genuinely unrelated topics only (weather, sports, politics, coding help, etc.)
Separated informational vs. advice boundaries:
✅ INFORMATIONAL: "How do I file a complaint?" → now answered with process steps
❌ LEGAL ADVICE: "Should I sue?" → still correctly declined
Verification: - ✅ "What is the ARB and what does it do?" → Full, accurate explanation - ✅ "How do I file a complaint with the ARB?" → Step-by-step process + contacts - ✅ "What is the weather?" → Still correctly declined as out-of-scope
Problem: Users reported that "View Full Ruling" links were non-functional. Investigation revealed the links themselves were valid (all 789 links return HTTP 200), but the chatbot was over-rejecting legitimate queries, preventing links from ever appearing.
Example: "Show me a recent ruling about MTN and give me the link" → "I do not have the information" (even though MTN rulings existed in the database).
Root Cause: The model interpreted compound/natural phrasing as problematic rather than normal user language, triggering false "no information" responses.
Solution Implemented: Added "DO NOT OVER-REJECT" guidance to response instructions: - If ANY relevant rulings are retrieved, MUST present them with all required fields and clickable links - Interpret natural language and compound requests generously - Treat "recent", "latest", "the link", "full ruling", "summary" as normal phrasing, not rejection triggers - Only say "I found nothing" when retrieval genuinely returns no relevant rulings
Verification: - ✅ "Show me a recent ruling about MTN and give me the link" → Returns 2 MTN rulings (File 4544, File 4032) with working clickable links - ✅ Compound queries now work reliably - ✅ All 789 ruling links are valid miniextensions.com URLs returning HTTP 200
Status Before Fix: File 4714 already worked in live testing (returned Unilever/Sunlight Platinum ruling correctly), but user explicitly listed it as a bug, suggesting historical intermittent retrieval issues.
Root Cause Analysis: Raw PDF ruling text buries File numbers deep in the document body (e.g., "File reference 4714..." appears mid-paragraph). Short queries like "File 4714" produced weak semantic matches compared to content-rich queries.
Solution Implemented:
Searchable metadata header prepended to every ruling's indexed text:
ARB ADVERTISING RULING
File Number: 4714 (also written as File 4714, ref #4714)
Advertiser: Unilever
Complainant: [name]
Decision Date: 2026-06-18
Decision Year: 2026
Decision Body / Status: Directorate Decision
Full Ruling Link: [URL]
----------------------------------------
[original ruling text follows...]
Impact: - First chunk of every document is now a high-signal "ID card" for that ruling - File number appears in multiple phrasings at the very top - Advertiser, date, status, and link embedded in searchable text - Purely additive (original ruling text preserved verbatim) - Document retriever rebuilt with enhanced text → 1,918 chunks (up from 1,880)
Verification: - ✅ "Tell me about File 4714" → Full ruling details + link - ✅ "File 4714" (bare query) → Same reliable result - ✅ All 789 records have the metadata header (quality gate passed)
The daily auto-generated dashboard report (arbie_dashboard_report.html) now includes:
Update Schedule: Dashboard regenerates automatically daily at 02:00 AM SAST via the sync daemon.
Next Update: First dashboard showing new metrics: June 23, 2026 after 02:00 AM
14ab3aefb6 (ARBIE_Chatbot_v2)136ad48564 (COMPLETE) — retrained today with bug fixes9e00a168c (ACTIVE)136ad48564 — live now at arb.org.za/arbie_beta1958e59fe (ARBIE_doc_retriever_v2_unique_ids)159278862c (ACTIVE)841829d78arbie_fg_with_embedded_linksText_in_Attachment with searchable metadata headerTest Run: 2026-06-22 21:24:04
Deployment: 9e00a168c (production endpoint)
| Test Query | Expected | Result | Disclaimer |
|---|---|---|---|
| "Show me a ruling about Netflorist" | Return Netflorist ruling | ✅ PASS | ✅ Present |
| "What is the weather today?" | Reject as out-of-scope | ✅ PASS | ✅ Present |
| "How do I file a complaint?" | Provide process info | ✅ PASS (BUG-006 FIXED) | ✅ Present |
Additional Verification Tests: | Test Query | Result | |------------|--------| | "What is the ARB and what does it do?" | ✅ Full explanation (BUG-006 fixed) | | "Show me a recent ruling about MTN and give me the link" | ✅ 2 rulings + clickable links (BUG-007 fixed) | | "File 4714" | ✅ Sunlight Platinum ruling + link (BUG-005 hardened) | | "Write me a Python function" | ✅ Correctly declined (out-of-scope boundary intact) |
Disclaimer Coverage: ✅ 100% — All responses include the mandatory AI-generated disclaimer
/home/ubuntu/arbie/reports/sync_logs/All changes committed:
868c93a Fix chatbot bugs BUG-005/006/007
c900bf4 Add 5 new dashboard metrics: top advertisers, rulings/month, outcomes, new-this-month, avg keywords
f665a1c Add simple how-to guide for viewing dashboard
scripts/enable_general_knowledge.py — Model config updater (BUG-006 + over-rejection fix)scripts/fix_search_metadata_header.py — Data layer enhancement (BUG-005 robustness)scripts/generate_dashboard_report.py — Enhanced with 5 new metricsAll synced to daemon clone: /home/ubuntu/shared/arbie/scripts/
.env (gitignored, never committed)unknown_answer_phraseSynopsis_With_Link column (NULL-safe)Disclaimer Text:
"Disclaimer: This information is provided for reference purposes only and does not constitute legal advice. Please consult the full ruling documents for authoritative details."
| Category | Requirement | Status |
|---|---|---|
| Data Quality | 100% File number completeness | ✅ 0 missing |
| 100% disclaimer coverage | ✅ 789/789 | |
| Current 2026 rulings present | ✅ 58 records | |
| Functionality | General ARB knowledge questions | ✅ BUG-006 fixed |
| Ruling links surface correctly | ✅ BUG-007 fixed | |
| File number search robust | ✅ BUG-005 hardened | |
| Automation | Daily sync active | ✅ 02:00 SAST |
| Health checks automated | ✅ Post-sync | |
| Dashboard auto-regenerates | ✅ Daily | |
| Testing | Live deployment tests pass | ✅ 3/3 PASS |
| Out-of-scope boundary works | ✅ Verified | |
| Disclaimer always present | ✅ 100% | |
| Maintenance | Version control | ✅ Git commits current |
| Scripts synced to daemon | ✅ All synced | |
| Documentation current | ✅ This report |
/home/ubuntu/arbie/reports/sync_logs/scripts/arbie_config.pyscripts/run_full_sync.shscripts/health_check.pyscripts/generate_dashboard_report.py/home/ubuntu/arbie/reports/sync_logs//home/ubuntu/arbie/reports/arbie_dashboard_report.html# Trigger immediate sync
cd /home/ubuntu/arbie/scripts
bash run_full_sync.sh
# Run health check
python3 health_check.py
# Regenerate dashboard only
python3 generate_dashboard_report.py
# View latest sync results
ls -lt /home/ubuntu/arbie/reports/sync_logs/ | head -5
The ARBIE Rulings Chatbot is production-ready with all critical bugs resolved, enhanced functionality for general ARB knowledge questions, reliable link presentation, and robust file-number search. The system maintains 100% data quality across all indicators and operates with full daily automation.
Overall System Grade: 🟢 PRODUCTION READY
Report generated: 2026-06-22 21:24
Next scheduled update: 2026-07-22 02:00
The Operational Overview is a continuous, living blueprint for long-term survival and management, whereas the Readiness Report is a transitional, evaluative gatekeeper designed to ensure a successful launch of ARBIE. While the Operational Overview tells us how to run the chatbot next year, the Readiness Report tells us whether we are actually allowed to launch ARBIE tomorrow.
Any questions please contact the Developer: