Skip to content

Add Phase 2: Domain data models and types#3

Merged
Ibrahim-3d merged 1 commit into
mainfrom
claude/start-next-phase-1Hj4k
Feb 10, 2026
Merged

Add Phase 2: Domain data models and types#3
Ibrahim-3d merged 1 commit into
mainfrom
claude/start-next-phase-1Hj4k

Conversation

@Ibrahim-3d
Copy link
Copy Markdown
Owner

Implement all data model classes that define the contracts between
components (trainer, thinker, trader, hub):

  • models/types.py: Type aliases (Timeframe, CoinSymbol, SignalLevel, PriceLevel)
  • models/candle.py: Immutable Candle dataclass with derived properties
    (body_pct, range_pct, shadows, direction)
  • models/signal.py: Immutable Signal dataclass with entry/neutral helpers
    and per-timeframe boundary validation
  • models/position.py: Mutable Position dataclass with avg_price, pnl_pct,
    market_value, and DCA tracking
  • models/trade.py: Immutable Trade dataclass with to_dict/from_dict for
    JSON-lines serialisation (supports both new and legacy schemas)
  • models/memory.py: Mutable PatternMemory dataclass with to_memory_text/
    from_memory_text for the custom on-disk format (~ and {} delimiters)

138 new unit tests covering construction, properties, validation, and
serialisation round-trips. All 359 tests pass, ruff/mypy/format clean.

https://claude.ai/code/session_01YCzrLj8szZHwkZvrghNf5V

Implement all data model classes that define the contracts between
components (trainer, thinker, trader, hub):

- models/types.py: Type aliases (Timeframe, CoinSymbol, SignalLevel, PriceLevel)
- models/candle.py: Immutable Candle dataclass with derived properties
  (body_pct, range_pct, shadows, direction)
- models/signal.py: Immutable Signal dataclass with entry/neutral helpers
  and per-timeframe boundary validation
- models/position.py: Mutable Position dataclass with avg_price, pnl_pct,
  market_value, and DCA tracking
- models/trade.py: Immutable Trade dataclass with to_dict/from_dict for
  JSON-lines serialisation (supports both new and legacy schemas)
- models/memory.py: Mutable PatternMemory dataclass with to_memory_text/
  from_memory_text for the custom on-disk format (~ and {} delimiters)

138 new unit tests covering construction, properties, validation, and
serialisation round-trips. All 359 tests pass, ruff/mypy/format clean.

https://claude.ai/code/session_01YCzrLj8szZHwkZvrghNf5V
@Ibrahim-3d Ibrahim-3d merged commit d7cdc2a into main Feb 10, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants