GitHub
recordFromGitHubPullRequest(
event: GitHubPullRequestEvent,
references?: ArtifactRef[],
details?: GitHubPullRequestDetails
): RecordEventO mapeador aceita dados já obtidos. O evento deve descrever um pull request fechado e integrado em um owner/repository identificado, com identidade numérica do pull request, autor, datas e referências das branches de origem e destino. Os detalhes opcionais contêm fatos explícitos de commits e arquivos.
O Record resultante usa:
kind: 'github.pull_request.merged'occurred_ata partir demerged_at- o repositório e o ID de banco de dados do pull request como identidade da origem
- um ID estável de
recordId('github', 'pull_request', '<pull-request-id>:merged') - as referências de artefatos fornecidas por quem chama a API, sem alterações
O autor do pull request é um ator de nível superior. Se a pessoa que o integrou for diferente, ela é adicionada como segundo ator. Um usuário do GitHub cujo type exato é Bot é mapeado como agente; outros usuários são mapeados como humanos. IDs externos de atores têm o formato github:<numeric-id>.
O data do Record contém número, título, estado e autor do pull request, integrador opcional, datas de criação/atualização/integração e referências e SHAs das branches de origem e destino. Quando presentes na entrada, também inclui nomes de labels, referências dos atores solicitados para revisão, o valor de html_url como url, commits e nomes de arquivos alterados com status, adições e exclusões.
O mapeador valida o evento e os detalhes opcionais e delega para createRecord. Entradas inválidas lançam LangDriftError com código ARTIFACT_INVALID.
Ele não:
- recebe webhooks nem chama APIs do GitHub
- autentica ou instala uma GitHub App
- busca commits, arquivos, usuários ou revisões
- extrai links de Spec ou Ticket da prosa
- infere impacto, um Vision Target ou Drift
Fatos do GitHub se tornam Records. Qualquer Drift Event continua sendo uma interpretação separada e explícita, sustentada por evidências.