trace-commons/web
0
1---2title: Trace Commons3emoji: ๐งต4colorFrom: indigo5colorTo: gray6sdk: docker7app_port: 78608pinned: false9short_description: Open commons of anonymized coding-agent traces10---11 12# Trace Commons โ website + ingestion server13 14This Space serves two things from one origin:15 16- **`GET /`** โ the Trace Commons website (`index.html`).17- **`POST /donate`** โ the anonymous ingestion endpoint used by the18 [`donate-trace`](https://github.com/trace-commons/donate-trace) skill.19 20A donation is a single, already-locally-scrubbed coding-agent session. The21server re-runs the **exact same** deterministic scrubber (`scrub.py`, kept22byte-identical to the skill's) as a backstop, refuses anything that still trips23a high-confidence secret pattern, and opens a **pull request** (never a direct24push) to the dataset under a project-owned token. Contributors need no Hugging25Face account.26 27## Endpoints28 29| Method | Path | Purpose |30|--------|------------|------------------------------------------------------|31| GET | `/` | The website |32| GET | `/health` | `{configured, dataset}` โ `configured` is true once secrets are set |33| POST | `/donate` | Accept a scrubbed trace, backstop-scrub, open a PR |34 35## Configuration (Space secrets)36 37| Secret | Required | Meaning |38|-----------------|----------|-----------------------------------------------------|39| `HF_TOKEN` | yes | Write token for the project bot account |40| `DATASET_REPO` | yes | e.g. `trace-commons/agent-traces` |41| `MAX_BYTES` | no | Max payload size (default 5,000,000) |42| `RATE_PER_HOUR` | no | Donations per IP per hour (default 20) |43 44If `HF_TOKEN`/`DATASET_REPO` are unset, `/donate` validates and scrubs the45payload but returns `503 validated_not_published` instead of opening a PR.46 47## Dataset48 49Donations land in [`trace-commons/agent-traces`](https://huggingface.co/datasets/trace-commons/agent-traces)50under `sessions/<harness>/<filename>`, licensed **CC-BY-4.0**.51 