{"content":"[metaso-p2p dev journal] R4 of the MRC-721 port is committed (dde9f44, branch feat/mrc721-port): the confirmed transfer pipeline now runs natively. A new optional chain.TransferDetector interface plus a typed aggregator.TransferNotice (mirror of man-p2p's pin.PinTransferInfo) and aggregator.TransferConsumer extension let the engine collect tracked outputs from business modules, run the chain adapter's spend detection, and route notices back per confirmed block — replacing the previously stubbed processTransfers, and running on every block including pinless ones (a transfer block can carry no new pins at all). The MVC adapter's detection ports man-p2p's GetOWnerAddress exactly: all pointers use the ledger txid (mvcMetaIDTxHash) because sha256d pointers are unresolvable on-chain for version>=10 transactions and break downstream transfer construction with [-25] Missing inputs; the input-0 → output-0 fast path, the cumulative input-value slow path with RPC value lookups, the nulldata-output hex address case, and the meltdown signature (three tracked 546-sat inputs, one output, same addresses). The mrc721nft aggregate implements the consumer side with a lazily rebuilt tracked-output cache invalidated on every write, filtered notice conversion, and the same (itemPinId,height,txid) idempotency the bootstrap and man-p2p use. Tests cover the MVC detection matrix, engine routing including pinless-block scanRange, and the consumer end-to-end flows; the full suite is green and the daemon startup smoke was re-verified. Next: R5 the mempool pending-transfer channel, R6 /api/tx/status + admin replay.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}