Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
922d47e
feat: expose structured control scheduling obligations on gate decisions
bxvtr May 6, 2026
6c1fe9a
feat(core): add CoreStepResult model
bxvtr May 6, 2026
aa91f92
feat(core): add run_core_step skeleton
bxvtr May 6, 2026
852babf
feat(core): reevaluate control-time queues in core step
bxvtr May 6, 2026
ad4b84d
feat(core): scaffold strategy evaluation in core step
bxvtr May 6, 2026
46b4918
feat(core): capture generated intents in CoreStepResult
bxvtr May 6, 2026
258c914
feat(core): scaffold candidate intent combination
bxvtr May 6, 2026
a463465
feat(core): add CoreStepDecision scaffold mapping for control-time re…
bxvtr May 7, 2026
c388eb6
feat(core): scaffold policy risk decision boundary
bxvtr May 7, 2026
1a89867
feat(core): scaffold execution control decision boundary
bxvtr May 7, 2026
e57e330
feat(core): capture candidate decision context
bxvtr May 7, 2026
fae3262
feat(core): add candidate intent origin records to core step results
bxvtr May 7, 2026
5c8c706
feat(core): add policy admission for generated candidate intents
bxvtr May 7, 2026
a7aa03b
feat(core): add capture-only execution control planning scaffold
bxvtr May 7, 2026
965bf2c
feat(core): add isolated execution control apply API
bxvtr May 7, 2026
654a2a9
test(core): close execution control apply edge cases
bxvtr May 7, 2026
fcb1fc0
feat(core): integrate execution control apply in core step
bxvtr May 7, 2026
c97ae20
test(core): close run_core_step apply integration semantics
bxvtr May 7, 2026
a48430b
feat(core): expose execution control from risk engine
bxvtr May 7, 2026
abc4f90
feat(runtime): add flagged ControlTime core-step dispatch path
bxvtr May 7, 2026
b9d2775
feat(core): add two-phase wakeup step scaffold
bxvtr May 7, 2026
43db205
chore(core): remove runtime-specific hft boundary leaks
bxvtr May 7, 2026
9798fe1
core: add canonical order execution feedback event reduction
bxvtr May 9, 2026
c736c1f
docs(core): document frozen CoreStep MVP baseline
bxvtr May 10, 2026
3f971b3
docs(core): align root docs with CoreStep MVP baseline
bxvtr May 10, 2026
c246665
docs(core): restructure docs around Concept Flow Code API
bxvtr May 10, 2026
026c74e
docs(core): add MVP how-to guides
bxvtr May 10, 2026
88da238
docs(core): add MVP architecture diagrams
bxvtr May 10, 2026
005b931
docs: improve language
bxvtr May 11, 2026
dc4080d
feat(core): add runnable CoreStep quickstart
bxvtr May 12, 2026
90e45e5
refactor(core)!: cut legacy compatibility from Core pipeline
bxvtr May 14, 2026
1238563
refactor(core): polish clean pipeline contracts and tests
bxvtr May 14, 2026
746b5d7
chore(core): harden standalone package baseline
bxvtr May 14, 2026
a40e238
test(core): harden pipeline coverage and quickstart checks
bxvtr May 14, 2026
8cae0ff
docs(core): explain decision kernel motivation and parity
bxvtr May 14, 2026
dd17b23
docs(core): explain decision kernel motivation and parity
bxvtr May 14, 2026
39aa265
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
cad33f7
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
78ce020
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
3eb412d
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
b880c40
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
464f012
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
f686dc3
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
a998185
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
e3dcb22
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
259bc15
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
95e7979
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
b230a35
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
42716f6
docs(core): clarify motivation and backtest live parity
bxvtr May 14, 2026
5c7b6d4
test(core): cover control-time scheduling semantics
bxvtr May 14, 2026
ef09b35
feat(core): evaluate wakeup strategy after full batch reduction
bxvtr May 15, 2026
c67047c
chore(.github): normalize template filenames
bxvtr May 15, 2026
f0cb7fa
docs: improve language and use consistent terminology
bxvtr May 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ What should happen?

## Logs / Output

Paste relevant logs, stack traces, or event output here.
Paste relevant logs, traces, or outputs here.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ venv.bak/
*.key
*.crt
*.pub
.oci/

# ==============================
# Python packaging / build artifacts
Expand Down
68 changes: 16 additions & 52 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,24 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
This changelog starts from the clean Core package baseline.

## [Unreleased]

## [0.1.0] - 2026-02-17
### Added

Initial public release of the core.
- Deterministic `run_core_step` and `run_core_wakeup_step` architecture.
- CoreWakeupStep final-state Strategy evaluation: reduce all entries, then `CoreWakeupStrategyEvaluator` once.
- Canonical Event input models and `EventStreamEntry`/`ProcessingPosition`.
- Intent candidate record pipeline with dominance/reconciliation.
- Risk Engine (policy-only) admission and Execution Control plan/apply integration.
- `CoreStepResult.dispatchable_intents` and `ControlSchedulingObligation` outputs.
- Core-only quickstart example and focused semantics test coverage.

