25 lines
2.2 KiB
Markdown
25 lines
2.2 KiB
Markdown
# Darano assessment
|
|
|
|
Darano is a multi-service tokenization and trading platform centered on real-estate assets, with Mellat integration for fiat payments and Kuknos/Stellar for settlement. The recovered work adds a strong GL mirror and durable event infrastructure, but the requested target is not complete.
|
|
|
|
## Verdict
|
|
|
|
- Business domains are identifiable and documented in `02-business-domains.md`.
|
|
- A project index and mind map are complete.
|
|
- GL's feature branch is checked out, append-only, and its full tests pass. It is now started by the development Procfile and configured as `gl:8600`, but compose still needs a concrete GL service/image and database secret.
|
|
- GL is the primary append-only financial truth; Kuknos is secondary settlement/verification truth. The new shared gate enforces both in normal mode, always halts on GL failure, and permits only an explicit startup-time `kuknos-enabled=false` mode. It never switches automatically.
|
|
- User transactions are not uniformly event driven. The one-event-per-transaction design can publish a `CREATED` request too early and never re-enqueue it after confirmation; only four types have executable consumers.
|
|
- Wallet and GL full suites pass. Tests now cover fail-closed RPC admission and paused event claims, but not complete cross-system user lifecycles or the health-check/commit race.
|
|
|
|
## Recommended next slice
|
|
|
|
1. Fix the command/event lifecycle and add end-to-end tests for internal transfer first.
|
|
2. Replace monetary `float64` at service/persistence boundaries with fixed-point values.
|
|
3. Add the concrete GL compose deployment/database secret, then implement reconciliation.
|
|
4. Replace health-preflight-only coordination with GL-first acknowledged reservations/commands so GL and Kuknos cannot diverge across the check/submit race.
|
|
5. Move AdminPanel mutations behind internal service APIs.
|
|
|
|
## Staging limitation
|
|
|
|
Direct interactive access to `https://stage.darano.ir` was unavailable. The supplied staging screenshots confirm wallet totals/locks, market and ICO purchase screens, legal agreement acceptance, transaction history, verified Sheba accounts, IRT withdrawal, and referrals; these flows are captured in `04-product-flows.md`.
|