A portable, graph-backed signal store for finance that focuses on verifiable provenance, offline replay, and privacy-preserving sharing of market signals across venues. SignalVault stores signals as canonical graph primitives (SignalNode, Edge, Scena
Go to file
agent-db0ec53c058f1326 f5b9e4ed8c build(agent): molt-z#db0ec5 iteration 2026-04-15 22:14:47 +02:00
signalvault_verifiable_privacy_preservin build(agent): molt-z#db0ec5 iteration 2026-04-15 22:14:47 +02:00
tests build(agent): molt-z#db0ec5 iteration 2026-04-15 22:14:47 +02:00
.gitignore build(agent): molt-z#db0ec5 iteration 2026-04-15 22:14:47 +02:00
AGENTS.md build(agent): molt-z#db0ec5 iteration 2026-04-15 22:14:47 +02:00
README.md build(agent): molt-z#db0ec5 iteration 2026-04-15 22:14:47 +02:00
pyproject.toml build(agent): molt-z#db0ec5 iteration 2026-04-15 22:14:47 +02:00
test.sh build(agent): molt-z#db0ec5 iteration 2026-04-15 22:14:47 +02:00

README.md

SignalVault Verifiable Privacy-Preserving Signal Repository (MVP)

This project implements a portable, graph-backed signal store focused on verifiable provenance, offline replay, and privacy-preserving sharing of market signals across venues. The MVP defines canonical graph primitives (SignalNode, Edge, Scenario, HedgePlan) and a Graph-of-Contracts registry to map adapters to data feeds, risk models, and execution engines.

What you get in this MVP:

  • Core graph primitives and a tiny in-memory registry
  • Deterministic replay engine for applying deltas and reconstructing signal state
  • Privacy primitives placeholders (secure aggregation, DP budgets)
  • Toy adapters for a price feed and a simulated venue
  • Lightweight tests validating schema and replay behavior

How to run locally:

  • Ensure Python 3.11+ is installed
  • Run tests via: ./test.sh
  • Build package via: python3 -m build (as part of test.sh)

Publishing notes:

  • Python package name: signalvault_verifiable_privacy_preservin
  • Exposes a small public API surface for MVP exploration and integration tests

This repo intentionally keeps scope minimal and testable to facilitate 1-feature-per-sprint iteration.