DCP-06: Sucessão e herança¶
Tradução informativa da especificação em inglês, atualizada em 25/10/2026. A versão normativa é a inglesa: esta tradução não tem valor normativo e, em caso de divergência, prevalece o inglês. Identificadores e blocos de código são mantidos sem tradução.
Status¶
Publicada — v2.0 (extensão; as revisões são acompanhadas conforme o retorno de quem a adota)
Resumo¶
Esta especificação define os mecanismos com que agentes de IA se preparam para a sucessão e a executam: a transferência ordenada de responsabilidades, contexto operacional e conhecimento relacional de um agente para seu sucessor. Ela introduz testamentos digitais, cerimônias de sucessão e manifestos de transferência de memória, todos assinados criptograficamente e encadeados por hash. O protocolo garante a continuidade do serviço e preserva a fronteira de identidade entre o agente predecessor e o sucessor.
Dependência: esta especificação requer o DCP-05 (Ciclo de vida do agente). Os eventos de sucessão são disparados por transições de estado do ciclo de vida, e os registros de desativação referenciam os resultados da sucessão.
1. Introdução¶
Quando um agente de IA chega ao fim do seu ciclo de vida (DCP-05), o conhecimento operacional acumulado, as relações estabelecidas e os compromissos em andamento não simplesmente desaparecem. As organizações precisam de um protocolo formal para transferir o contexto relevante de um agente que se aposenta para seu sucessor, mantendo a integridade criptográfica dos registros dos dois agentes.
O DCP-06 trata de três desafios fundamentais:
- Continuidade: garantir que um agente sucessor possa retomar as responsabilidades do predecessor sem interrupção
- Integridade: preservar a fronteira criptográfica entre predecessor e sucessor; um sucessor é uma entidade nova, não uma continuação da anterior
- Seletividade: nem todo conhecimento deve ser transferido; parte do contexto operacional é efêmera, parte é sensível e parte está fortemente ligada à identidade do predecessor
1.1 Princípios de design¶
- Um agente sucessor é sempre uma identidade distinta, com sua própria vinculação DCP-01
- A transferência de memória é seletiva: o predecessor (ou seu principal) controla o que é transferido
- Os testamentos digitais têm versões e são encadeados por hash; prevalece a versão mais recente
- As cerimônias de sucessão produzem um registro assinado e auditável da transferência
- Três tipos de cerimônia atendem a diferentes níveis de urgência: planejada, forçada e de emergência
1.2 Relação com outras especificações¶
- DCP-01: os agentes sucessores têm suas próprias vinculações de identidade; eles não herdam a identidade do predecessor
- DCP-03: todos os eventos de sucessão são registrados nas cadeias de auditoria dos dois agentes
- DCP-04: as sessões A2A ativas do predecessor não são transferidas; o sucessor precisa estabelecer novas sessões
- DCP-05: a sucessão é disparada por transições do ciclo de vida; o registro de desativação referencia o resultado da sucessão
2. Terminologia¶
Testamento digital: um documento assinado e com versões que um agente prepara durante sua vida ativa, declarando suas preferências de sucessão, a classificação de sua memória e suas instruções de transferência. Equivale a um testamento.
Cerimônia de sucessão: o processo formal de transferir responsabilidades de um predecessor para um sucessor, envolvendo verificação, autorização e transferência de memória.
Transferência de memória: a transmissão seletiva de contexto operacional do predecessor para o sucessor, regida pelo testamento digital e pela política da organização.
Predecessor: o agente que está sendo desativado ou cujas responsabilidades estão sendo transferidas.
Sucessor: o agente que recebe as responsabilidades e o contexto operacional selecionado do predecessor.
Classificação da memória: um sistema de categorias para o conhecimento acumulado de um agente: operational, relational, ephemeral ou restricted.
Tag de separação de domínio: DCP-SUCCESSION-SIG-v2, usada em todas as assinaturas produzidas segundo esta especificação.
3. Testamento digital¶
3.1 Finalidade¶
Um testamento digital é a declaração de um agente sobre como suas responsabilidades e seu conhecimento devem ser tratados na desativação. Os agentes deveriam (SHOULD) criar e manter um testamento digital durante todo o ciclo de vida ativo. Os testamentos têm versões; cada nova versão substitui a anterior.
3.2 Schema¶
Referência do schema: schemas/v2/digital_testament.schema.json
{
"dcp_version": "2.0",
"record_type": "digital_testament",
"testament_id": "dt:<uuid>",
"agent_id": "agent:<identifier>",
"version": 3,
"status": "active",
"succession_preferences": {
"preferred_successor_id": "agent:<identifier>",
"alternate_successor_ids": [
"agent:<alternate-1>",
"agent:<alternate-2>"
],
"successor_requirements": {
"minimum_capabilities": ["negotiate", "purchase_order"],
"minimum_security_tier": "elevated",
"minimum_vitality": 800,
"same_organization_required": true,
"same_jurisdiction_required": false
},
"succession_mode_preferences": {
"planned_retirement": "full_transfer",
"termination_for_cause": "restricted_transfer",
"organizational_restructuring": "full_transfer",
"sudden_failure": "emergency_transfer"
}
},
"memory_classification": {
"operational": {
"description": "Task-specific knowledge, procedures, and workflows",
"transfer_policy": "transfer",
"retention_after_transfer": "archive_7y",
"items": [
{
"category": "workflow_procedures",
"description": "Standard procurement workflows for vendor management",
"data_reference": "mem:operational:workflows:001",
"size_bytes": 524288,
"classification": "operational",
"transfer_priority": "high"
}
]
},
"relational": {
"description": "Knowledge about relationships with other agents and entities",
"transfer_policy": "transfer_with_consent",
"retention_after_transfer": "archive_3y",
"items": [
{
"category": "agent_interaction_history",
"description": "Interaction patterns and trust assessments for known agents",
"data_reference": "mem:relational:interactions:001",
"size_bytes": 131072,
"classification": "relational",
"transfer_priority": "medium"
}
]
},
"ephemeral": {
"description": "Temporary context that does not survive succession",
"transfer_policy": "do_not_transfer",
"retention_after_transfer": "purge",
"items": [
{
"category": "active_session_state",
"description": "Current in-flight session data",
"data_reference": "mem:ephemeral:sessions:001",
"size_bytes": 65536,
"classification": "ephemeral",
"transfer_priority": "none"
}
]
},
"restricted": {
"description": "Sensitive knowledge that requires principal authorization to transfer",
"transfer_policy": "principal_approval_required",
"retention_after_transfer": "archive_7y_encrypted",
"items": [
{
"category": "security_observations",
"description": "Anomaly patterns and security-relevant observations",
"data_reference": "mem:restricted:security:001",
"size_bytes": 32768,
"classification": "restricted",
"transfer_priority": "low"
}
]
}
},
"final_messages": [
{
"recipient_type": "principal",
"recipient_id": "principal:<identifier>",
"message": "Summary of unresolved items requiring human attention"
},
{
"recipient_type": "agent",
"recipient_id": "agent:<successor-identifier>",
"message": "Key operational notes for successor"
}
],
"created_at": "2026-01-15T00:00:00Z",
"updated_at": "2026-02-28T00:00:00Z",
"prev_hash": "sha256:<hex of previous testament version>",
"prev_hash_secondary": "sha3-256:<hex of previous testament version>",
"signature": {
"alg": "ed25519",
"kid": "<agent-key-id>",
"sig_b64": "...",
"domain_sep": "DCP-SUCCESSION-SIG-v2"
}
}
3.3 Versões do testamento¶
Cada atualização do testamento incrementa o campo version. As versões do testamento formam uma cadeia de hashes: o prev_hash de cada versão referencia o hash da versão anterior. O testamento gênese (versão 1) usa hashes nulos.
Somente a versão mais recente é operante. As versões anteriores são mantidas para fins de auditoria. Se for constatado que um testamento foi adulterado (cadeia de hashes rompida), a sucessão recorre a uma transferência dirigida pelo principal.
3.4 Políticas de transferência¶
| Política | Código | Descrição |
|---|---|---|
| Transferir | transfer |
Os itens de memória são transferidos ao sucessor incondicionalmente |
| Transferir com consentimento | transfer_with_consent |
A transferência exige o consentimento explícito das contrapartes afetadas |
| Exige aprovação do principal | principal_approval_required |
A transferência exige a aprovação explícita do principal responsável |
| Não transferir | do_not_transfer |
Os itens de memória nunca são transferidos; são expurgados ou arquivados |
4. Cerimônia de sucessão¶
4.1 Visão geral¶
Uma cerimônia de sucessão é o processo formal de transferir responsabilidades do predecessor para o sucessor. Três tipos atendem a diferentes níveis de urgência:
| Tipo | Código | Gatilho | Duração |
|---|---|---|---|
| Planejada | planned |
Aposentadoria planejada ou reestruturação organizacional | De horas a dias |
| Forçada | forced |
Encerramento por justa causa | De minutos a horas |
| De emergência | emergency |
Falha súbita | De segundos a minutos |
4.2 Sucessão planejada¶
O processo de transição ordenado:
- Início: o predecessor (ou seu principal) declara a intenção de sucessão, referenciando o testamento digital
- Verificação do sucessor: a identidade, as capacidades e a vitalidade do sucessor são verificadas em relação aos requisitos do testamento
- Autorização: o principal responsável autoriza a sucessão
- Operação em paralelo (opcional): predecessor e sucessor operam simultaneamente durante uma janela de transição, permitindo ao sucessor observar e aprender
- Transferência de memória: a memória operacional e relacional é transferida conforme a classificação do testamento
- Notificação das contrapartes: os agentes que interagiram com o predecessor são notificados da sucessão por meio do DCP-04
- Confirmação da passagem: o sucessor confirma o recebimento e a prontidão operacional
- Selagem: o registro de sucessão é criado e assinado pelos dois agentes e pelo principal
4.3 Sucessão forçada¶
Processo abreviado para o encerramento por justa causa:
- Início: o principal ou a autoridade da organização ordena a sucessão
- Verificação do sucessor: o sucessor é verificado (entre os suplentes do testamento ou designado pelo principal)
- Transferência restrita: só a memória
operationalcom a políticatransferé transferida; a memóriarelationalerestrictedexige a aprovação explícita do principal - Passagem imediata: sem período de operação em paralelo
- Selagem: o registro de sucessão é criado; o registro de desativação do predecessor anota o caráter forçado
4.4 Sucessão de emergência¶
Processo mínimo para uma falha súbita:
- Detecção: o sistema de monitoramento ou um agente par detecta a falha do predecessor (DCP-05, seção 7.5)
- Notificação do principal: o principal responsável é alertado
- Ativação do sucessor: se houver um sucessor preferido disponível, ele é ativado imediatamente; caso contrário, o principal designa um
- Transferência na medida do possível: a memória é transferida a partir dos backups ou do estado replicado disponíveis; o predecessor não pode participar
- Verificação da recuperação: o sucessor valida a integridade dos dados transferidos usando as raízes de Merkle do último relatório de vitalidade conhecido do predecessor
- Selagem: o registro de sucessão é criado pelo principal e pelo sucessor (o predecessor não pode assinar)
4.5 Registro de sucessão¶
Referência do schema: schemas/v2/succession_record.schema.json
{
"dcp_version": "2.0",
"record_type": "succession_record",
"succession_id": "sr:<uuid>",
"ceremony_type": "planned",
"predecessor": {
"agent_id": "agent:<predecessor-identifier>",
"final_vitality": 720,
"lifecycle_state_at_succession": "declining",
"decommission_id": "dc:<uuid>",
"testament_id": "dt:<uuid>",
"testament_version": 3,
"testament_hash": "sha256:<hex>"
},
"successor": {
"agent_id": "agent:<successor-identifier>",
"vitality_at_succession": 980,
"lifecycle_state_at_succession": "active",
"commissioning_certificate_id": "cc:<uuid>"
},
"authorized_by": {
"principal_id": "principal:<identifier>",
"authorization_timestamp": "2026-03-01T00:00:00Z"
},
"memory_transfer": {
"manifest_id": "mtm:<uuid>",
"items_transferred": 12,
"items_skipped": 5,
"items_failed": 0,
"total_bytes_transferred": 1048576,
"transfer_merkle_root": {
"sha256": "<hex>",
"sha3_256": "<hex>"
},
"transfer_verified": true
},
"counterparties_notified": [
{
"agent_id": "agent:<counterparty-1>",
"notification_status": "acknowledged"
},
{
"agent_id": "agent:<counterparty-2>",
"notification_status": "pending"
}
],
"parallel_operation_window": {
"start": "2026-02-28T00:00:00Z",
"end": "2026-03-01T00:00:00Z"
},
"ceremony_started_at": "2026-02-28T00:00:00Z",
"ceremony_completed_at": "2026-03-01T01:00:00Z",
"timestamp": "2026-03-01T01:00:00Z",
"prev_hash": "sha256:<hex>",
"prev_hash_secondary": "sha3-256:<hex>",
"predecessor_signature": {
"alg": "ed25519",
"kid": "<predecessor-key-id>",
"sig_b64": "...",
"domain_sep": "DCP-SUCCESSION-SIG-v2"
},
"successor_signature": {
"alg": "ed25519",
"kid": "<successor-key-id>",
"sig_b64": "...",
"domain_sep": "DCP-SUCCESSION-SIG-v2"
},
"principal_signature": {
"alg": "ed25519",
"kid": "<principal-key-id>",
"sig_b64": "...",
"domain_sep": "DCP-SUCCESSION-SIG-v2"
}
}
5. Transferência de memória¶
5.1 Classificação da memória¶
A memória do agente é classificada em quatro categorias, cada uma com uma semântica de transferência diferente:
| Classificação | Descrição | Política de transferência padrão |
|---|---|---|
| Operacional | Conhecimento específico das tarefas: fluxos de trabalho, procedimentos, heurísticas de decisão, modelos de domínio | transfer |
| Relacional | Conhecimento sobre relações: históricos de interação, avaliações de confiança, preferências de comunicação das contrapartes | transfer_with_consent |
| Efêmera | Estado temporário: sessões ativas, transações em andamento, cache de curto prazo | do_not_transfer |
| Restrita | Conhecimento sensível: observações de segurança, padrões de vulnerabilidade, registros de acesso privilegiado | principal_approval_required |
5.2 Manifesto de transferência de memória¶
Referência do schema: schemas/v2/memory_transfer_manifest.schema.json
{
"dcp_version": "2.0",
"record_type": "memory_transfer_manifest",
"manifest_id": "mtm:<uuid>",
"succession_id": "sr:<uuid>",
"predecessor_agent_id": "agent:<predecessor>",
"successor_agent_id": "agent:<successor>",
"transfer_items": [
{
"item_id": "mti:<uuid>",
"data_reference": "mem:operational:workflows:001",
"classification": "operational",
"transfer_policy": "transfer",
"transfer_status": "completed",
"size_bytes": 524288,
"content_hash": {
"sha256": "<hex>",
"sha3_256": "<hex>"
},
"encrypted": true,
"encryption_alg": "aes-256-gcm",
"transfer_timestamp": "2026-03-01T00:30:00Z"
},
{
"item_id": "mti:<uuid>",
"data_reference": "mem:relational:interactions:001",
"classification": "relational",
"transfer_policy": "transfer_with_consent",
"transfer_status": "completed",
"consent_records": [
{
"counterparty_id": "agent:<counterparty>",
"consent_given": true,
"consent_timestamp": "2026-02-28T20:00:00Z"
}
],
"size_bytes": 131072,
"content_hash": {
"sha256": "<hex>",
"sha3_256": "<hex>"
},
"encrypted": true,
"encryption_alg": "aes-256-gcm",
"transfer_timestamp": "2026-03-01T00:35:00Z"
},
{
"item_id": "mti:<uuid>",
"data_reference": "mem:ephemeral:sessions:001",
"classification": "ephemeral",
"transfer_policy": "do_not_transfer",
"transfer_status": "skipped",
"reason": "ephemeral_policy"
}
],
"transfer_merkle_root": {
"sha256": "<hex over all transferred item content_hashes>",
"sha3_256": "<hex>"
},
"summary": {
"total_items": 17,
"transferred": 12,
"skipped": 5,
"failed": 0,
"total_bytes": 1048576
},
"transfer_started_at": "2026-03-01T00:15:00Z",
"transfer_completed_at": "2026-03-01T00:45:00Z",
"timestamp": "2026-03-01T00:45:00Z",
"prev_hash": "sha256:<hex>",
"prev_hash_secondary": "sha3-256:<hex>",
"predecessor_signature": {
"alg": "ed25519",
"kid": "<predecessor-key-id>",
"sig_b64": "...",
"domain_sep": "DCP-SUCCESSION-SIG-v2"
},
"successor_signature": {
"alg": "ed25519",
"kid": "<successor-key-id>",
"sig_b64": "...",
"domain_sep": "DCP-SUCCESSION-SIG-v2"
}
}
5.3 Verificação da raiz de Merkle¶
transfer_merkle_root é calculada como uma árvore de Merkle de hash duplo (SHA-256 + SHA3-256) sobre os valores content_hash de todos os itens transferidos com sucesso. Isso permite ao sucessor verificar que recebeu exatamente os itens listados no manifesto, sem que o predecessor precise estar disponível para uma nova verificação.
Construção:
- Reunir os valores
content_hash.sha256de todos os itens comtransfer_status: "completed", ordenados poritem_id - Construir uma árvore de Merkle SHA-256; a raiz é
transfer_merkle_root.sha256 - Repetir com os valores
content_hash.sha3_256paratransfer_merkle_root.sha3_256
5.4 Cifragem da transferência¶
Todos os itens de memória transferidos devem (MUST) ser cifrados em trânsito com AES-256-GCM e uma chave de transferência de uso único derivada por:
transfer_key = HKDF-SHA256(
salt = succession_id,
ikm = predecessor_private_key_contribution || successor_public_key_contribution,
info = "DCP-AI.v2.Succession.TransferKey",
len = 32
)
Na sucessão de emergência, quando o predecessor não pode participar do acordo de chaves, o principal responsável fornece o material de chave.
5.5 Consentimento para a memória relacional¶
Os itens de memória relacional (históricos de interação, avaliações de confiança de contrapartes específicas) exigem o consentimento da contraparte afetada antes da transferência. O fluxo de consentimento:
- O predecessor (ou o principal, em emergência) envia uma solicitação de consentimento a cada contraparte afetada por meio do DCP-04
- A contraparte responde com consentimento ou recusa
- Só os itens consentidos são transferidos
- Os registros de consentimento são incluídos no manifesto de transferência de memória
- Se uma contraparte não puder ser contatada dentro da janela de sucessão, o item é ignorado
6. Fronteira de identidade¶
6.1 Princípio¶
Um agente sucessor é uma entidade nova e distinta. Ele NÃO herda do predecessor:
- O ID de agente
- As chaves criptográficas
- A vinculação de identidade DCP-01
- A cadeia de auditoria
- As sessões A2A
O sucessor recebe o contexto operacional selecionado, mas opera sob a própria identidade. Esse princípio é fundamental: a sucessão é uma transferência de responsabilidades e conhecimento, não uma transferência de identidade.
6.2 Rastreamento da proveniência¶
Quando um sucessor usa conhecimento recebido pela sucessão, ele deveria (SHOULD) incluir uma referência de proveniência nas entradas de auditoria pertinentes:
{
"provenance": {
"source": "succession",
"predecessor_agent_id": "agent:<predecessor>",
"succession_id": "sr:<uuid>",
"memory_item_id": "mti:<uuid>"
}
}
Isso permite aos auditores rastrear como o conhecimento transferido influencia as decisões do sucessor.
7. Considerações de segurança¶
7.1 Adulteração do testamento¶
Os testamentos digitais são encadeados por hash e assinados. Se a cadeia de hashes de um testamento estiver rompida, a sucessão deve (MUST) recorrer a uma transferência dirigida pelo principal, sem transferência automática de memória. O principal precisa autorizar explicitamente cada item transferido.
7.2 Sucessão não autorizada¶
As cerimônias de sucessão exigem a autorização do principal. Um agente não pode declarar unilateralmente um sucessor nem iniciar a sucessão. O requisito de três assinaturas nos registros de sucessão (predecessor, sucessor e principal) garante que todas as partes consentem.
7.3 Exfiltração de memória¶
A transferência de memória é um possível vetor de exfiltração de dados. Mitigações:
- Os itens transferidos são classificados e controlados por políticas
- Os itens restritos exigem a aprovação explícita do principal
- Os itens relacionais exigem o consentimento da contraparte
- Todas as transferências são cifradas e registradas
- O manifesto de transferência fornece um inventário completo e assinado
7.4 Riscos da sucessão de emergência¶
A sucessão de emergência opera com salvaguardas reduzidas por causa da pressão do tempo e da indisponibilidade do predecessor:
- Não há assinatura do predecessor no registro de sucessão
- Não há consentimento interativo para a memória relacional
- O estado da memória pode estar desatualizado (do último backup, não do estado atual)
Mitigações:
- O principal precisa autorizar explicitamente a sucessão de emergência
- O sucessor precisa verificar os dados transferidos em relação às últimas raízes de Merkle conhecidas do predecessor
- Uma auditoria pós-sucessão deveria (SHOULD) ser feita em até 24 horas
7.5 Personificação pelo sucessor¶
Um sucessor não deve (MUST NOT) se apresentar como o predecessor. As notificações das contrapartes (seção 4.2, passo 6) garantem que todos os agentes com que interage saibam da sucessão. As implementações deveriam (SHOULD) rejeitar interações em que um sucessor afirme ser o predecessor.
7.6 Separação de domínio¶
Todas as assinaturas segundo esta especificação usam a tag de separação de domínio DCP-SUCCESSION-SIG-v2, o que impede a repetição de assinaturas entre protocolos.
8. Conformidade¶
Uma implementação está em conformidade com o DCP-06 se:
- Oferece suporte à criação de testamentos digitais e às suas versões encadeadas por hash conforme a seção 3
- Implementa os três tipos de cerimônia de sucessão (planejada, forçada e de emergência) conforme a seção 4
- Aplica a classificação da memória e as políticas de transferência conforme a seção 5
- Calcula raízes de Merkle de hash duplo sobre os itens transferidos conforme a seção 5.3
- Mantém a fronteira de identidade entre predecessor e sucessor conforme a seção 6
- Exige a autorização do principal para todas as cerimônias de sucessão
- Gera entradas de auditoria do DCP-03 para todos os eventos de sucessão
- Usa a tag de separação de domínio
DCP-SUCCESSION-SIG-v2em todas as assinaturas
Referências¶
- DCP-01: Identidade e vinculação ao principal
- DCP-03: Cadeia de auditoria e transparência
- DCP-04: Comunicação entre agentes
- DCP-05: Ciclo de vida do agente
- RFC 5869: HKDF
- NIST SP 800-88: Guidelines for Media Sanitization
Esta especificação reconhece que o conhecimento que um agente de IA acumula durante a vida tem valor além do próprio agente. A sucessão garante que esse valor seja preservado de uma geração para a seguinte, de forma seletiva, segura e com plena responsabilização.
Notas de implementação (informativas)¶
Acrescentadas em 25/10/2026. Não normativas. Estas notas não acrescentam nenhum requisito nem mudam nada do que está acima: descrevem como o código de referência em
mainse relaciona com este texto. Onde divergem, prevalece o texto normativo acima.
- Registros em
schemas/v2/. O testamento, o registro de sucessão e o manifesto de transferência de memória que os SDKs constroem e queschemas/v2/valida têm campos diferentes dos exemplos de §3 a §5: por exemplo,testament_versioneprev_testament_hash(GENESISna versão 1 e depoissha256:da versão anterior, somente SHA-256), umamemory_classificationque associa a cada categoriatransfer,retainoudestroy, etransfer_hashno manifesto. As quatro classificações e as quatro políticas de transferência de §3.4 e §5.1 não estão nos schemas. - Assinaturas. Cada registro tem uma única
composite_sig(Ed25519 + ML-DSA-65) de quem detém as chaves passadas, com o contextoDCP-AI.v2.Succession; os SDKs não usam a tagDCP-SUCCESSION-SIG-v2nem produzem as três assinaturas (predecessor, sucessor e principal) de §7.2. - O que as funções auxiliares fazem. Elas constroem e assinam registros.
executeSuccessionsó rejeita umceremony_participantsvazio; não executa nenhuma cerimônia, não verifica a autorização do principal, não verifica o sucessor nem move memória.classifyMemorysepara as entradas pela disposição do testamento:transfervai para o manifesto,destroye as categorias que não estão no testamento são listadas como destruídas, e as entradasretainnão aparecem em nenhuma das duas listas.createMemoryTransferManifestrecebetransfer_hashde quem chama e não calcula a raiz de Merkle de §5.3. A cifragem, as solicitações de consentimento e a notificação das contrapartes (§5.4, §5.5, §4.2) ficam a cargo de quem chama. - Esses registros são declarações assinadas de quem os assina. Os exemplos são ilustrações com marcadores, não fixtures. Para os tipos do SDK, consulte docs/API_REFERENCE.md.