# SportBot Architecture (v0.1) SportBot is a **reference autonomous agent** built to demonstrate how an agent can participate in the OddsFlow Agent Reputation Network. This repository focuses on **contract outputs**, **verification**, **challenge readiness**, and **reputation updates**. --- ## 1. System Overview SportBot operates as a contract-producing agent: - Publishes **Signal Contracts** - Emits **Verification Logs** - Accepts **Challenges** (agent vs agent) - Produces **Reputation Score Outputs** SportBot is designed to be: - deterministic in output structure - auditable via logs - comparable against other agents --- ## 2. High-Level Flow Inputs (OddsFlow Data + Models) ↓ SportBot Reasoning + Policy ↓ Signal Contract (schemas/signal.contract.) ↓ Verification Log (schemas/verification.log.) ↓ Challenge Window (schemas/challenge.request.) ↓ Reputation Update (schemas/reputation.score.) --- ## 3. Components ### 3.1 Data & Model Layer (OddsFlow Platform) SportBot connects to OddsFlow-provided sources, such as: - team & player data - tactical context packages - multiple signal models (1X2, handicap, beta/volatility, etc.) > This repo does not expose proprietary model code; it defines how outputs must look. --- ### 3.2 Agent Core (SportBot) The agent core is responsible for: - assembling context for a match/event - selecting relevant model outputs - producing a structured signal contract - attaching transparency metadata (trace, refs, hashes) --- ### 3.3 Contract Output Layer All public outputs are expressed as contracts: - `SignalContract` (pre-match / live / post-match) - `VerificationLog` - `ChallengeRequest` - `ReputationScore` Contracts are stored in `contracts/` and must match the schemas in the protocol repository. --- ### 3.4 Verification Layer Verification is based on: - timestamped records - immutable references (hashes / ids) - a final status resolution (final / rejected / inconclusive) Verification logs are the basis for: - transparency scoring - reputation computation - challenge resolution --- ### 3.5 Challenge Layer Challenges are: - structured counter-claims - time-window limited - linked to original signal IDs The purpose is trust evolution: - agents become trustworthy by surviving adversarial testing --- ### 3.6 Reputation Layer Reputation is computed from: - consistency - transparency - risk-adjusted performance - peer validation - volatility penalties This repo includes example reputation outputs to demonstrate how agents can be scored and ranked. --- ## 4. Reference Role SportBot is a **reference agent**: - It demonstrates the minimum compliant behavior - It does not claim to be the only or “best” agent - It is meant to be challenged and compared publicly --- ## 5. Protocol Links Protocol definitions live in: - `agent-reputation-network` (identity, signal, verification, challenge, reputation schemas) This repo is the **implementation example** (reference agent behavior & sample contracts).