Skip to content

CanonicalFlow Documentation

This documentation is the technical reference for a deterministic, event-driven trading system.

It focuses on architecture, semantics, implementation structure, and operations.
It does not focus on proprietary strategy logic or alpha design.


What this system is

At a high level, the system is designed for:

  • event-driven runtime behavior with deterministic processing
  • Research and Backtesting grounded in the same conceptual model as Live operation
  • explicit separation of architecture concerns (semantics, runtime architecture, stack realization, operations)

For the architecture map of the full system, start with Architecture Map.


What this documentation contains

The repository is organized into six major sections:

  • Guides (00-guides) - orientation, terminology, and navigation aids
  • Architecture (10-architecture) - system-level structure, boundaries, and ADRs
  • Concepts (20-concepts) - canonical semantic models and invariants
  • Stacks (30-stacks) - implementation-facing stack overviews
  • Operations (40-operations) (work in progress) - monitoring, recovery, incident, and runbook-oriented material
  • Evolution (50-evolution) (work in progress) - roadmap, milestones, and development trajectory

For a dedicated structure explanation, see Documentation Structure.


Start here by goal

Understand the system conceptually

  1. Architecture Map
  2. System Narrative
  3. Architecture Overview

Understand runtime architecture

  1. Logical Architecture
  2. System Flows
  3. Physical Architecture
  4. Architecture Principles

Understand core semantics (authoritative definitions)

  1. Terminology
  2. Concepts Overview
  3. Time Model
  4. Event Model
  5. State Model
  6. Determinism Model
  7. Invariants

Find implementation, stack details and operations material

  1. relevant stack section under Stacks
  2. related ADRs under Architecture
  3. monitoring / recovery / incident and runbook documents under Operations

How to use this documentation effectively

  • Use overview pages to orient quickly.
  • Use concept documents for exact semantic definitions.
  • Use architecture documents for component boundaries and sequencing.
  • Use stack and operations documents for applied implementation and operating context.

When in doubt, treat concept documents as semantic authority and use overview pages as navigational summaries.