{"composer_url":"https://ainumbers.co/chaingraph/chains/carf-dac8-reporting-cycle-check.html","description":"Check a CARF/DAC8 reporting cycle in two stages, plus a session receipt. First, classify crypto-asset user records and their transactions against a policy set the caller declares rather than one the node asserts: reportable residence jurisdictions, in-scope transaction classes, due-diligence rule codes and pinned schema version, with self-certification as the gating step and undetermined verdicts naming the missing input and the deciding role (ART-504). Then dispose the authority's returned CARF/DAC8 status message for that filed population into a break list, counting only dispositions signed by a named signer and carrying prior-cycle dispositions forward with signer and cycle attached; the node refuses to invent a break list when the jurisdiction's return channel is not declared (ART-505). Finally, a session receipt aggregating the run's execution hashes (CRY-05). The classification output is the filing population that the disposition stage answers; disposition without a classified filing has nothing to disposition, and classification alone cannot say whether the filing came back clean. The nodes state no view on how any jurisdiction has implemented CARF or DAC8, compute no tax liability, submit and transmit nothing, and are not legal or tax advice.","domain":"Digital-Asset Rails","name":"carf-dac8-reporting-cycle-check","regulatory_basis_decided_at":"2026-10-24","regulatory_basis_decided_by":"CHAIN-COMPOSE-CDC-1","regulatory_basis_status":"not_assessed","regulatory_refs":["OECD Crypto-Asset Reporting Framework (CARF), approved August 2022","Council Directive (EU) 2023/2226 of 17 October 2023 amending Directive 2011/16/EU (DAC8)"],"sequence_not_statutory":true,"steps":[{"handoff":"Classifies crypto-asset user records and transactions against a caller-declared policy set: reportable residence jurisdictions, in-scope transaction classes, due-diligence rule codes and pinned schema version; self-certification gates, undetermined verdicts name the missing input and the deciding role","tool_id":"art-504-classify-carf-reportable"},{"handoff":"Turns the authority's returned CARF/DAC8 status message for the filed population into a dispositioned break list, counting only dispositions signed by a named signer and carrying prior-cycle dispositions forward with signer and cycle attached; refuses to invent a break list when the return channel is not declared","tool_id":"art-505-dispose-carf-status-message"},{"handoff":"Produces session_receipt_root, the Merkle root over the run's execution_hashes (final stage)","tool_id":"cry-05-agent-action-audit-trail-aggregator"}],"title":"CARF / DAC8 Reporting Cycle Check"}