ExpiresActive On ExpiresDefault "access plus 7 days" ExpiresByType text/css "access plus 1 day" ExpiresByType application/javascript "access plus 1 day"

icon

ADMINISTRATION & REPORTING


Confidential reports and statistics for the ARB management. Do not distribute.


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.

ARBIE Operations Report - 2026-06-23 05:34

📊 ARBIE Operations Overview

Generated: 23 June 2026 at 05:34:56

Production Score

100
PRODUCTION READY

Indexed Rulings

789
Target: ~780

Document Chunks

1918
Target: ~1848

Data Quality

100%
Completeness

New Rulings This Month

6
June 2026

Avg Keywords / Ruling

9.5
AI-extracted search terms

Disclaimer Coverage

100%
Legal disclaimer embedded

Outcome Categories

7
Distinct ruling outcomes

System Health

Document Retriever ACTIVE
Missing File Numbers 0
Disclaimer Coverage 100%
Last Data Sync 2026-06-23 00:14:41

Data Quality Details

FieldMissing
File Number0
Decision Year0
Ruling Link0
Decision Status0

Rulings by Year

Decision Type Distribution

Rulings per Month (Last 12 Months)

Outcome Distribution

Top 10 Advertisers by Ruling Count


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.

ARBIE Readiness Report

Date: 2026-06-22 21:24
Status: 🟢 PRODUCTION READY — All critical bugs resolved


Executive Summary

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.

Key Improvements This Session

  • BUG-006 FIXED: General ARB knowledge questions now answered correctly
  • BUG-007 FIXED: Ruling links now surface reliably in all responses
  • BUG-005 HARDENED: File number search robustness enhanced with metadata headers
  • 5 new dashboard metrics added to static HTML report
  • Model retrained & redeployed with improved instruction set
  • Document retriever rebuilt with enhanced searchable text (1918 chunks)

System Health Metrics

Data Quality (100% Across All Indicators)

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

Year Distribution

2026: 58   │████████████
2025: 153  │█████████████████████████
2024: 100  │████████████████
2023: 107  │█████████████████
2022: 82   │█████████████
2021: 88   │██████████████
2020: 91   │███████████████
2019: 101  │████████████████
2018: 9    │██

Bug Fixes Implemented

BUG-006: General ARB Knowledge Blocked ❌ → ✅

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)

  1. Narrowed out-of-scope rejection to genuinely unrelated topics only (weather, sports, politics, coding help, etc.)

  2. Separated informational vs. advice boundaries:

  3. ✅ INFORMATIONAL: "How do I file a complaint?" → now answered with process steps

  4. ❌ 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


BUG-007: Ruling Links Not Surfacing ❌ → ✅

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


BUG-005: File Number Search Robustness ✅ Enhanced

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)


Dashboard Enhancements

5 New Metrics Added to Static HTML Report

The daily auto-generated dashboard report (arbie_dashboard_report.html) now includes:

New KPI Cards

  1. New Rulings This Month — Count of rulings added in current month (June 2026: 6 rulings)
  2. Average Keywords per Ruling — Mean AI-extracted keywords across all rulings (9.5 keywords)

New Charts

  1. Top 10 Advertisers (Bar Chart) — Most frequently ruled-upon advertisers
  2. MTN (22), Takealot (13), Vodacom, KFC, Telkom, Rain, Netflorist, Pick n Pay, Woolworths, MAQ Soft
  3. Rulings per Month (Line Chart) — Trend over last 12 months showing ruling volume patterns
  4. Outcome Distribution (Pie Chart) — Breakdown by decision outcome:
  5. Directorate Decision, AAC Decision, FAC Decision, Breach Decision, New Substantiation Decision, Voluntary Undertaking, Withdrawn

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


Technical Updates

Model & Deployment

  • Model ID: 14ab3aefb6 (ARBIE_Chatbot_v2)
  • Latest Model Version: 136ad48564 (COMPLETE) — retrained today with bug fixes
  • Deployment ID: 9e00a168c (ACTIVE)
  • Deployed Version: 136ad48564live now at arb.org.za/arbie_beta

Document Retriever

  • Retriever ID: 1958e59fe (ARBIE_doc_retriever_v2_unique_ids)
  • Latest Version: 159278862c (ACTIVE)
  • Rebuild Date: 2026-06-22 21:04:27 UTC
  • Chunks: 1,918 (increased from 1,880 due to metadata headers)
  • Chunk Size: 800 characters
  • Indexed Metadata: Enabled

Feature Group

  • Indexed FG ID: 841829d78
  • Table: arbie_fg_with_embedded_links
  • Last Materialized: 2026-06-22
  • Records: 789
  • SQL Updated: Enhanced Text_in_Attachment with searchable metadata header

Live Deployment Testing

Test 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


Automation & Maintenance

Daily Sync Daemon (Active)

  • Schedule: 02:00 Africa/Johannesburg (daily)
  • Mode: PAT-authenticated Airtable API
  • Actions:
  • Fetch latest records from Airtable
  • Upload new dataset version
  • Re-materialize feature groups
  • Rebuild document retriever
  • Regenerate dashboard report (with new metrics)
  • Run health check
  • Log results to /home/ubuntu/arbie/reports/sync_logs/

Git Version Control

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 Added This Session

  1. scripts/enable_general_knowledge.py — Model config updater (BUG-006 + over-rejection fix)
  2. scripts/fix_search_metadata_header.py — Data layer enhancement (BUG-005 robustness)
  3. scripts/generate_dashboard_report.py — Enhanced with 5 new metrics

All synced to daemon clone: /home/ubuntu/shared/arbie/scripts/


Security & Compliance

Data Privacy

  • ✅ PAT-authenticated Airtable access (scoped to specific base only)
  • ✅ Credentials stored in .env (gitignored, never committed)
  • ✅ Public share view can now be disabled (PAT supersedes it)

Legal Disclaimer

  • Mandatory in 100% of responses (789/789 records, all live tests)
  • ✅ Hardcoded in model's unknown_answer_phrase
  • ✅ Embedded in Synopsis_With_Link column (NULL-safe)
  • ✅ Reinforced in behavior & response instructions

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."


Production Readiness Checklist

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

Recommendations

Immediate (Optional)

  1. Disable Airtable public share view — PAT sync makes it unnecessary; reduces security exposure
  2. Monitor tomorrow's auto-sync (02:00 AM) — verify new dashboard metrics appear

Ongoing

  1. Review sync logs weekly/home/ubuntu/arbie/reports/sync_logs/
  2. Spot-check chatbot responses monthly — ensure quality remains high as new rulings are added
  3. Bookmark this report — operational reference for current system state

Support Resources

Key Files

  • Configuration: scripts/arbie_config.py
  • Daily sync: scripts/run_full_sync.sh
  • Health check: scripts/health_check.py
  • Dashboard generator: scripts/generate_dashboard_report.py

Logs

  • Sync logs: /home/ubuntu/arbie/reports/sync_logs/
  • Dashboard report: /home/ubuntu/arbie/reports/arbie_dashboard_report.html

Manual Commands

# 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

Conclusion

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

Key summarised distinctions between the 2 reports

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: