Files

1.9 KiB

align-domain-model-and-money-contract — Implementation Summary

Semantic Verification

Date: 2026-08-25

Checked areas:

  • Future Cash Event contract: backend UpcomingEventDto now exposes nullable projectedAmount as canonical Money { currency, value }; old event-level amount and currency fields were removed from the runtime OpenAPI schema and generated frontend types.
  • Money semantics: coupon, dividend and maturity events return Money in the source currency when currency and amount are known; offer and source events without currency return null, not zero or an invented currency.
  • Account access semantics: Upcoming Events still resolves account-scoped data through the existing current T-Bank connection access boundary; inaccessible accounts still short-circuit without reading upstream portfolio/events.
  • Portfolio terminology: runtime Portfolio behavior was not changed; docs and specs now distinguish Portfolio Snapshot, Portfolio Position, Currency Instrument Position and Cash Balance without altering route names or storage.
  • Frontend contract consumption: event page, account overview recent events, hooks, fixtures and generated schema now consume projectedAmount directly and keep the existing «Сумма неизвестна» UI for null.
  • Docs as-built state: glossary and affected feature/system docs describe the delivered Money contract and current-connection account accessibility without copying Proposal, Design or Tasks as a parallel SDD artifact.
  • Non-goals: routes, supported account types, token lifecycle, T-Bank upstream sources, cache TTLs, sorting, durable storage and broad module structure were not changed.

Conclusion:

The implementation matches the approved Proposal, Delta Specs and Design. The only public API contract break is the intended Future Cash Event projected amount change from separate nullable amount/currency fields to nullable Money.