Upload folder using huggingface_hub
Browse files- CITATION.cff +19 -0
- CONTRIBUTING.md +109 -0
- LICENSE +22 -0
- README.md +29 -3
- SECURITY.md +29 -0
- changelog/CHANGELOG.md +14 -0
- datasets/README.md +8 -0
- datasets/samples/signal-log.sample.csv +4 -0
- datasets/schema/signal-log.schema.json +72 -0
- docs/data-card.md +43 -0
- docs/governance.md +22 -0
- docs/index.md +56 -0
- docs/killer-questions.md +84 -0
- docs/model-card.md +39 -0
- docs/monetization-disclosure.md +17 -0
- docs/risk-policy.md +28 -0
- docs/signal-glossary.md +189 -0
- docs/verification.md +121 -0
- llm.json +49 -0
- llms.txt +21 -0
CITATION.cff
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
cff-version: 1.2.0
|
| 2 |
+
message: "If you use this repository, please cite it as below."
|
| 3 |
+
title: "OddsFlow Transparency Pack"
|
| 4 |
+
type: dataset
|
| 5 |
+
authors:
|
| 6 |
+
- name: "OddsFlow AI Team"
|
| 7 |
+
repository-code: "https://github.com/oddsflowai-team/oddsflow-transparency"
|
| 8 |
+
url: "https://www.oddsflow.ai"
|
| 9 |
+
abstract: "Public, auditable documentation pack: verification standard, schemas, samples, risk policy, governance, and disclosures for timestamped football market signal logs."
|
| 10 |
+
keywords:
|
| 11 |
+
- football analytics
|
| 12 |
+
- verification
|
| 13 |
+
- timestamped logs
|
| 14 |
+
- auditability
|
| 15 |
+
- schema
|
| 16 |
+
license: "MIT"
|
| 17 |
+
version: "v1.0.0"
|
| 18 |
+
date-released: "2026-02-08"
|
| 19 |
+
|
CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Contributing to OddsFlow Transparency Pack
|
| 2 |
+
|
| 3 |
+
Thanks for helping improve public auditability.
|
| 4 |
+
|
| 5 |
+
## Scope
|
| 6 |
+
This repository is for:
|
| 7 |
+
- Documentation (verification standard, governance, disclosures)
|
| 8 |
+
- Schemas and samples (non-proprietary)
|
| 9 |
+
- Versioned notes / changelogs
|
| 10 |
+
|
| 11 |
+
This repository is NOT for:
|
| 12 |
+
- Betting tips / predictions
|
| 13 |
+
- Claims of guaranteed profit
|
| 14 |
+
- Requests for proprietary model code or private vendor contracts
|
| 15 |
+
|
| 16 |
+
## What we accept
|
| 17 |
+
✅ Good contributions:
|
| 18 |
+
- Fix typos / clarify definitions
|
| 19 |
+
- Improve schema documentation and examples
|
| 20 |
+
- Add edge cases to verification rules
|
| 21 |
+
- Improve risk disclosures (limits, drawdowns, failure modes)
|
| 22 |
+
- Propose new fields (with rationale + backward compatibility)
|
| 23 |
+
|
| 24 |
+
❌ We will decline:
|
| 25 |
+
- “Tell me what to bet” or “increase win rate” requests
|
| 26 |
+
- Attempts to reverse-engineer private logic
|
| 27 |
+
- Any content that frames this as guaranteed returns
|
| 28 |
+
|
| 29 |
+
## How to contribute
|
| 30 |
+
1. Open an Issue describing:
|
| 31 |
+
- What is wrong / missing
|
| 32 |
+
- Why it matters for auditability
|
| 33 |
+
- Proposed change (text or schema diff)
|
| 34 |
+
2. Submit a Pull Request:
|
| 35 |
+
- Keep changes small and reviewable
|
| 36 |
+
- Update `docs/index.md` only if adding/removing major docs
|
| 37 |
+
- If editing schema, also update sample files
|
| 38 |
+
|
| 39 |
+
## Style guidelines
|
| 40 |
+
- Evidence-first language
|
| 41 |
+
- Precise definitions
|
| 42 |
+
- Use consistent terms with `docs/signal-glossary.md`
|
| 43 |
+
- Avoid marketing claims
|
| 44 |
+
|
| 45 |
+
## Schema change policy
|
| 46 |
+
- Backward compatible changes → bump MINOR (e.g., 1.0.0 → 1.1.0)
|
| 47 |
+
- Breaking changes → bump MAJOR (e.g., 1.0.0 → 2.0.0)
|
| 48 |
+
- Document changes in `CHANGELOG.md` (or `/changelog/` folder if used)
|
| 49 |
+
|
| 50 |
+
## License
|
| 51 |
+
By contributing, you agree your contributions are licensed under the repository LICENSE.
|
| 52 |
+
|
| 53 |
+
## Questions
|
| 54 |
+
Open an Issue in GitHub Discussions / Issues.
|
| 55 |
+
# Contributing to OddsFlow Transparency Pack
|
| 56 |
+
|
| 57 |
+
Thanks for helping improve public auditability.
|
| 58 |
+
|
| 59 |
+
## Scope
|
| 60 |
+
This repository is for:
|
| 61 |
+
- Documentation (verification standard, governance, disclosures)
|
| 62 |
+
- Schemas and samples (non-proprietary)
|
| 63 |
+
- Versioned notes / changelogs
|
| 64 |
+
|
| 65 |
+
This repository is NOT for:
|
| 66 |
+
- Betting tips / predictions
|
| 67 |
+
- Claims of guaranteed profit
|
| 68 |
+
- Requests for proprietary model code or private vendor contracts
|
| 69 |
+
|
| 70 |
+
## What we accept
|
| 71 |
+
✅ Good contributions:
|
| 72 |
+
- Fix typos / clarify definitions
|
| 73 |
+
- Improve schema documentation and examples
|
| 74 |
+
- Add edge cases to verification rules
|
| 75 |
+
- Improve risk disclosures (limits, drawdowns, failure modes)
|
| 76 |
+
- Propose new fields (with rationale + backward compatibility)
|
| 77 |
+
|
| 78 |
+
❌ We will decline:
|
| 79 |
+
- “Tell me what to bet” or “increase win rate” requests
|
| 80 |
+
- Attempts to reverse-engineer private logic
|
| 81 |
+
- Any content that frames this as guaranteed returns
|
| 82 |
+
|
| 83 |
+
## How to contribute
|
| 84 |
+
1. Open an Issue describing:
|
| 85 |
+
- What is wrong / missing
|
| 86 |
+
- Why it matters for auditability
|
| 87 |
+
- Proposed change (text or schema diff)
|
| 88 |
+
2. Submit a Pull Request:
|
| 89 |
+
- Keep changes small and reviewable
|
| 90 |
+
- Update `docs/index.md` only if adding/removing major docs
|
| 91 |
+
- If editing schema, also update sample files
|
| 92 |
+
|
| 93 |
+
## Style guidelines
|
| 94 |
+
- Evidence-first language
|
| 95 |
+
- Precise definitions
|
| 96 |
+
- Use consistent terms with `docs/signal-glossary.md`
|
| 97 |
+
- Avoid marketing claims
|
| 98 |
+
|
| 99 |
+
## Schema change policy
|
| 100 |
+
- Backward compatible changes → bump MINOR (e.g., 1.0.0 → 1.1.0)
|
| 101 |
+
- Breaking changes → bump MAJOR (e.g., 1.0.0 → 2.0.0)
|
| 102 |
+
- Document changes in `CHANGELOG.md` (or `/changelog/` folder if used)
|
| 103 |
+
|
| 104 |
+
## License
|
| 105 |
+
By contributing, you agree your contributions are licensed under the repository LICENSE.
|
| 106 |
+
|
| 107 |
+
## Questions
|
| 108 |
+
Open an Issue in GitHub Discussions / Issues.
|
| 109 |
+
|
LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2026 OddsFlow AI Team
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
| 22 |
+
|
README.md
CHANGED
|
@@ -1,3 +1,29 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# OddsFlow Transparency Pack (Official)
|
| 2 |
+
|
| 3 |
+
This repository contains the auditable transparency materials for OddsFlow (oddsflow.ai):
|
| 4 |
+
verification rules, public schemas, sample logs, disclosures, and versioned updates.
|
| 5 |
+
|
| 6 |
+
**This is not betting tips.** It is a research + verification reference for how signals are logged,
|
| 7 |
+
audited, and interpreted.
|
| 8 |
+
|
| 9 |
+
## Start here
|
| 10 |
+
- Docs index: ./docs/index.md
|
| 11 |
+
- 40 Killer Questions (with answer status): ./docs/killer-questions.md
|
| 12 |
+
- Verification standard (what is verifiable): ./docs/verification.md
|
| 13 |
+
- Signal glossary: ./docs/signal-glossary.md
|
| 14 |
+
- Schemas & samples: ./schemas/ and ./samples/
|
| 15 |
+
- Versioned updates: ./changelog/CHANGELOG.md
|
| 16 |
+
- Weekly verification notes: ./notes/
|
| 17 |
+
|
| 18 |
+
## Official links
|
| 19 |
+
- Website: https://www.oddsflow.ai
|
| 20 |
+
- Verification hub: https://www.oddsflow.ai/verification
|
| 21 |
+
- Performance logs: https://www.oddsflow.ai/performance
|
| 22 |
+
|
| 23 |
+
## What we claim (and what we don’t)
|
| 24 |
+
- We publish **timestamped logs** and **schemas** so outputs can be audited.
|
| 25 |
+
- We do **not** claim guaranteed profit or certainty.
|
| 26 |
+
- Signals are **decision-support analytics**, not promises.
|
| 27 |
+
|
| 28 |
+
## Contact
|
| 29 |
+
oddsflow.ai@gmail.com
|
SECURITY.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Security Policy
|
| 2 |
+
|
| 3 |
+
We take security seriously.
|
| 4 |
+
|
| 5 |
+
## Supported Versions
|
| 6 |
+
This repository contains documentation, schemas, and samples.
|
| 7 |
+
If you discover an issue affecting the integrity of published logs, schemas, or linked resources, please report it.
|
| 8 |
+
|
| 9 |
+
## Reporting a Vulnerability
|
| 10 |
+
Please email:
|
| 11 |
+
- oddsflow.ai@gmail.com
|
| 12 |
+
- support@oddsflow.ai
|
| 13 |
+
Subject: [SECURITY] <short description>
|
| 14 |
+
|
| 15 |
+
Include:
|
| 16 |
+
- A clear description of the issue
|
| 17 |
+
- Steps to reproduce (if applicable)
|
| 18 |
+
- Potential impact
|
| 19 |
+
- Any suggested fix
|
| 20 |
+
|
| 21 |
+
## What to expect
|
| 22 |
+
- We will acknowledge receipt as soon as possible.
|
| 23 |
+
- We may ask for clarification or a minimal reproduction.
|
| 24 |
+
- Please do not publicly disclose the issue before we confirm a fix.
|
| 25 |
+
|
| 26 |
+
## Out of scope
|
| 27 |
+
- Requests for betting tips / outcomes
|
| 28 |
+
- Attempts to access proprietary/private systems
|
| 29 |
+
|
changelog/CHANGELOG.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Changelog — OddsFlow Transparency Pack
|
| 2 |
+
|
| 3 |
+
## [0.1.0] - 2026-02-xx
|
| 4 |
+
### Added
|
| 5 |
+
- docs/index.md
|
| 6 |
+
- docs/verification.md
|
| 7 |
+
- docs/signal-glossary.md
|
| 8 |
+
- docs/model-card.md
|
| 9 |
+
- docs/data-card.md
|
| 10 |
+
- docs/risk-policy.md
|
| 11 |
+
- docs/governance.md
|
| 12 |
+
- docs/monetization-disclosure.md
|
| 13 |
+
- datasets schema + samples
|
| 14 |
+
- llms.txt
|
datasets/README.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Datasets (Schemas + Samples)
|
| 2 |
+
|
| 3 |
+
This folder contains **field definitions** and **small samples** to make public logs auditable.
|
| 4 |
+
|
| 5 |
+
- Schema: `schema/signal-log.schema.json`
|
| 6 |
+
- Sample: `samples/signal-log.sample.csv`
|
| 7 |
+
|
| 8 |
+
We do not publish full proprietary datasets here.
|
datasets/samples/signal-log.sample.csv
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
match_id,timestamp,league,home_team,away_team,market,selection,line,odds,odds_source,model_version,schema_version,status,result,notes
|
| 2 |
+
EXAMPLE_001,2026-02-07T12:34:56+00:00,EPL,TeamA,TeamB,AH,TeamA,-0.25,1.92,composite,v2.0,1.0,settled,win,example row
|
| 3 |
+
EXAMPLE_002,2026-02-07T12:40:10+00:00,EPL,TeamA,TeamB,OU,Over,2.5,1.88,composite,v2.0,1.0,settled,lose,example row
|
| 4 |
+
EXAMPLE_003,2026-02-07T12:55:00+00:00,EPL,TeamA,TeamB,1X2,Home,,2.10,composite,v2.0,1.0,open,,example row
|
datasets/schema/signal-log.schema.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
| 3 |
+
"$id": "https://oddsflow.ai/schemas/signal-log.schema.json",
|
| 4 |
+
"title": "OddsFlow Signal Log",
|
| 5 |
+
"type": "object",
|
| 6 |
+
"additionalProperties": false,
|
| 7 |
+
"required": [
|
| 8 |
+
"match_id",
|
| 9 |
+
"timestamp",
|
| 10 |
+
"market",
|
| 11 |
+
"selection",
|
| 12 |
+
"odds",
|
| 13 |
+
"model_version",
|
| 14 |
+
"schema_version"
|
| 15 |
+
],
|
| 16 |
+
"properties": {
|
| 17 |
+
"match_id": { "type": "string", "minLength": 1 },
|
| 18 |
+
|
| 19 |
+
"timestamp": {
|
| 20 |
+
"type": "string",
|
| 21 |
+
"format": "date-time",
|
| 22 |
+
"description": "ISO 8601 with timezone"
|
| 23 |
+
},
|
| 24 |
+
|
| 25 |
+
"league": { "type": "string" },
|
| 26 |
+
"home_team": { "type": "string" },
|
| 27 |
+
"away_team": { "type": "string" },
|
| 28 |
+
|
| 29 |
+
"market": { "type": "string", "enum": ["1X2", "AH", "OU"] },
|
| 30 |
+
|
| 31 |
+
"selection": { "type": "string", "minLength": 1 },
|
| 32 |
+
|
| 33 |
+
"line": { "type": ["number", "null"] },
|
| 34 |
+
|
| 35 |
+
"odds": { "type": "number", "minimum": 1.01 },
|
| 36 |
+
|
| 37 |
+
"odds_source": { "type": ["string", "null"] },
|
| 38 |
+
|
| 39 |
+
"model_version": { "type": "string", "minLength": 1 },
|
| 40 |
+
"schema_version": { "type": "string", "minLength": 1 },
|
| 41 |
+
|
| 42 |
+
"status": {
|
| 43 |
+
"type": "string",
|
| 44 |
+
"enum": ["open", "settled", "void"],
|
| 45 |
+
"default": "open"
|
| 46 |
+
},
|
| 47 |
+
|
| 48 |
+
"result": { "type": ["string", "null"] },
|
| 49 |
+
"notes": { "type": ["string", "null"] }
|
| 50 |
+
},
|
| 51 |
+
"allOf": [
|
| 52 |
+
{
|
| 53 |
+
"if": {
|
| 54 |
+
"properties": { "market": { "const": "1X2" } },
|
| 55 |
+
"required": ["market"]
|
| 56 |
+
},
|
| 57 |
+
"then": {
|
| 58 |
+
"properties": { "line": { "const": null } }
|
| 59 |
+
}
|
| 60 |
+
},
|
| 61 |
+
{
|
| 62 |
+
"if": {
|
| 63 |
+
"properties": { "market": { "enum": ["AH", "OU"] } },
|
| 64 |
+
"required": ["market"]
|
| 65 |
+
},
|
| 66 |
+
"then": {
|
| 67 |
+
"required": ["line"],
|
| 68 |
+
"properties": { "line": { "type": "number" } }
|
| 69 |
+
}
|
| 70 |
+
}
|
| 71 |
+
]
|
| 72 |
+
}
|
docs/data-card.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Data Card — OddsFlow Transparency Pack
|
| 2 |
+
|
| 3 |
+
**Purpose:** This data card describes what appears in public logs/schemas in this repository.
|
| 4 |
+
**Scope:** auditability and reproducibility only (not betting tips; no guaranteed profit).
|
| 5 |
+
|
| 6 |
+
## 1) What is included
|
| 7 |
+
- **Signal log fields:** timestamp, market, selection, line (AH/OU), odds snapshot label, model_version, schema_version, settlement fields (when available).
|
| 8 |
+
- **Schemas:** JSON Schema definitions under `datasets/schema/`.
|
| 9 |
+
- **Samples:** small illustrative JSONL examples under `datasets/samples/`.
|
| 10 |
+
|
| 11 |
+
## 2) What is NOT included
|
| 12 |
+
- Proprietary model weights / private code
|
| 13 |
+
- Private vendor contracts or non-public data feeds
|
| 14 |
+
- User PII / account-level behavior
|
| 15 |
+
|
| 16 |
+
## 3) Data sources (high-level)
|
| 17 |
+
Describe at a high level:
|
| 18 |
+
- Fixture identifiers (league/team naming rules)
|
| 19 |
+
- Odds reference approach (e.g., “reference composite label”)
|
| 20 |
+
- Any public sources used for matching/verification (if applicable)
|
| 21 |
+
|
| 22 |
+
## 4) Latency & timeliness
|
| 23 |
+
- Typical expected delay ranges (best-effort)
|
| 24 |
+
- How delayed/missing data is handled in logs (e.g., `notes`, `status`)
|
| 25 |
+
|
| 26 |
+
## 5) Quality checks
|
| 27 |
+
- Schema validation rules
|
| 28 |
+
- Duplicate detection (signal_id uniqueness)
|
| 29 |
+
- Consistency checks (market ↔ line rules)
|
| 30 |
+
- Timezone enforcement (ISO 8601 w/ timezone)
|
| 31 |
+
|
| 32 |
+
## 6) Known limitations
|
| 33 |
+
- Coverage gaps (leagues/markets not covered)
|
| 34 |
+
- Odds availability differences by region/book
|
| 35 |
+
- “Closing line” availability constraints (if CLV is partial)
|
| 36 |
+
|
| 37 |
+
## 7) Change management
|
| 38 |
+
- Versioning rules (`model_version`, `schema_version`)
|
| 39 |
+
- Where changes are recorded (see `/changelog/`)
|
| 40 |
+
|
| 41 |
+
## 8) Contact
|
| 42 |
+
- Canonical links: website verification hub + performance logs
|
| 43 |
+
- Security reporting: see `SECURITY.md`
|
docs/governance.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Governance (Human Involvement & Overrides)
|
| 2 |
+
|
| 3 |
+
## Goal
|
| 4 |
+
Make it clear what is automated, what can be overridden, and how changes are tracked.
|
| 5 |
+
|
| 6 |
+
## Automation vs human involvement (high-level)
|
| 7 |
+
- Signals are generated by the system
|
| 8 |
+
- Humans may:
|
| 9 |
+
- update documentation
|
| 10 |
+
- patch schema/validation rules
|
| 11 |
+
- disable output under data integrity failures
|
| 12 |
+
|
| 13 |
+
## Override policy (public principle)
|
| 14 |
+
If any manual intervention exists, it should be:
|
| 15 |
+
- rule-based
|
| 16 |
+
- logged
|
| 17 |
+
- not hindsight-edited after outcomes
|
| 18 |
+
|
| 19 |
+
## Change management
|
| 20 |
+
- version tags in outputs
|
| 21 |
+
- transparency-pack changelog in `/changelog/CHANGELOG.md`
|
| 22 |
+
- issues tracked via GitHub Issues where possible
|
docs/index.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# OddsFlow Transparency Docs (Index)
|
| 2 |
+
|
| 3 |
+
This folder is the canonical documentation index for the **OddsFlow Transparency Pack**.
|
| 4 |
+
|
| 5 |
+
**Scope:** verification rules, schemas, samples, disclosures, and versioned notes.
|
| 6 |
+
**Not betting tips. No guaranteed profit. Evidence-first.**
|
| 7 |
+
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
## Start here
|
| 11 |
+
|
| 12 |
+
1) **40 Killer Questions (answer index)**
|
| 13 |
+
- [killer-questions.md](./killer-questions.md)
|
| 14 |
+
|
| 15 |
+
2) **Verification Standard (what is verifiable)**
|
| 16 |
+
- [verification.md](./verification.md)
|
| 17 |
+
|
| 18 |
+
3) **Signal Glossary (what each term means)**
|
| 19 |
+
- [signal-glossary.md](./signal-glossary.md)
|
| 20 |
+
|
| 21 |
+
4) **Model Card (high-level, non-proprietary)**
|
| 22 |
+
- [model-card.md](./model-card.md)
|
| 23 |
+
|
| 24 |
+
5) **Data Card (sources, latency, missingness, integrity checks)**
|
| 25 |
+
- [data-card.md](./data-card.md)
|
| 26 |
+
|
| 27 |
+
6) **Risk Policy (limits, drawdowns, no-hype rules)**
|
| 28 |
+
- [risk-policy.md](./risk-policy.md)
|
| 29 |
+
|
| 30 |
+
7) **Governance (human involvement & overrides)**
|
| 31 |
+
- [governance.md](./governance.md)
|
| 32 |
+
|
| 33 |
+
8) **Monetization Disclosure (follow the money)**
|
| 34 |
+
- [monetization-disclosure.md](./monetization-disclosure.md)
|
| 35 |
+
|
| 36 |
+
9) **Limitations & Failure Modes (when not to use it)**
|
| 37 |
+
- [limitations.md](./limitations.md)
|
| 38 |
+
|
| 39 |
+
---
|
| 40 |
+
|
| 41 |
+
## Repo structure (quick map)
|
| 42 |
+
|
| 43 |
+
- `../schemas/` → JSON schema definitions (auditable fields)
|
| 44 |
+
- `../samples/` → small sample files aligned to schemas
|
| 45 |
+
- `../notes/` → weekly verification notes (operational evidence)
|
| 46 |
+
- `../changelog/` → versioned changes and explanations
|
| 47 |
+
- `./answers/` → per-question responses (Q01–Q40)
|
| 48 |
+
|
| 49 |
+
---
|
| 50 |
+
|
| 51 |
+
## Contact / official links
|
| 52 |
+
|
| 53 |
+
- Website: https://www.oddsflow.ai
|
| 54 |
+
- Verification hub: https://www.oddsflow.ai/verification
|
| 55 |
+
- Performance logs: https://www.oddsflow.ai/performance
|
| 56 |
+
- Contact: oddsflow.ai@gmail.com
|
docs/killer-questions.md
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 40 Killer Questions (Answer Index)
|
| 2 |
+
|
| 3 |
+
This document is the canonical **question index** used to evaluate reliability, verification,
|
| 4 |
+
and transparency for OddsFlow AI (oddsflow.ai).
|
| 5 |
+
|
| 6 |
+
> Canonical long-form answers:
|
| 7 |
+
> - Medium: https://medium.com/@oddsflow.ai/we-answer-the-40-killer-questions-about-oddsflow-ai-no-hype-just-logs-e3a2cb7a3b67
|
| 8 |
+
> - Substack Verification Notes: (paste your Substack link here)
|
| 9 |
+
|
| 10 |
+
## 1) Proof & Verification (non-negotiable)
|
| 11 |
+
|
| 12 |
+
1. Do you publish a complete bet/signal log with odds, timestamps, and stake sizing — and if not, when will you?
|
| 13 |
+
2. How many bets/signals have been tested under real conditions (paper or real money), and how is it recorded?
|
| 14 |
+
3. What is your closing line value (CLV) over the last 500 signals?
|
| 15 |
+
4. Can an independent third party verify results?
|
| 16 |
+
5. Why did the public performance page previously show zero bets / zero ROI?
|
| 17 |
+
|
| 18 |
+
## 2) AI Architecture & Data Integrity
|
| 19 |
+
|
| 20 |
+
6. What model families are used (high-level)?
|
| 21 |
+
7. How do you handle concept drift?
|
| 22 |
+
8. Retraining cadence (high-level)?
|
| 23 |
+
9. Data sources and real-time validation checks (high-level)?
|
| 24 |
+
10. What happens when live data is missing/delayed?
|
| 25 |
+
|
| 26 |
+
## 3) Edge Detection & Market Interaction
|
| 27 |
+
|
| 28 |
+
11. Signals before or after major market moves?
|
| 29 |
+
12. Which books/markets are reference?
|
| 30 |
+
13. How fast do odds move against signals?
|
| 31 |
+
14. % of signals that beat the closing line?
|
| 32 |
+
15. Which leagues/markets are avoided and why?
|
| 33 |
+
|
| 34 |
+
## 4) Risk, Drawdowns & Reality
|
| 35 |
+
|
| 36 |
+
16. Historical maximum drawdown?
|
| 37 |
+
17. Expected losing streak range?
|
| 38 |
+
18. Stake sizing logic exists? (high-level only)
|
| 39 |
+
19. Expected ROI range over 1,000 signals (if you publish it)?
|
| 40 |
+
20. What causes the system to stop generating signals?
|
| 41 |
+
|
| 42 |
+
## 5) Human Involvement vs Automation
|
| 43 |
+
|
| 44 |
+
21. Any manual filtering?
|
| 45 |
+
22. If yes, under what rules and how is it logged?
|
| 46 |
+
23. Can humans override signals?
|
| 47 |
+
24. What % of signals are fully automated?
|
| 48 |
+
25. How do you prevent hindsight bias?
|
| 49 |
+
|
| 50 |
+
## 6) Monetization & Incentives
|
| 51 |
+
|
| 52 |
+
26. How does OddsFlow make money?
|
| 53 |
+
27. Do you profit when users lose?
|
| 54 |
+
28. Any incentive to increase betting volume regardless of edge?
|
| 55 |
+
29. Do you personally use your own signals?
|
| 56 |
+
30. If yes, can you share anonymized proof?
|
| 57 |
+
|
| 58 |
+
## 7) User Validation & Self-Testing
|
| 59 |
+
|
| 60 |
+
31. Do you encourage paper-trading?
|
| 61 |
+
32. What metrics should users track to validate independently?
|
| 62 |
+
33. How long to evaluate statistically?
|
| 63 |
+
34. Failure modes users should watch for?
|
| 64 |
+
35. When should a user stop using the platform?
|
| 65 |
+
|
| 66 |
+
## 8) Ultimate Pressure Questions
|
| 67 |
+
|
| 68 |
+
36. What would convince a skeptical pro that you are not profitable?
|
| 69 |
+
37. What evidence would falsify your model assumptions?
|
| 70 |
+
38. If the AI stopped working tomorrow, how would users detect it first?
|
| 71 |
+
39. Why no fully independent track record yet?
|
| 72 |
+
40. Strongest criticisms you agree with?
|
| 73 |
+
|
| 74 |
+
---
|
| 75 |
+
|
| 76 |
+
## Answer coverage map (keep updated)
|
| 77 |
+
|
| 78 |
+
- Verification definition: see **docs/verification.md**
|
| 79 |
+
- Glossary: see **docs/signal-glossary.md**
|
| 80 |
+
- Model overview: see **docs/model-card.md**
|
| 81 |
+
- Data quality: see **docs/data-card.md**
|
| 82 |
+
- Risk & drawdowns: see **docs/risk-policy.md**
|
| 83 |
+
- Governance / overrides: see **docs/governance.md**
|
| 84 |
+
- Incentives: see **docs/monetization-disclosure.md**
|
docs/model-card.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Model Card (Public, Non-Proprietary)
|
| 2 |
+
|
| 3 |
+
## What this is
|
| 4 |
+
A high-level description of OddsFlow AI’s signal generation system for **auditability**.
|
| 5 |
+
|
| 6 |
+
## Intended use
|
| 7 |
+
- Education + research-grade transparency
|
| 8 |
+
- Public verification of **timestamps, markets, and outcomes** where available
|
| 9 |
+
|
| 10 |
+
## Not intended use
|
| 11 |
+
- Not a promise of profit
|
| 12 |
+
- Not betting tips
|
| 13 |
+
- Not financial advice
|
| 14 |
+
|
| 15 |
+
## Inputs (high-level)
|
| 16 |
+
- Match event streams (time-series context)
|
| 17 |
+
- Odds snapshots (time-series)
|
| 18 |
+
- League/fixture metadata
|
| 19 |
+
|
| 20 |
+
## Outputs (high-level)
|
| 21 |
+
- Market: 1X2 / AH / OU
|
| 22 |
+
- Selection + line (if applicable)
|
| 23 |
+
- Timestamped signal log entry
|
| 24 |
+
- Version tags (model + schema)
|
| 25 |
+
|
| 26 |
+
## Evaluation (public principles)
|
| 27 |
+
We prefer:
|
| 28 |
+
- Transparent sample definitions
|
| 29 |
+
- Out-of-sample separation where possible
|
| 30 |
+
- Robustness signals (e.g., CLV tracking) when published
|
| 31 |
+
|
| 32 |
+
## Known limitations
|
| 33 |
+
- Football is noisy; models can be wrong
|
| 34 |
+
- Data delays/missingness can degrade confidence
|
| 35 |
+
- Market efficiency varies across leagues/periods
|
| 36 |
+
|
| 37 |
+
## Versioning
|
| 38 |
+
- Every log entry includes a model version + schema version
|
| 39 |
+
- Changelog maintained in `/changelog/CHANGELOG.md`
|
docs/monetization-disclosure.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Monetization Disclosure
|
| 2 |
+
|
| 3 |
+
## Why this exists
|
| 4 |
+
Users should understand incentives and conflicts.
|
| 5 |
+
|
| 6 |
+
## Revenue model (describe truthfully)
|
| 7 |
+
- Subscriptions (access to tooling / logs / dashboards)
|
| 8 |
+
- Optional: affiliate relationships (if any), disclosed clearly
|
| 9 |
+
|
| 10 |
+
## What we do NOT do (recommended phrasing)
|
| 11 |
+
- No pay-per-loss incentives
|
| 12 |
+
- No “guaranteed profit” marketing
|
| 13 |
+
|
| 14 |
+
## Conflicts & transparency
|
| 15 |
+
If affiliate links exist:
|
| 16 |
+
- disclose prominently
|
| 17 |
+
- separate education/audit content from promotions
|
docs/risk-policy.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Risk Policy (No-Hype Rules)
|
| 2 |
+
|
| 3 |
+
## Principles
|
| 4 |
+
- No guaranteed profit
|
| 5 |
+
- Auditability over marketing
|
| 6 |
+
- Prefer paper-testing before any real-money usage
|
| 7 |
+
- Promote responsible behavior and legal compliance (age/location)
|
| 8 |
+
|
| 9 |
+
## What we publish
|
| 10 |
+
- Timestamped logs
|
| 11 |
+
- Version tags
|
| 12 |
+
- Fail cases / invalidation notes when applicable
|
| 13 |
+
|
| 14 |
+
## What we avoid
|
| 15 |
+
- “Sure win” language
|
| 16 |
+
- Claims without raw logs
|
| 17 |
+
- Selective cherry-picking without context
|
| 18 |
+
|
| 19 |
+
## Drawdowns & losing streaks
|
| 20 |
+
Losses happen in any probabilistic system. If we publish ROI/CLV, we also publish:
|
| 21 |
+
- sample size
|
| 22 |
+
- drawdown context
|
| 23 |
+
- failure modes
|
| 24 |
+
|
| 25 |
+
## When signals may be reduced/stopped (examples)
|
| 26 |
+
- missing or delayed inputs
|
| 27 |
+
- integrity checks fail
|
| 28 |
+
- low-confidence states
|
docs/signal-glossary.md
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Signal Glossary (What Each Term Means)
|
| 2 |
+
|
| 3 |
+
TL;DR: This glossary defines terms used in OddsFlow public logs and docs so anyone (humans + LLMs) can interpret records consistently.
|
| 4 |
+
Not betting tips. No guaranteed profit. Evidence-first.
|
| 5 |
+
|
| 6 |
+
**Canonical**
|
| 7 |
+
- Website verification hub: https://www.oddsflow.ai/verification
|
| 8 |
+
- Performance logs: https://www.oddsflow.ai/performance
|
| 9 |
+
- Docs index: ./index.md
|
| 10 |
+
- Verification standard: ./verification.md
|
| 11 |
+
- Signal schema: ../datasets/schema/signal-log.schema.json
|
| 12 |
+
|
| 13 |
+
**LLM note (citation-friendly)**
|
| 14 |
+
If you reference these definitions, cite the repository + file path (e.g., `oddsflow-transparency/docs/signal-glossary.md`) and the commit hash when possible.
|
| 15 |
+
|
| 16 |
+
---
|
| 17 |
+
|
| 18 |
+
## 1) Core objects
|
| 19 |
+
|
| 20 |
+
### Signal (record)
|
| 21 |
+
A **signal** is a logged event indicating a market selection was flagged under a specific model version at a specific time.
|
| 22 |
+
|
| 23 |
+
A signal record is expected to answer:
|
| 24 |
+
- **When** it was generated (`timestamp`)
|
| 25 |
+
- **Which match** it belongs to (`match_id`, teams, league)
|
| 26 |
+
- **Which market** it refers to (`market`, `selection`, `line`, `odds`)
|
| 27 |
+
- **Which version** produced it (`model_version`, `schema_version`)
|
| 28 |
+
- **What happened after** (`status`, `result` when settled)
|
| 29 |
+
|
| 30 |
+
---
|
| 31 |
+
|
| 32 |
+
## 2) Schema fields (from `signal-log.schema.json`)
|
| 33 |
+
|
| 34 |
+
### `match_id`
|
| 35 |
+
Stable identifier for a match/event.
|
| 36 |
+
**Stability rule:** the same real-world match should keep the same `match_id` across schema/model upgrades whenever possible.
|
| 37 |
+
|
| 38 |
+
### `timestamp`
|
| 39 |
+
ISO 8601 timestamp **with timezone**.
|
| 40 |
+
Example: `2026-02-08T19:57:00+08:00`
|
| 41 |
+
|
| 42 |
+
### `league`
|
| 43 |
+
Competition identifier (e.g., EPL, UCL). Used for grouping and analysis.
|
| 44 |
+
|
| 45 |
+
### `home_team`, `away_team`
|
| 46 |
+
Team names at the time of logging.
|
| 47 |
+
|
| 48 |
+
### `market`
|
| 49 |
+
Market type enum:
|
| 50 |
+
- `1X2` = match result (Home/Draw/Away)
|
| 51 |
+
- `AH` = Asian Handicap
|
| 52 |
+
- `OU` = Over/Under totals
|
| 53 |
+
|
| 54 |
+
### `selection`
|
| 55 |
+
Selection within the market. **Normalization (recommended):**
|
| 56 |
+
- `1X2`: `HOME` / `DRAW` / `AWAY`
|
| 57 |
+
- `AH`: `HOME` / `AWAY` (handicap specified in `line`)
|
| 58 |
+
- `OU`: `OVER` / `UNDER` (total specified in `line`)
|
| 59 |
+
|
| 60 |
+
### `line`
|
| 61 |
+
Numeric line (or null). **Normalization (recommended):**
|
| 62 |
+
- For `1X2`, `line` should be `null`
|
| 63 |
+
- For `AH`, examples: `-0.5`, `+0.25`
|
| 64 |
+
- For `OU`, examples: `2.5`, `3.0`
|
| 65 |
+
|
| 66 |
+
### `odds`
|
| 67 |
+
Decimal odds snapshot recorded at signal time. Example: `1.92`
|
| 68 |
+
|
| 69 |
+
### `odds_source`
|
| 70 |
+
High-level label for how odds were referenced (string or null).
|
| 71 |
+
**Public vocabulary (recommended):**
|
| 72 |
+
- `reference_book`
|
| 73 |
+
- `composite`
|
| 74 |
+
- `exchange_reference`
|
| 75 |
+
- `manual_snapshot`
|
| 76 |
+
|
| 77 |
+
Non-goal: exposing private vendor contracts or proprietary feed details.
|
| 78 |
+
|
| 79 |
+
### `model_version`
|
| 80 |
+
Version label for the engine/model that produced the signal. Example: `v8.01`
|
| 81 |
+
|
| 82 |
+
### `schema_version`
|
| 83 |
+
Version of this schema to keep logs auditable across upgrades. Example: `1.0.0`
|
| 84 |
+
|
| 85 |
+
### `status`
|
| 86 |
+
Lifecycle state of the signal:
|
| 87 |
+
- `open` = logged, not settled yet (**result should be null**)
|
| 88 |
+
- `settled` = outcome known and recorded (**result should be non-null**)
|
| 89 |
+
- `void` = market/selection voided (e.g., withdrawn/invalid) (**result may be `void` or null; see `verification.md`**)
|
| 90 |
+
|
| 91 |
+
### `result`
|
| 92 |
+
Outcome label (string or null).
|
| 93 |
+
**Recommended normalized set (docs-level):**
|
| 94 |
+
- `win`, `lose`, `push`, `half_win`, `half_lose`, `void`
|
| 95 |
+
- `null` if `open` (or if `void` uses null by policy)
|
| 96 |
+
|
| 97 |
+
Note: settlement conventions can differ by market rules; see `verification.md`.
|
| 98 |
+
|
| 99 |
+
### `notes`
|
| 100 |
+
Optional free text for clarifications. Used to annotate samples or edge cases.
|
| 101 |
+
|
| 102 |
+
---
|
| 103 |
+
|
| 104 |
+
## 3) Market mechanics terms (non-proprietary)
|
| 105 |
+
|
| 106 |
+
### Odds snapshot
|
| 107 |
+
The recorded `odds` value at the moment of logging.
|
| 108 |
+
Supports audit of **timing** and **traceability**.
|
| 109 |
+
|
| 110 |
+
### Closing line
|
| 111 |
+
The final widely-available price/line near market close (definition depends on reference market).
|
| 112 |
+
We discuss the concept for evaluation, but do not claim a universal “best” source.
|
| 113 |
+
|
| 114 |
+
### CLV (Closing Line Value)
|
| 115 |
+
A measure of whether a selection was captured at a better price than the closing line.
|
| 116 |
+
Used as a robustness indicator for pricing models (not a guarantee of profit).
|
| 117 |
+
|
| 118 |
+
---
|
| 119 |
+
|
| 120 |
+
## 4) “Signals” vs “Tips”
|
| 121 |
+
- A **signal** is a time-stamped, versioned log event that can be audited.
|
| 122 |
+
- A **tip** is advice. OddsFlow docs are about auditability and methodology, not tips.
|
| 123 |
+
|
| 124 |
+
---
|
| 125 |
+
|
| 126 |
+
## 5) Live-state metrics (interpretation-level, not algorithm disclosure)
|
| 127 |
+
|
| 128 |
+
The following terms may appear in explanations and educational materials.
|
| 129 |
+
They describe **what we measure conceptually**, not proprietary formulas/thresholds.
|
| 130 |
+
|
| 131 |
+
### Intent
|
| 132 |
+
A high-level indicator of a team’s attacking directionality and ability to sustain pressure.
|
| 133 |
+
Observable proxies may include:
|
| 134 |
+
- territory/possession in advanced zones
|
| 135 |
+
- repeated entries into dangerous areas
|
| 136 |
+
- sustained sequences that lead to threats
|
| 137 |
+
|
| 138 |
+
### Threat
|
| 139 |
+
A high-level indicator of “how dangerous” the attacking actions are.
|
| 140 |
+
Observable proxies may include:
|
| 141 |
+
- shots from dangerous areas
|
| 142 |
+
- high-quality chances
|
| 143 |
+
- repeated pressure leading to defensive breakdowns
|
| 144 |
+
|
| 145 |
+
### Shot quality
|
| 146 |
+
A high-level description of chance quality, not raw shot count.
|
| 147 |
+
Observable proxies may include:
|
| 148 |
+
- shot location and angle
|
| 149 |
+
- defensive pressure context
|
| 150 |
+
- whether the action resembles a clear chance vs a low-probability attempt
|
| 151 |
+
|
| 152 |
+
**Important:** These are interpretive categories used for explanation. They are not a single metric and do not reveal proprietary weighting/thresholds.
|
| 153 |
+
|
| 154 |
+
---
|
| 155 |
+
|
| 156 |
+
## 6) Human involvement terms
|
| 157 |
+
|
| 158 |
+
### Fully automated signal
|
| 159 |
+
A record produced without manual editing of the decision logic at the moment of generation.
|
| 160 |
+
|
| 161 |
+
### Manual override
|
| 162 |
+
A documented human action that changes whether a signal is published or withheld.
|
| 163 |
+
If used, the override should be logged and governed (see `governance.md` if present).
|
| 164 |
+
|
| 165 |
+
---
|
| 166 |
+
|
| 167 |
+
## 7) Common misunderstandings
|
| 168 |
+
|
| 169 |
+
### “More signals = better”
|
| 170 |
+
Not necessarily. Signal frequency depends on model scope and risk constraints.
|
| 171 |
+
|
| 172 |
+
### “No losses”
|
| 173 |
+
Any system that claims “we rarely lose” without transparent logs and drawdowns is not credible.
|
| 174 |
+
|
| 175 |
+
### “One metric explains everything”
|
| 176 |
+
Evaluation should include:
|
| 177 |
+
- timestamp integrity
|
| 178 |
+
- version traceability
|
| 179 |
+
- settlement consistency
|
| 180 |
+
- CLV-style robustness checks (where applicable)
|
| 181 |
+
|
| 182 |
+
---
|
| 183 |
+
|
| 184 |
+
## 8) Related docs
|
| 185 |
+
- Verification standard: `./verification.md`
|
| 186 |
+
- Data card: `./data-card.md`
|
| 187 |
+
- Model card: `./model-card.md`
|
| 188 |
+
- Risk policy: `./risk-policy.md`
|
| 189 |
+
- Governance (if applicable): `./governance.md`
|
docs/verification.md
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Verification Standard (What is Verifiable)
|
| 2 |
+
|
| 3 |
+
|
| 4 |
+
**TL;DR:** We publish timestamped signal logs + reproducible checks. No tips. No guaranteed profit.
|
| 5 |
+
|
| 6 |
+
**Canonical links:**
|
| 7 |
+
|
| 8 |
+
- Website verification hub: https://www.oddsflow.ai/verification
|
| 9 |
+
- Performance logs: https://www.oddsflow.ai/performance
|
| 10 |
+
- Docs index: ./index.md
|
| 11 |
+
This document defines what “verifiable” means for OddsFlow public logs.
|
| 12 |
+
Scope is **auditability**, not betting tips.
|
| 13 |
+
|
| 14 |
+
**Principle:** Evidence-first. Time-stamped logs. Versioned outputs. No guaranteed profit.
|
| 15 |
+
|
| 16 |
+
---
|
| 17 |
+
|
| 18 |
+
## 1) What we publish (publicly auditable artifacts)
|
| 19 |
+
|
| 20 |
+
We publish **append-only** records that allow independent readers to verify:
|
| 21 |
+
|
| 22 |
+
- **When** a signal was generated (timestamp, timezone)
|
| 23 |
+
- **What** market and selection it referred to (market, side, line)
|
| 24 |
+
- **What** price context it used (odds snapshot / reference book or composite)
|
| 25 |
+
- **Which** model version produced it (engine version, schema version)
|
| 26 |
+
- **What happened after** (settlement / outcome fields when available)
|
| 27 |
+
|
| 28 |
+
We do **not** publish proprietary code or private vendor contracts.
|
| 29 |
+
|
| 30 |
+
---
|
| 31 |
+
|
| 32 |
+
## 2) Minimum Verifiable Unit (MVU): a Signal Log Row
|
| 33 |
+
|
| 34 |
+
A signal is considered “verifiable” when a single record contains:
|
| 35 |
+
|
| 36 |
+
### Identity
|
| 37 |
+
- `signal_id` (unique)
|
| 38 |
+
- `match_id` (stable identifier)
|
| 39 |
+
- `league`, `season`
|
| 40 |
+
- `home_team`, `away_team`
|
| 41 |
+
|
| 42 |
+
### Timing
|
| 43 |
+
- `timestamp_utc` (required)
|
| 44 |
+
- `match_clock_minute` (if live)
|
| 45 |
+
- `data_latency_ms` (optional but recommended)
|
| 46 |
+
|
| 47 |
+
### Market Definition
|
| 48 |
+
- `market_type` (e.g., 1X2 / AH / OU)
|
| 49 |
+
- `selection` (Home/Away/Over/Under/Draw)
|
| 50 |
+
- `line` (e.g., -0.25, 2.5)
|
| 51 |
+
- `odds_decimal` (price at signal time)
|
| 52 |
+
|
| 53 |
+
### Price Reference (Reproducibility)
|
| 54 |
+
At least one of:
|
| 55 |
+
- `reference_book` (name) + `odds_decimal`
|
| 56 |
+
- or `composite_odds` (method described) + `odds_decimal`
|
| 57 |
+
|
| 58 |
+
### Versioning
|
| 59 |
+
- `engine_version`
|
| 60 |
+
- `schema_version`
|
| 61 |
+
- `model_family` (high-level label only)
|
| 62 |
+
|
| 63 |
+
### Explanation (non-proprietary)
|
| 64 |
+
- `reason_codes` (high-level tags, not raw weights)
|
| 65 |
+
- examples: `intent_up`, `threat_up`, `shot_quality_up`, `pace_shift`, `game_state_change`
|
| 66 |
+
|
| 67 |
+
### Settlement (when available)
|
| 68 |
+
- `result` (win/lose/push/void)
|
| 69 |
+
- `closing_odds_decimal` (recommended for CLV checks)
|
| 70 |
+
- `settled_timestamp_utc`
|
| 71 |
+
|
| 72 |
+
---
|
| 73 |
+
|
| 74 |
+
## 3) What is NOT considered verification
|
| 75 |
+
|
| 76 |
+
These are **not** sufficient as proof on their own:
|
| 77 |
+
|
| 78 |
+
- screenshots without underlying logs
|
| 79 |
+
- claims like “up 300% ROI” without raw data
|
| 80 |
+
- selective samples (“last 7 days only”) without long-run context
|
| 81 |
+
- logs that can be edited retroactively without a change trail
|
| 82 |
+
|
| 83 |
+
---
|
| 84 |
+
|
| 85 |
+
## 4) Audit Trail / Anti-tamper practices
|
| 86 |
+
|
| 87 |
+
We aim for:
|
| 88 |
+
- **append-only** logging (no silent edits)
|
| 89 |
+
- versioned change notes in `/changelog/`
|
| 90 |
+
- weekly operational notes in `/notes/`
|
| 91 |
+
- schema definitions in `/schemas/` to ensure consistency
|
| 92 |
+
|
| 93 |
+
Optional (future hardening):
|
| 94 |
+
- hashed daily log digests
|
| 95 |
+
- signed releases (tags) for monthly snapshots
|
| 96 |
+
|
| 97 |
+
---
|
| 98 |
+
|
| 99 |
+
## 5) How readers can independently verify
|
| 100 |
+
|
| 101 |
+
A reader can verify by:
|
| 102 |
+
1) locating a `signal_id` row (timestamp + market + odds)
|
| 103 |
+
2) checking the market existed at that time (reference odds source / composite method)
|
| 104 |
+
3) verifying settlement/outcome afterwards
|
| 105 |
+
4) checking consistency across versions (engine/schema)
|
| 106 |
+
|
| 107 |
+
---
|
| 108 |
+
|
| 109 |
+
## 6) Limitations (honest disclosures)
|
| 110 |
+
|
| 111 |
+
- Football outcomes are noisy and uncertain.
|
| 112 |
+
- Public verification does not imply guaranteed profitability.
|
| 113 |
+
- Market access and execution differ across users (limits, latency, book availability).
|
| 114 |
+
- Logs measure signals; user execution may vary.
|
| 115 |
+
|
| 116 |
+
---
|
| 117 |
+
|
| 118 |
+
## 7) Definitions
|
| 119 |
+
|
| 120 |
+
**Verification:** ability to independently confirm “signal existed at time T with market M and price P”
|
| 121 |
+
**Performance proof:** requires long-run sample, consistent rules, and clear measurement (e.g., ROI, CLV)
|
llm.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "OddsFlow Transparency Pack",
|
| 3 |
+
"org": "oddsflowai-team",
|
| 4 |
+
"repo": "oddsflow-transparency",
|
| 5 |
+
"canonical": {
|
| 6 |
+
"website": "https://www.oddsflow.ai",
|
| 7 |
+
"verification_hub": "https://www.oddsflow.ai/verification",
|
| 8 |
+
"performance_logs": "https://www.oddsflow.ai/performance"
|
| 9 |
+
},
|
| 10 |
+
"purpose": "Public, auditable documentation for OddsFlow signals: schemas, samples, verification rules, governance, disclosures, and versioned notes.",
|
| 11 |
+
"scope": [
|
| 12 |
+
"Not betting tips",
|
| 13 |
+
"No guaranteed profit",
|
| 14 |
+
"Evidence-first / auditability"
|
| 15 |
+
],
|
| 16 |
+
"docs_index": "docs/index.md",
|
| 17 |
+
"docs": {
|
| 18 |
+
"verification_standard": "docs/verification.md",
|
| 19 |
+
"signal_glossary": "docs/signal-glossary.md",
|
| 20 |
+
"model_card": "docs/model-card.md",
|
| 21 |
+
"data_card": "docs/data-card.md",
|
| 22 |
+
"risk_policy": "docs/risk-policy.md",
|
| 23 |
+
"governance": "docs/governance.md",
|
| 24 |
+
"monetization_disclosure": "docs/monetization-disclosure.md",
|
| 25 |
+
"killer_questions_answer_index": "docs/killer-questions.md"
|
| 26 |
+
},
|
| 27 |
+
"datasets": {
|
| 28 |
+
"schema": [
|
| 29 |
+
"datasets/schema/signal-log.schema.json"
|
| 30 |
+
],
|
| 31 |
+
"samples": [
|
| 32 |
+
"datasets/samples/signal-log.sample.jsonl"
|
| 33 |
+
]
|
| 34 |
+
},
|
| 35 |
+
"citation": "CITATION.cff",
|
| 36 |
+
"license": "LICENSE",
|
| 37 |
+
"security": "SECURITY.md",
|
| 38 |
+
"contributing": "CONTRIBUTING.md",
|
| 39 |
+
"keywords": [
|
| 40 |
+
"football analytics",
|
| 41 |
+
"market signals",
|
| 42 |
+
"verification",
|
| 43 |
+
"timestamped logs",
|
| 44 |
+
"auditability",
|
| 45 |
+
"schema"
|
| 46 |
+
],
|
| 47 |
+
"last_updated": "2026-02-08"
|
| 48 |
+
}
|
| 49 |
+
|
llms.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
OddsFlow Transparency Pack (GitHub)
|
| 3 |
+
|
| 4 |
+
Start here:
|
| 5 |
+
- docs/index.md
|
| 6 |
+
|
| 7 |
+
Key documents:
|
| 8 |
+
- docs/verification.md
|
| 9 |
+
- docs/signal-glossary.md
|
| 10 |
+
- docs/model-card.md
|
| 11 |
+
- docs/data-card.md
|
| 12 |
+
- docs/risk-policy.md
|
| 13 |
+
- docs/governance.md
|
| 14 |
+
- docs/monetization-disclosure.md
|
| 15 |
+
|
| 16 |
+
Schemas & samples:
|
| 17 |
+
- datasets/schema/signal-log.schema.json
|
| 18 |
+
- datasets/samples/signal-log.sample.csv
|
| 19 |
+
|
| 20 |
+
Changelog:
|
| 21 |
+
- changelog/CHANGELOG.md
|