From c29fbda989327937bbda4eeeb3d7f7d711c0ae4e Mon Sep 17 00:00:00 2001 From: nfel Date: Sun, 30 Aug 2026 20:02:28 +0330 Subject: [PATCH] docs: record market settlement lock fix --- REFACTORING-AUDIT.md | 1 + REFACTORING-TODO.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/REFACTORING-AUDIT.md b/REFACTORING-AUDIT.md index b307e71..30dddc6 100644 --- a/REFACTORING-AUDIT.md +++ b/REFACTORING-AUDIT.md @@ -440,6 +440,7 @@ Migration order implied by the map: isolate shared infrastructure constructors ( - Market order amount and maker unit-price positivity checks now use `application/market.PositiveAmount`, with existing zero-amount gRPC mapping retained. Focused market tests pass in `192dff4`. - Market order status-to-error-code policy now uses `application/market.OrderStatusCode`; the adapter retains existing `allowed` metadata formatting. Focused market tests pass in `9f70b21`. - ICO publisher role/participant/side/counter-asset validation now uses `application/market.ValidatePublisherICO`, with existing access-denied and invalid-argument mappings retained. Focused market tests pass in `4ea1f5a`. +- Market settlement now synchronously acquires the stream transaction-hash mutex; the previous goroutine lock returned immediately and did not serialize settlement against stream processing. Focused market tests pass in `3004bb9`. ### `W008` — alert boundary checkpoint diff --git a/REFACTORING-TODO.md b/REFACTORING-TODO.md index 0781623..8918ceb 100644 --- a/REFACTORING-TODO.md +++ b/REFACTORING-TODO.md @@ -326,6 +326,6 @@ Append one row whenever a task changes status. Existing rows are never rewritten | 2026-08-30 | W013 | `TODO` | `STARTED` | Removed automatic federation creation and federation lookup from wallet initialization; new wallet records no longer receive a federation assignment; full Wallet tests pass in `97dd9d9`. Remaining schema/API/transaction-field cleanup is pending. | | 2026-08-30 | W013 | `STARTED` | `DONE` | Removed federation persistence/model code, wallet and transaction federation fields, federation protobuf messages, stale API route/docs, and remaining runtime references; regenerated Wallet contracts for Wallet/Auth/API; Wallet, Auth, and API tests pass. Wallet `a38501d`/`7ae90cc`, Auth `446e875`, API `c450264`/`c2c076c`. | | 2026-08-30 | W006 | `TODO` | `STARTED` | Added `application/withdrawal`, `application/deposit`, `application/transfer`, and `application/transaction`; routed IRT reconciliation, IPG conversion/settlement/payer identity, transfer validation, transaction construction/completion, balance-change display policy, deterministic wallet-lock ordering, insufficient-balance failure policy, Stellar status updates, and transaction-event support through application boundaries; focused Wallet tests pass in `a43a758`. Business failure/refund orchestration remains. | -| 2026-08-30 | W007 | `TODO` | `STARTED` | Added typed `application/market` policies for agreement tolerance, available amount, raw conversion, positive order inputs, ICO publisher validation, order status codes, and market pricing calculation; market ICO/order validation and calculation delegate through compatibility mapping. Focused market tests pass in `4ea1f5a`. Order lifecycle, settlement, contract generation, and adapter extraction remain. | +| 2026-08-30 | W007 | `TODO` | `STARTED` | Added typed `application/market` policies for agreement tolerance, available amount, raw conversion, positive order inputs, ICO publisher validation, order status codes, and market pricing calculation; market ICO/order validation and calculation delegate through compatibility mapping. Synchronous settlement/stream locking fixed in `3004bb9`; order lifecycle, settlement, contract generation, and adapter extraction remain. | | 2026-08-30 | W008 | `TODO` | `STARTED` | Added `application/alert` level/source label and subject policies with focused mapping tests; alert delivery keeps existing asynchronous email/SMS retry behavior. Focused Wallet tests pass in `be29c11`. Delivery, retry, persistence, and adapter extraction remain. | | 2026-08-30 | W010 | `TODO` | `STARTED` | Added `application/cron.Retry`, `application/stream.IsNew`, and stream external-deposit transaction policy; `SetupCronRepository` initializes only PostgreSQL for cron jobs. Focused Wallet tests pass in `61768e7`. Stream and remaining process composition work remain. |