ADMINISTRATION & REPORTINGDate: 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
Any questions please contact the Developer: