Before you start
- Read the repo contribution rules in
CONTRIBUTING.md. - Open an issue first for large changes.
Pull requests should target the
develop branch (not main).Contributing code (PR workflow)
Contributing producers
Producers are signal generators that publish typed events into the local event store. A good producer:- produces independent information (low correlation with existing sources)
- is observable (clear inputs/outputs, deterministic payload schema)
- degrades gracefully (missing endpoint → no events, clear DEGRADED health)
- is safe to run on a VPS (bounded time/cost, robust retries)
Interface expectations (today)
Even if the upstream data source differs, a producer should:- collect data (poll endpoint / read local file / run pipeline)
- normalize into a stable event type (e.g.
signal.<domain>.<name>.v1) - emit events into the DB so they can be consumed by:
- the brain synthesis engine
- API endpoints (
/signals,/events/stream) - oracle provenance projections
Weights are applied at the domain level (curator/onchain/tradfi/social/technical/events), not per producer.
Contributing docs
Docs are Mintlify MDX pages. Guidelines:- Prefer copy/paste-ready snippets
- Use Mintlify components for clarity:
<Steps>/<Step>for procedures<Tip>/<Note>/<Info>for callouts<AccordionGroup>for long references
- Keep examples consistent with the CLI/API references
Bug reports
Open a GitHub Issue with:- what you expected
- what happened
- logs/output (redact secrets)
- version (
b1e55ed --version) - environment (OS, Python version)
Links
CONTRIBUTING.md(repo root)- CLI:
/operations/cli-reference - Config:
/operations/config-reference - API:
/api/overview