Python / Execução registrada
Git Collaboration Audit
An audit of Git history, authors, co-author trailers, file changes, and collaboration associated with substantive changes.
O que foi verificado
Os comandos abaixo executam o código do repositório e conferem os cenários registrados. A evidência cobre esses cenários na versão indicada; não comprova todas as entradas possíveis nem uso em produção.
A evidência abaixo pertence à versão registrada. A consulta usa a API pública do GitHub e pode atingir o limite de requisições.
Comandos e resultados reais
Resultados extraídos dos logs do Actions. Saídas extensas podem estar resumidas; a execução original e o artefato contêm o registro completo.
Baixar relatório JSONPASS python main.py . --limit 10
Saída: 0 · esperada: 0 · 0.051 s
$ bash -e -o pipefail -c python main.py . --limit 10
{
"repository": "/home/runner/work/pair-extraordinaire-badge/pair-extraordinaire-badge",
"ref": "HEAD",
"inspected": 1,
"collaborativeCommits": 0,
"malformedTrailers": 0,
"coAuthorCounts": {},
"commits": [
{
"sha": "6674d0f4130d107e0e4eb0b077ba88bb8038f172",
"author": {
"name": "brunnodev",
"email": "contato@brunnodev.store"
},
"timestamp": "2026-10-10T02:28:05-03:00",
"subject": "Exclude proof helpers from language statistics",
"coAuthors": [],
"invalidTrailers": [],
"changes": [
{
"path": ".gitattributes",
"added": 1,
"removed": 0
},
{
"path": ".github/workflows/proof.yml",
"added": 38,
"removed": 0
},
{
"path": ".github/workflows/ruby.yml",
"added": 11,
"removed": 0
},
{
"path": ".github/workflows/verify.yml",
"added": 18,
"removed": 0
},
{
"path": ".gitignore",
"added": 31,
"removed": 0
},
{
"path": ".proof/record.py",
"added": 151,
"removed": 0
},
{
"path": ".proof/scenarios.json",
"added": 48,
"removed": 0
},
{
"path": ".proof/summary.py",
"added": 14,
"removed": 0
},
{
"path": "LICENSE",
"added": 21,
"removed": 0
},
{
"path": "README.md",
"added": 39,
"removed": 0
},
{
"path": "audit.rb",
"added": 17,
"removed": 0
},
{
"path": "cloud/sync.py",
"added": 204,
"removed": 0
},
{
"path": "cloud/test_receipts.py",
"added": 73,
"removed": 0
},
{
"path": "cloud/test_sync.py",
"added": 37,
"removed": 0
},
{
"path": "docs/proof/evidence.json",
"added": 66,
"removed": 0
},
{
"path": "docs/proof/execution.svg",
"added": 51,
"removed": 0
},
{
"path": "docs/proof/transcript.txt",
"added": 268,
"removed": 0
},
{
"path": "lib/git_audit.rb",
"added": 86,
"removed": 0
},
{
"path": "main.py",
"added": 111,
"removed": 0
},
{
"path": "test/git_audit_test.rb",
"added": 24,
"removed": 0
}
],
"substantiveFiles": 20
}
]
}
PASS python -m unittest discover -v -s cloud
Saída: 0 · esperada: 0 · 0.452 s
$ bash -e -o pipefail -c python -m unittest discover -v -s cloud test_confirmed_receipt_marks_the_report_sent (test_receipts.ReceiptTests.test_confirmed_receipt_marks_the_report_sent) ... ok test_events_reject_empty_values_of_the_wrong_type (test_receipts.ReceiptTests.test_events_reject_empty_values_of_the_wrong_type) ... ok test_invalid_receipts_keep_the_report_pending (test_receipts.ReceiptTests.test_invalid_receipts_keep_the_report_pending) ... ok test_omitted_events_and_empty_list_have_the_same_key (test_receipts.ReceiptTests.test_omitted_events_and_empty_list_have_the_same_key) ... ok test_conflicting_key_cannot_overwrite_a_report (test_sync.OutboxTests.test_conflicting_key_cannot_overwrite_a_report) ... ok test_retries_keep_reports_until_confirmed (test_sync.OutboxTests.test_retries_keep_reports_until_confirmed) ... ok ---------------------------------------------------------------------- Ran 6 tests in 0.068s OK
PASS Audit this real repository history
Saída: 0 · esperada: 0 · 0.051 s
$ python main.py . --limit 20
{
"repository": "/home/runner/work/pair-extraordinaire-badge/pair-extraordinaire-badge",
"ref": "HEAD",
"inspected": 1,
"collaborativeCommits": 0,
"malformedTrailers": 0,
"coAuthorCounts": {},
"commits": [
{
"sha": "6674d0f4130d107e0e4eb0b077ba88bb8038f172",
"author": {
"name": "brunnodev",
"email": "contato@brunnodev.store"
},
"timestamp": "2026-10-10T02:28:05-03:00",
"subject": "Exclude proof helpers from language statistics",
"coAuthors": [],
"invalidTrailers": [],
"changes": [
{
"path": ".gitattributes",
"added": 1,
"removed": 0
},
{
"path": ".github/workflows/proof.yml",
"added": 38,
"removed": 0
},
{
"path": ".github/workflows/ruby.yml",
"added": 11,
"removed": 0
},
{
"path": ".github/workflows/verify.yml",
"added": 18,
"removed": 0
},
{
"path": ".gitignore",
"added": 31,
"removed": 0
},
{
"path": ".proof/record.py",
"added": 151,
"removed": 0
},
{
"path": ".proof/scenarios.json",
"added": 48,
"removed": 0
},
{
"path": ".proof/summary.py",
"added": 14,
"removed": 0
},
{
"path": "LICENSE",
"added": 21,
"removed": 0
},
{
"path": "README.md",
"added": 39,
"removed": 0
},
{
"path": "audit.rb",
"added": 17,
"removed": 0
},
{
"path": "cloud/sync.py",
"added": 204,
"removed": 0
},
{
"path": "cloud/test_receipts.py",
"added": 73,
"removed": 0
},
{
"path": "cloud/test_sync.py",
"added": 37,
"removed": 0
},
{
"path": "docs/proof/evidence.json",
"added": 66,
"removed": 0
},
{
"path": "docs/proof/execution.svg",
"added": 51,
"removed": 0
},
{
"path": "docs/proof/transcript.txt",
"added": 268,
"removed": 0
},
{
"path": "lib/git_audit.rb",
"added": 86,
"removed": 0
},
{
"path": "main.py",
"added": 111,
"removed": 0
},
{
"path": "test/git_audit_test.rb",
"added": 24,
"removed": 0
}
],
"substantiveFiles": 20
}
]
}
Reproduzir a execução
Os pré-requisitos e as entradas são públicos no repositório. Faça checkout da versão exata antes de executar os cenários.
git clone https://github.com/brunnojob/pair-extraordinaire-badge.git cd pair-extraordinaire-badge git checkout 6674d0f4130d107e0e4eb0b077ba88bb8038f172 python .proof/record.py