Skip to content

Define versioned message contracts, envelope and rule-revision semantics #14

Description

@carndog

Outcome

Define the stable asynchronous contracts used between the price, strategy, risk and execution boundaries, including how the exact monitoring-rule, portfolio-risk-policy and performance-objective configuration is traced without exposing private definitions or live operational values.

Acceptance criteria

  • Define PriceObservedV1, TradeSignalV1, TradeDecisionV1 and ExecuteOrderV1 contracts
  • Define an envelope containing MessageId, CorrelationId, CausationId, OccurredAtUtc and SchemaVersion
  • Define InstrumentId, PortfolioId, execution environment and strategy identity semantics
  • Define MonitoringRuleRevisionId, PortfolioRiskPolicyRevisionId, PerformanceObjectiveScheduleRevisionId and ObjectivePeriodId semantics separately from message and XML schema versions
  • State that StrategyEvaluator resolves the monitoring-rule revision effective at the observation instant
  • State that RiskGate resolves the risk-policy and objective-schedule revisions effective at the simulated or real decision instant
  • Carry proposed exposure or sizing inputs from the strategy boundary without assuming they are approved
  • Represent Approved, Reduced and Rejected risk decisions with explicit reason codes
  • Record requested and approved exposure separately
  • Carry or preserve traceable references to the exact three configuration revisions through decision and execution audit records
  • Reference the immutable portfolio-performance snapshot used by RiskGate
  • State which component owns each field and identifier
  • Define compatibility and message-versioning rules
  • Define what data stays out of messages and is resolved from state
  • Do not include definition XML, proprietary strategy parameters, live policy thresholds, account values or private objectives in public message examples
  • Provide representative synthetic JSON examples and contract tests
  • No broker credentials, secrets or live operational values appear in any contract

Dependencies

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions