37 lines
1.9 KiB
Markdown
37 lines
1.9 KiB
Markdown
# 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.
|