alt/packages/contracts
toki ec938475e0 chore: socket rail implementation and task archival
- Add backtest and market socket handlers for API and Worker
- Add proto definitions for backtest and market services
- Update client socket integration and tests
- Generate protobuf code for Go and Dart
- Archive completed agent tasks under agent-task/archive/2026/05/
2026-05-30 22:57:18 +09:00
..
gen/go chore: socket rail implementation and task archival 2026-05-30 22:57:18 +09:00
proto/alt/v1 chore: socket rail implementation and task archival 2026-05-30 22:57:18 +09:00
README.md feat: contract codegen baseline - add proto code generation for client and server 2026-05-28 05:29:03 +09:00

ALT Contracts

This package owns ALT application-level protobuf contracts.

proto-socket remains the transport protocol. ALT messages should be defined here and carried inside proto-socket PacketBase.data.

Initial contract direction:

  • additive protobuf changes first
  • explicit handshake/version messages because proto-socket protocol 0.1 does not carry an application version field
  • market-neutral models with Korea market daily bars as the MVP path (including ListBarsRequest/ListBarsResponse and GetBacktestResultRequest/GetBacktestResultResponse for the MVP schema)
  • generated clients should be derived from proto/ sources, not edited by hand

Compatibility

  • Prefer additive fields and messages.
  • Never renumber existing fields.
  • Reserve removals or semantic rewrites for an explicit version bump.

Transport Boundary

  • proto-socket owns PacketBase, heartbeat, nonce, and transport framing.
  • ALT alt.v1 messages are application payloads carried in PacketBase.data.

Codegen

Generated outputs are committed source-of-derivation artifacts:

  • Go: packages/contracts/gen/go/alt/v1/*.pb.go (Go module git.toki-labs.com/toki/alt/packages/contracts/gen/go).
  • Dart: apps/client/lib/src/generated/alt/v1/*.pb*.dart.

Commands (run from repository root):

  • bin/contracts-gen regenerates Go and Dart outputs from proto/. Requires protoc, protoc-gen-go, and a working apps/client Flutter package (the Dart plugin is invoked via apps/client/tool/protoc-gen-dart).
  • bin/contracts-check snapshots current generated outputs, regenerates, and fails when the regeneration produces a diff. Used by bin/test to keep schema and generated code aligned.

Do not hand-edit files under packages/contracts/gen/ or apps/client/lib/src/generated/.