alt/packages/contracts
toki adc0b12d82 feat(live-trading): 실거래 주문 lifecycle을 연결한다
실거래 주문 생성/조회/취소 흐름이 contracts, worker, API, CLI, Flutter parser까지 같은 메시지 경계로 이어져야 한다.\n\n브로커 호출 전 operator confirmation과 malformed order validation을 worker-owned runtime에서 막고, 리뷰 완료 산출물을 archive에 보존한다.
2026-06-07 17:29:45 +09:00
..
gen/go feat(live-trading): 실거래 주문 lifecycle을 연결한다 2026-06-07 17:29:45 +09:00
proto/alt/v1 feat(live-trading): 실거래 주문 lifecycle을 연결한다 2026-06-07 17:29:45 +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/.