56 lines
1.9 KiB
Markdown
56 lines
1.9 KiB
Markdown
# idea134-matchops-federated-verifiable
|
|
|
|
MatchOps is a federated session-orchestration toolkit for multiplayer games. It models regions, servers, session types, capacity budgets, latency budgets, fairness rules, and execution policies in a declarative DSL, then compiles that spec into canonical IR, a verifiable execution graph, and governance artifacts.
|
|
|
|
This repository focuses on the control-plane primitives:
|
|
|
|
- declarative DSL compilation
|
|
- canonical IR and plan deltas
|
|
- cryptographically hashed execution attestations
|
|
- a Graph-of-Contracts adapter registry
|
|
- a privacy-preserving federated scheduler
|
|
- a tamper-evident governance ledger backed by SQLite
|
|
|
|
## What It Provides
|
|
|
|
- `MatchOpsSpec`: the input DSL model.
|
|
- `compile_spec(...)`: converts a spec into canonical IR and a verifiable execution graph.
|
|
- `FederatedOptimizer`: allocates session demand from aggregated regional signals without exposing raw player data.
|
|
- `GoCRegistry`: registers versioned adapters for cloud APIs and game-server routing.
|
|
- `SQLiteGovernanceLedger`: stores append-only governance events with a hash chain.
|
|
|
|
## Repository Layout
|
|
|
|
```text
|
|
src/idea134_matchops_federated_verifiable/
|
|
tests/
|
|
AGENTS.md
|
|
test.sh
|
|
pyproject.toml
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
python3 -m pip install -e .
|
|
pytest -q
|
|
python3 -m build
|
|
```
|
|
|
|
Or run the full verification script:
|
|
|
|
```bash
|
|
bash test.sh
|
|
```
|
|
|
|
## Design Notes
|
|
|
|
- Canonical JSON serialization is used for all hashes so decisions are reproducible.
|
|
- The execution graph uses per-step attestations derived from the previous step and the current payload.
|
|
- The optimizer only consumes aggregated regional signals and session demand, never raw player identity data.
|
|
- The governance ledger is append-only and can be persisted to SQLite for durable audit trails.
|
|
|
|
## Public Package Metadata
|
|
|
|
The package is published as `idea134-matchops-federated-verifiable` and its README is wired into `pyproject.toml` via `readme = "README.md"`.
|