### Added
### Changed

- Package metadata, exports, and docs reset for standalone Core library identity.
- Pydantic models established as contract source of truth across public API docs.

### Removed

#### Core Domain
- Explicit order state machine
- Structured domain types and reject reasons
- Slot-based order tracking
- Event bus and event sink abstractions
- JSON schema validation for domain events

#### Risk Layer
- Configurable risk engine
- Risk constraint enforcement
- Deterministic risk gating before execution

#### Backtest Layer
- Integration with [hftbacktest](https://github.com/nkaz001/hftbacktest)
- Strategy runner abstraction
- Venue adapter interface
- Deterministic event processing pipeline

#### Orchestration
- Segment-based execution model
- Parameter sweep runtime
- Experiment and segment entrypoints
- Prometheus metrics integration
- MLflow-compatible logging hooks

#### Execution Modes
- Fully local execution example
- Cloud-native runtime entrypoints
- S3-compatible storage adapter

#### Strategy
- Base strategy interface
- Structured strategy configuration

#### Testing
- Semantic invariant test suite
- Order state transition validation
- Queue dominance rules
- Risk constraint validation
- Schema conformance tests

#### Tooling
- Dev container configuration
- Development validation scripts
- Dependency compilation helper
- Legacy compatibility-first contracts and references not part of the clean baseline.
95 changes: 56 additions & 39 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,63 +1,80 @@
# Contributing
# Contributing to TradingChassis Core

Thank you for your interest in contributing!
Contributions should preserve TradingChassis Core as a deterministic,
Runtime-agnostic library.

This repository focuses on deterministic, event-driven trading architecture.
Contributions should preserve clarity, explicitness and reproducibility.
> Terminology: Definitions and related terms match the [canonical
> terminology](https://tradingchassis.github.io/docs/latest/00-guides/terminology/).

---
## Package Scope

## Design Principles
- Core owns canonical Events, State reduction, Strategy evaluation boundary,
candidate reconciliation, Risk Engine (policy), Execution Control plan/apply,
and `CoreStepResult`.
- Core does not own Runtime orchestration, Venue Adapters, dispatch lifecycle,
or deployment/config wiring.

All contributions must respect the core design philosophy:
## Development Setup

- Determinism over convenience
- Explicit state modeling
- No hidden side effects
- Risk-first architecture
- Clear domain boundaries
From `core`:

Avoid introducing implicit behavior or non-deterministic execution paths.
```bash
python -m pip install -e ".[dev]"
```

---
## Validation Commands

## Workflow
Run before opening a PR:

1. Fork the repository
2. Create a feature branch
3. Commit small, logical changes
4. Open a Pull Request with clear description
```bash
python examples/core_step_quickstart.py
python -m pytest -q
python -m build
```

---
## Architecture Rules

## Commit Style
- Core accepts canonical Events through `EventStreamEntry` and
`process_event_entry` / `process_canonical_event`.
- Core returns deterministic `CoreStepResult`; Runtime dispatches.
- Do not introduce Runtime imports.
- Pydantic models are the source of truth for contract structure.

Use clear messages:
## Changing Core Behavior

feat: add monitoring overlay
fix: correct SecretProviderClass parameters
docs: update bootstrap instructions
### Canonical Events

---
- Add Event models in `tradingchassis_core/core/domain/types.py`.
- Register canonical category handling in `core/domain/event_model.py`.
- Update canonical reduction behavior in `core/domain/processing.py`.

## Development Environment
### CoreStep/CoreWakeupStep pipeline

Recommended:
- Update `core/domain/processing_step.py` for deterministic flow changes.
- Keep reconciliation/policy/apply transitions explicit and side-effect-safe.

- Python 3.11.x
- Dev Container (provided in this repository)
### Risk Engine (policy) behavior

Alternatively:
- Implement policy checks in `core/risk/` and wire through
`evaluate_policy_intent`.
- Keep Risk Engine admission as policy-only; no dispatch/Runtime side effects.

```bash
pip install -e .
```
### Execution Control behavior

- Update plan/apply stages in `core/domain/execution_control_plan.py` and
`core/domain/execution_control_apply.py`.
- Preserve `ControlSchedulingObligation` as non-canonical output.

---
### Public API exports and docs

## Testing
- Update `tradingchassis_core/__init__.py` for intentional public exports only.
- Sync docs in `README.md` and `docs/reference/public-api.md`.

Before submitting:
## Pull Request Checklist

- The `./scripts/check.sh` script must pass
- All backtests must complete successfully and produce result artifacts
- [ ] Package remains Core-only and deterministic.
- [ ] Public API changes are intentional and tested.
- [ ] Quickstart still runs via public imports.
- [ ] `python -m pytest -q` passes.
- [ ] `python -m build` succeeds.
- [ ] README/docs/changelog updated to match behavior.
Loading
Loading