Runs
verify#43
- Event
- pull_request
- Branch
- perf/optimize
- Commit
- 582070a
- Started
- Duration
- 1:30
Synced from GitHub
end-to-end (ubuntu-latest)
Took 1:08Whole log, 98 KB
Current runner version: '2.338.0'
▸ Runner Image Provisioner
Hosted Compute Agent
Version: 20261021.618
Commit: 21505ad2541d5be6135ed84fc33697146cf75b8e
Build Date: 2026-10-21T00:45:21Z
Worker ID: {db2fa700-b308-4869-91cd-a4272f6f2c37}
Region: eastus
Cloud: Azure
▸ Operating System
Ubuntu
24.04.5
LTS
▸ Runner Image
Image: ubuntu-24.04
Version: 20261025.353.1
Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20261025.353/images/ubuntu/Ubuntu2404-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20261025.353
▸ GITHUB_TOKEN Permissions
Contents: read
Metadata: read
Packages: read
Secret source: Actions
Cache mode: write
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v7' (SHA:3d3c42e5aac5ba805825da76410c181273ba90b1)
Download action repository 'actions/setup-python@v7' (SHA:6d4fd22b20465ccc0f7354476588e8df7c9ca0e0)
Complete job name: end-to-end (ubuntu-latest)
▸ Run actions/checkout@v7
with:
repository: Narayan201120/airlock-db
token: ***
ssh-strict: true
ssh-user: git
persist-credentials: true
clean: true
sparse-checkout-cone-mode: true
fetch-depth: 1
fetch-tags: false
show-progress: true
lfs: false
submodules: false
set-safe-directory: true
allow-unsafe-pr-checkout: false
Syncing repository: Narayan201120/airlock-db
▸ Getting Git version info
Working directory is '/home/runner/work/airlock-db/airlock-db'
[command]/usr/bin/git version
git version 2.56.0
Temporarily overriding HOME='/home/runner/work/_temp/3a05eaff-e05f-450d-a1c7-dd4003c66fac' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/airlock-db/airlock-db
Deleting the contents of '/home/runner/work/airlock-db/airlock-db'
▸ Determining repository object format
▸ Initializing the repository
[command]/usr/bin/git init /home/runner/work/airlock-db/airlock-db
hint: Using 'master' as the name for the initial branch. This default branch name
hint: will change to "main" in Git 3.0. To configure the initial branch name
hint: to use in all of your new repositories, which will suppress this warning,
hint: call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/runner/work/airlock-db/airlock-db/.git/
[command]/usr/bin/git remote add origin https://github.com/Narayan201120/airlock-db
▸ Disabling automatic garbage collection
[command]/usr/bin/git config --local gc.auto 0
▸ Setting up auth
Removing SSH command configuration
[command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
Removing HTTP extra header
[command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Removing includeIf entries pointing to credentials config files
[command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
[command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
[command]/usr/bin/git config --file /home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config http.https://github.com/.extraheader AUTHORIZATION: basic ***
[command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path /home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config
[command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path /home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config
[command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config
[command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config
▸ Fetching the repository
[command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +4d84059734f93d4067c73c6469ec4a1bd4249bd4:refs/remotes/pull/1/merge
From https://github.com/Narayan201120/airlock-db
* [new ref] 4d84059734f93d4067c73c6469ec4a1bd4249bd4 -> pull/1/merge
▸ Determining the checkout info
[command]/usr/bin/git sparse-checkout disable
[command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
▸ Checking out the ref
[command]/usr/bin/git checkout --progress --force refs/remotes/pull/1/merge
Note: switching to 'refs/remotes/pull/1/merge'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 4d84059 Merge 582070af979865a7fcca31c91faba9c30d2401cd into b630a06b5e882585234fb367b34195e27b38f145
[command]/usr/bin/git log -1 --format=%H
4d84059734f93d4067c73c6469ec4a1bd4249bd4
▸ Run actions/setup-python@v7
with:
python-version: 3.12
check-latest: false
token: ***
mirror: https://raw.githubusercontent.com/actions/python-versions/main
update-environment: true
allow-prereleases: false
freethreaded: false
▸ Installed versions
Successfully set up CPython (3.12.15)
▸ Run python -m pip install .
python -m pip install .
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
Processing ./.
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting pydantic<3,>=2.6 (from airlock-db==0.4.0)
Downloading pydantic-2.14.1-py3-none-any.whl.metadata (133 kB)
Collecting PyYAML<7,>=6 (from airlock-db==0.4.0)
Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)
Collecting annotated-types>=0.6.0 (from pydantic<3,>=2.6->airlock-db==0.4.0)
Downloading annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.50.1 (from pydantic<3,>=2.6->airlock-db==0.4.0)
Downloading pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.5 kB)
Collecting typing-extensions>=4.16.0 (from pydantic<3,>=2.6->airlock-db==0.4.0)
Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)
Collecting typing-inspection>=0.4.4 (from pydantic<3,>=2.6->airlock-db==0.4.0)
Downloading typing_inspection-0.4.4-py3-none-any.whl.metadata (2.6 kB)
Downloading pydantic-2.14.1-py3-none-any.whl (488 kB)
Downloading pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 52.9 MB/s 0:00:00
Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 807.9/807.9 kB 65.3 MB/s 0:00:00
Downloading annotated_types-0.8.0-py3-none-any.whl (13 kB)
Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)
Downloading typing_inspection-0.4.4-py3-none-any.whl (14 kB)
Building wheels for collected packages: airlock-db
Building wheel for airlock-db (pyproject.toml): started
Building wheel for airlock-db (pyproject.toml): finished with status 'done'
Created wheel for airlock-db: filename=airlock_db-0.4.0-py3-none-any.whl size=117054 sha256=3a48e54413215e8bc6fd6b37ca938297604bc8503b70a9eb5f016110286e707e
Stored in directory: /tmp/pip-ephem-wheel-cache-fq9wtvdg/wheels/5f/43/9e/6abdb3d3b97373118381452e6db5c2a7d825478c746f086efb
Successfully built airlock-db
Installing collected packages: typing-extensions, PyYAML, annotated-types, typing-inspection, pydantic-core, pydantic, airlock-db
Successfully installed PyYAML-6.0.3 airlock-db-0.4.0 annotated-types-0.8.0 pydantic-2.14.1 pydantic-core-2.50.1 typing-extensions-4.16.0 typing-inspection-0.4.4
▸ Run python -m compileall -q src
python -m compileall -q src
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
▸ Run set +e
set +e
python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --anonymize --output-dir ci-builtin
code=$?
set -e
test "$code" -eq 1
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
WARNING: Validation issue for source-4a89217394b32a94 record 5: missing
WARNING: Validation issue for source-4a89217394b32a94 record 6: missing
WARNING: Validation issue for source-4a89217394b32a94 record 7: missing
WARNING: Validation issue for source-4a89217394b32a94 record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for source-4a89217394b32a94 record 10: string_too_short
WARNING: Validation issue for source-4a89217394b32a94 record 12: string_too_short
WARNING: Validation issue for source-4a89217394b32a94 record 13: value_error
WARNING: Validation issue for source-4a89217394b32a94 record 14: value_error
WARNING: Validation issue for source-4a89217394b32a94 record 15: value_error
WARNING: Validation issue for source-4a89217394b32a94 record 16: value_error
WARNING: Validation issue for source-4a89217394b32a94 record 17: value_error
WARNING: Validation issue for source-4a89217394b32a94 record 18: string_too_long
WARNING: Validation issue for source-4a89217394b32a94 record 19: greater_than
WARNING: Validation issue for source-4a89217394b32a94 record 20: greater_than
WARNING: Validation issue for source-4a89217394b32a94 record 21: decimal_max_places
WARNING: Validation issue for source-4a89217394b32a94 record 22: decimal_max_digits
WARNING: Validation issue for source-4a89217394b32a94 record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for source-4a89217394b32a94 record 26: enum
WARNING: Validation issue for source-4a89217394b32a94 record 27: enum
WARNING: Validation issue for source-4a89217394b32a94 record 28: value_error
WARNING: Validation issue for source-4a89217394b32a94 record 29: string_pattern_mismatch
WARNING: Validation issue for source-4a89217394b32a94 record 30: string_too_long
WARNING: Validation issue for source-4a89217394b32a94 record 31: string_too_long
WARNING: Validation issue for source-4a89217394b32a94 record 32: is_instance_of
Records checked: 32
Valid: 8; invalid: 24
SQLite: target_migration.db (committed)
Report: airlock_report.html
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-builtin \
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-builtin \
--expected-checked 32 --expected-valid 8 --expected-invalid 24 --expected-rows 8 \
--anonymized-field account_id --expect-type-mismatch-note
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
{
"anonymized_field_token_violations": {
"account_id": 0
},
"invalid_records": 24,
"jsonl_rows": null,
"posted_at_index": true,
"records_checked": 32,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 8,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": true,
"valid_records": 8
}
▸ Run python main.py --input examples/real_data/online_retail_sample.jsonl \
python main.py --input examples/real_data/online_retail_sample.jsonl \
--config examples/real_data/online_retail_schema.json --anonymize --output-dir ci-real
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
Records checked: 10
Valid: 10; invalid: 0
SQLite: target_migration.db (committed)
Report: airlock_report.html
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-real \
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-real \
--expected-checked 10 --expected-valid 10 --expected-invalid 0 --expected-rows 10 \
--anonymized-field customer_id
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
{
"anonymized_field_token_violations": {
"customer_id": 0
},
"invalid_records": 0,
"jsonl_rows": null,
"posted_at_index": null,
"records_checked": 10,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 10,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": false,
"valid_records": 10
}
▸ Run python main.py --input examples/real_data/online_retail_sample.jsonl \
python main.py --input examples/real_data/online_retail_sample.jsonl \
--config examples/real_data/online_retail_schema.json --anonymize \
--output-format jsonl --output-dir ci-jsonl
test ! -f ci-jsonl/target_migration.db
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-jsonl \
--skip-sqlite --expected-checked 10 --expected-valid 10 --expected-invalid 0 \
--expected-jsonl-rows 10
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
Records checked: 10
Valid: 10; invalid: 0
SQLite: not used (--output-format jsonl)
JSONL: target_migration.jsonl (10 records)
Report: airlock_report.html
{
"anonymized_field_token_violations": null,
"invalid_records": 0,
"jsonl_rows": 10,
"posted_at_index": null,
"records_checked": 10,
"report_standalone": true,
"sqlite_integrity": null,
"sqlite_rows": null,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": false,
"valid_records": 10
}
▸ Run python - <<'PY'
python - <<'PY'
import csv
header = ["transaction_id", "account_id", "posted_at", "amount", "currency",
"transaction_type", "status", "counterparty", "description"]
rows = [
["3f8a1c2e-4b6d-4e9a-8f1c-2d5e7a9b0c11", "ACC-1001", "2026-01-15T09:30:00Z",
"125.50", "USD", "DEBIT", "POSTED", "Northwind, Ltd", "Monthly supplies"],
["8b2d4f6a-1c3e-4a5b-9d7e-0f1a2b3c4d5e", "ACC_2200", "2026-02-03T16:45:00+02:00",
"89.99", "EUR", "CREDIT", "POSTED", "Blue Yonder Airlines", ""],
["not-a-uuid", "ACC-1001", "2026-03-01T10:00:00Z", "10.00", "USD", "DEBIT",
"POSTED", "Example Co", ""],
]
with open("ci-basic.csv", "w", encoding="utf-8-sig", newline="") as stream:
writer = csv.writer(stream)
writer.writerow(header)
writer.writerows(rows)
PY
python main.py --input ci-basic.csv --output-dir ci-csv || test $? -eq 1
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-csv \
--expected-checked 3 --expected-valid 2 --expected-invalid 1 --expected-rows 2
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
WARNING: Validation issue for ci-basic.csv record 3: value_error
Records checked: 3
Valid: 2; invalid: 1
SQLite: ci-csv/target_migration.db (committed)
Report: ci-csv/airlock_report.html
{
"anonymized_field_token_violations": null,
"invalid_records": 1,
"jsonl_rows": null,
"posted_at_index": true,
"records_checked": 3,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 2,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": false,
"valid_records": 2
}
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_archive_input.py ci-archives
python .cursor/skills/verify-airlock-db/scripts/verify_archive_input.py ci-archives
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
archive_input_ok scenarios=6 evidence=/home/runner/work/airlock-db/airlock-db/ci-archives/archive_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_schema_infer.py ci-infer
python .cursor/skills/verify-airlock-db/scripts/verify_schema_infer.py ci-infer
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
schema_infer_ok scenarios=8 evidence=/home/runner/work/airlock-db/airlock-db/ci-infer/schema_infer_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_handoff.py ci-handoff
python .cursor/skills/verify-airlock-db/scripts/verify_handoff.py ci-handoff
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
verify_handoff_ok scenarios=10 evidence=/home/runner/work/airlock-db/airlock-db/ci-handoff/verify_handoff_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_target.py ci-jsonl-verify
python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_target.py ci-jsonl-verify
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
jsonl_target_ok scenarios=10 evidence=/home/runner/work/airlock-db/airlock-db/ci-jsonl-verify/jsonl_target_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_source_manifest.py ci-source-manifest
python .cursor/skills/verify-airlock-db/scripts/verify_source_manifest.py ci-source-manifest
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
source_manifest_ok scenarios=9 evidence=/home/runner/work/airlock-db/airlock-db/ci-source-manifest/source_manifest_verification.json
▸ Run python - <<'PY'
python - <<'PY'
import sqlite3
columns = ("transaction_id TEXT, account_id TEXT, posted_at TEXT, amount TEXT, "
"currency TEXT, transaction_type TEXT, status TEXT, counterparty TEXT, "
"description TEXT")
connection = sqlite3.connect("ci-multi.db")
connection.execute(f"CREATE TABLE a ({columns})")
connection.execute(f"CREATE TABLE b ({columns})")
connection.execute(
"INSERT INTO a VALUES ('3f8a1c2e-4b6d-4e9a-8f1c-2d5e7a9b0c11', 'ACC-1001', "
"'2026-01-15T09:30:00Z', '125.50', 'USD', 'DEBIT', 'POSTED', 'Northwind', NULL)")
connection.execute(
"INSERT INTO b VALUES ('8b2d4f6a-1c3e-4a5b-9d7e-0f1a2b3c4d5e', 'ACC_2200', "
"'2026-02-03T16:45:00+02:00', '89.99', 'EUR', 'CREDIT', 'POSTED', 'Blue Yonder', NULL)")
connection.execute(
"INSERT INTO b VALUES ('not-a-uuid', 'ACC-1001', '2026-03-01T10:00:00Z', "
"'10.00', 'USD', 'DEBIT', 'POSTED', 'Example', NULL)")
connection.commit()
connection.close()
PY
python main.py --source-db ci-multi.db --source-table a --source-table b --output-dir ci-multi || test $? -eq 1
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-multi \
--expected-checked 3 --expected-valid 2 --expected-invalid 1 --expected-rows 2
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
WARNING: Validation issue for ci-multi.db (b) record 2: value_error
Records checked: 3
Valid: 2; invalid: 1
SQLite: ci-multi/target_migration.db (committed)
Report: ci-multi/airlock_report.html
{
"anonymized_field_token_violations": null,
"invalid_records": 1,
"jsonl_rows": null,
"posted_at_index": true,
"records_checked": 3,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 2,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": false,
"valid_records": 2
}
▸ Run python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-repair || test $? -eq 1
python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-repair || test $? -eq 1
printf 'd\nd\nq\n' | python main.py repair --error-log ci-repair/airlock_errors.jsonl --constraints examples/constraints.json | grep -q '0 corrected, 2 dropped'
printf 'q\n' | python main.py repair --error-log ci-repair/airlock_errors.jsonl --constraints examples/constraints.json | grep -q 'Resumed: 2'
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
WARNING: Validation issue for examples/messy_transactions.json record 5: missing
WARNING: Validation issue for examples/messy_transactions.json record 6: missing
WARNING: Validation issue for examples/messy_transactions.json record 7: missing
WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short
WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short
WARNING: Validation issue for examples/messy_transactions.json record 13: value_error
WARNING: Validation issue for examples/messy_transactions.json record 14: value_error
WARNING: Validation issue for examples/messy_transactions.json record 15: value_error
WARNING: Validation issue for examples/messy_transactions.json record 16: value_error
WARNING: Validation issue for examples/messy_transactions.json record 17: value_error
WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than
WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than
WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places
WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits
WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for examples/messy_transactions.json record 26: enum
WARNING: Validation issue for examples/messy_transactions.json record 27: enum
WARNING: Validation issue for examples/messy_transactions.json record 28: value_error
WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch
WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of
Records checked: 32
Valid: 8; invalid: 24
SQLite: ci-repair/target_migration.db (committed)
Repair log: ci-repair/airlock_errors.jsonl
Report: ci-repair/airlock_report.html
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_repair_summary.py ci-repair-summary
python .cursor/skills/verify-airlock-db/scripts/verify_repair_summary.py ci-repair-summary
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
repair_summary_ok scenarios=8 evidence=/home/runner/work/airlock-db/airlock-db/ci-repair-summary/repair_summary_verification.json
▸ Run python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-decisions || test $? -eq 1
python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-decisions || test $? -eq 1
printf '{"entry": 1, "action": "drop"}\n{"entry": 2, "action": "set", "field": "amount", "value": "5.00"}\n{"entry": 3, "action": "set", "field": "status", "value": "POSTED"}\n' > ci-decisions.jsonl
python main.py repair --error-log ci-decisions/airlock_errors.jsonl --constraints examples/constraints.json --decisions ci-decisions.jsonl
python main.py report --output-dir ci-decisions | grep -q 'Repair outcomes: 2 corrected, 1 dropped'
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
WARNING: Validation issue for examples/messy_transactions.json record 5: missing
WARNING: Validation issue for examples/messy_transactions.json record 6: missing
WARNING: Validation issue for examples/messy_transactions.json record 7: missing
WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short
WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short
WARNING: Validation issue for examples/messy_transactions.json record 13: value_error
WARNING: Validation issue for examples/messy_transactions.json record 14: value_error
WARNING: Validation issue for examples/messy_transactions.json record 15: value_error
WARNING: Validation issue for examples/messy_transactions.json record 16: value_error
WARNING: Validation issue for examples/messy_transactions.json record 17: value_error
WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than
WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than
WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places
WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits
WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for examples/messy_transactions.json record 26: enum
WARNING: Validation issue for examples/messy_transactions.json record 27: enum
WARNING: Validation issue for examples/messy_transactions.json record 28: value_error
WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch
WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of
Records checked: 32
Valid: 8; invalid: 24
SQLite: ci-decisions/target_migration.db (committed)
Repair log: ci-decisions/airlock_errors.jsonl
Report: ci-decisions/airlock_report.html
Repair log: ci-decisions/airlock_errors.jsonl
Schema: FinancialTransaction; target: ci-decisions/target_migration.db
Each rejected row will be reviewed interactively. Type q to finish this session.
Corrected record passed validation and was staged with its resume checkpoint.
Corrected record passed validation and was staged with its resume checkpoint.
Repair complete: 2 corrected, 1 dropped, 0 non-repairable entries.
SQLite: ci-decisions/target_migration.db (2 inserted, 0 duplicates, 0 updated; 3 repair decisions saved)
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_decisions_dry_run.py ci-decisions-dry-run
python .cursor/skills/verify-airlock-db/scripts/verify_decisions_dry_run.py ci-decisions-dry-run
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
decisions_dry_run_ok scenarios=5 evidence=/home/runner/work/airlock-db/airlock-db/ci-decisions-dry-run/decisions_dry_run_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_dry_run.py ci-dry-run
python .cursor/skills/verify-airlock-db/scripts/verify_dry_run.py ci-dry-run
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
dry_run_ok scenarios=8 evidence=/home/runner/work/airlock-db/airlock-db/ci-dry-run/dry_run_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_config_check.py ci-config-check
python .cursor/skills/verify-airlock-db/scripts/verify_config_check.py ci-config-check
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
config_check_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-config-check/config_check_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_input_encoding.py ci-input-encoding
python .cursor/skills/verify-airlock-db/scripts/verify_input_encoding.py ci-input-encoding
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
input_encoding_ok scenarios=9 evidence=/home/runner/work/airlock-db/airlock-db/ci-input-encoding/input_encoding_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_run_compare.py ci-run-compare
python .cursor/skills/verify-airlock-db/scripts/verify_run_compare.py ci-run-compare
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
run_compare_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-run-compare/run_compare_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_dynamic_constraints.py ci-dynamic-constraints
python .cursor/skills/verify-airlock-db/scripts/verify_dynamic_constraints.py ci-dynamic-constraints
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
dynamic_constraints_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-dynamic-constraints/dynamic_constraints_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_xml_equivalence.py \
python .cursor/skills/verify-airlock-db/scripts/verify_xml_equivalence.py \
examples/messy_transactions.json --constraints examples/constraints.json
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
records=8
table=transactions
xml_equals_json=true
▸ Run python - <<'PY'
python - <<'PY'
import json
import sqlite3
rows = json.load(open("examples/messy_transactions.json", encoding="utf-8"))
chosen = [rows[0], rows[3], rows[4], rows[8]]
connection = sqlite3.connect("legacy-source.db")
connection.execute(
"CREATE TABLE transactions (transaction_id TEXT, account_id TEXT, "
"posted_at TEXT, amount TEXT, currency TEXT, transaction_type TEXT, "
"status TEXT, counterparty TEXT, description TEXT)"
)
for row in chosen:
amount = row.get("amount")
if isinstance(amount, float):
amount = repr(amount)
connection.execute(
"INSERT INTO transactions VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
(
row.get("transaction_id"),
row.get("account_id"),
row.get("posted_at"),
amount,
row.get("currency"),
row.get("transaction_type"),
row.get("status"),
row.get("counterparty"),
row.get("description"),
),
)
connection.commit()
connection.close()
PY
python main.py --source-db legacy-source.db --output-dir ci-source-db || test $? -eq 1
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-source-db \
--expected-checked 4 --expected-valid 2 --expected-invalid 2 --expected-rows 2
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
WARNING: Validation issue for legacy-source.db (transactions) record 3: uuid_type (type mismatch in transaction_id; no automatic conversion applied)
WARNING: Validation issue for legacy-source.db (transactions) record 4: value_error
Records checked: 4
Valid: 2; invalid: 2
SQLite: ci-source-db/target_migration.db (committed)
Report: ci-source-db/airlock_report.html
{
"anonymized_field_token_violations": null,
"invalid_records": 2,
"jsonl_rows": null,
"posted_at_index": true,
"records_checked": 4,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 2,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": true,
"valid_records": 2
}
▸ Run python scripts/soak_migration.py --rows 100000 --max-peak-rss-mib 300 ci-soak
python scripts/soak_migration.py --rows 100000 --max-peak-rss-mib 300 ci-soak
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
Generated 100,000 JSONL records (26,410,890 bytes).
run 1/1: 4.315s, 23,177 records/s, peak RSS 41.2 MiB (getrusage)
soak_ok rows=100000 runs=1 seconds=4.315 peak_rss_mib=41.2 evidence=/home/runner/work/airlock-db/airlock-db/ci-soak/soak_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_cli_wins.py ci-cli-wins
python .cursor/skills/verify-airlock-db/scripts/verify_cli_wins.py ci-cli-wins
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
cli_wins_ok scenarios=11 evidence=/home/runner/work/airlock-db/airlock-db/ci-cli-wins/cli_wins_verification.json
▸ Run printf '{"ticket_id": "TKT-000001", "customer_name": "Alice", "priority": "HIGH", "opened_at": "2026-01-05T08:00:00Z"}\n' > ci-ticket.jsonl
printf '{"ticket_id": "TKT-000001", "customer_name": "Alice", "priority": "HIGH", "opened_at": "2026-01-05T08:00:00Z"}\n' > ci-ticket.jsonl
python main.py --input ci-ticket.jsonl --config examples/schema_config.yaml --output-dir ci-yaml
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
Records checked: 1
Valid: 1; invalid: 0
SQLite: ci-yaml/target_migration.db (committed)
Report: ci-yaml/airlock_report.html
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_transforms.py ci-transforms
python .cursor/skills/verify-airlock-db/scripts/verify_transforms.py ci-transforms
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
transforms_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-transforms/transforms_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_fixed_width.py ci-fixed-width
python .cursor/skills/verify-airlock-db/scripts/verify_fixed_width.py ci-fixed-width
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
fixed_width_ok scenarios=9 evidence=/home/runner/work/airlock-db/airlock-db/ci-fixed-width/fixed_width_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_reader.py ci-reader-edges
python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_reader.py ci-reader-edges
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
jsonl_csv_reader_ok checks=73
▸ Run python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --commit-every 4 --output-dir ci-checkpoint || test $? -eq 1
python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --commit-every 4 --output-dir ci-checkpoint || test $? -eq 1
python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --commit-every 4 --resume --output-dir ci-checkpoint > ci-resume.log || test $? -eq 1
grep -q 'Resumed: 32' ci-resume.log
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-checkpoint \
--expected-checked 32 --expected-valid 8 --expected-invalid 24 --expected-rows 8
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
WARNING: Validation issue for examples/messy_transactions.json record 5: missing
WARNING: Validation issue for examples/messy_transactions.json record 6: missing
WARNING: Validation issue for examples/messy_transactions.json record 7: missing
WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short
WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short
WARNING: Validation issue for examples/messy_transactions.json record 13: value_error
WARNING: Validation issue for examples/messy_transactions.json record 14: value_error
WARNING: Validation issue for examples/messy_transactions.json record 15: value_error
WARNING: Validation issue for examples/messy_transactions.json record 16: value_error
WARNING: Validation issue for examples/messy_transactions.json record 17: value_error
WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than
WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than
WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places
WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits
WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for examples/messy_transactions.json record 26: enum
WARNING: Validation issue for examples/messy_transactions.json record 27: enum
WARNING: Validation issue for examples/messy_transactions.json record 28: value_error
WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch
WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of
Records checked: 32
Valid: 8; invalid: 24
SQLite: ci-checkpoint/target_migration.db (committed)
Report: ci-checkpoint/airlock_report.html
WARNING: Validation issue for examples/messy_transactions.json record 5: missing
WARNING: Validation issue for examples/messy_transactions.json record 6: missing
WARNING: Validation issue for examples/messy_transactions.json record 7: missing
WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short
WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short
WARNING: Validation issue for examples/messy_transactions.json record 13: value_error
WARNING: Validation issue for examples/messy_transactions.json record 14: value_error
WARNING: Validation issue for examples/messy_transactions.json record 15: value_error
WARNING: Validation issue for examples/messy_transactions.json record 16: value_error
WARNING: Validation issue for examples/messy_transactions.json record 17: value_error
WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than
WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than
WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places
WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits
WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for examples/messy_transactions.json record 26: enum
WARNING: Validation issue for examples/messy_transactions.json record 27: enum
WARNING: Validation issue for examples/messy_transactions.json record 28: value_error
WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch
WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of
{
"anonymized_field_token_violations": null,
"invalid_records": 24,
"jsonl_rows": null,
"posted_at_index": true,
"records_checked": 32,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 8,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": true,
"valid_records": 8
}
▸ Run python scripts/perf_budget.py --work-dir ci-perf-budget
python scripts/perf_budget.py --work-dir ci-perf-budget
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
valid-migration: exit=0 0.27s 7,540 records/s
invalid-migration: exit=1 0.29s
verify: exit=0 0.29s
perf_budget_ok workloads=3
▸ Run set -euo pipefail
set -euo pipefail
rm -rf ci-wheelhouse ci-venv ci-wheelhouse-missing ci-wheelhouse-corrupt ci-wheelhouse-sdist ci-airgap
python -m pip wheel --no-deps --wheel-dir ci-wheelhouse .
python -m pip download --only-binary=:all: --dest ci-wheelhouse pydantic "PyYAML>=6,<7"
python scripts/check_wheelhouse.py ci-wheelhouse
python scripts/check_wheelhouse.py ci-wheelhouse --verify
python -m venv ci-venv
if [ -x ci-venv/bin/python ]; then venv_bin=ci-venv/bin; else venv_bin=ci-venv/Scripts; fi
"$venv_bin/python" -m pip install --no-index --find-links ci-wheelhouse airlock-db
set +e
"$venv_bin/python" -m airlock_db --input examples/messy_transactions.json --output-dir ci-airgap
code=$?
set -e
test "$code" -eq 1
test -f ci-airgap/airlock_summary.json
test -f ci-airgap/airlock_report.html
"$venv_bin/airlock-db" --help > /dev/null
python scripts/check_wheelhouse.py ci-wheelhouse --verify
# A wheelhouse without the local wheel fails the closure check.
cp -r ci-wheelhouse ci-wheelhouse-missing
rm ci-wheelhouse-missing/airlock_db-*.whl
set +e
python scripts/check_wheelhouse.py ci-wheelhouse-missing
missing=$?
set -e
test "$missing" -eq 1
# A changed byte fails manifest verification.
cp -r ci-wheelhouse ci-wheelhouse-corrupt
changed_wheel=$(ls ci-wheelhouse-corrupt/*.whl | grep -v '/airlock_db-' | tail -n 1)
printf 'x' | dd of="$changed_wheel" bs=1 seek=100 conv=notrunc status=none
set +e
python scripts/check_wheelhouse.py ci-wheelhouse-corrupt --verify
changed=$?
set -e
test "$changed" -eq 1
# A non-wheel file fails the check with the documented message.
cp -r ci-wheelhouse ci-wheelhouse-sdist
: > ci-wheelhouse-sdist/example-package-1.0.tar.gz
set +e
python scripts/check_wheelhouse.py ci-wheelhouse-sdist
sdist=$?
set -e
test "$sdist" -eq 1
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
Processing ./.
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: airlock-db
Building wheel for airlock-db (pyproject.toml): started
Building wheel for airlock-db (pyproject.toml): finished with status 'done'
Created wheel for airlock-db: filename=airlock_db-0.4.0-py3-none-any.whl size=117054 sha256=e10860149866f91fcef6ed50208dbfb9bd3448c6091ad416f56d5941a6f44fd7
Stored in directory: /tmp/pip-ephem-wheel-cache-p6p6vzh9/wheels/5f/43/9e/6abdb3d3b97373118381452e6db5c2a7d825478c746f086efb
Successfully built airlock-db
Collecting pydantic
Using cached pydantic-2.14.1-py3-none-any.whl.metadata (133 kB)
Collecting PyYAML<7,>=6
Using cached pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)
Collecting annotated-types>=0.6.0 (from pydantic)
Using cached annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.50.1 (from pydantic)
Using cached pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.5 kB)
Collecting typing-extensions>=4.16.0 (from pydantic)
Using cached typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)
Collecting typing-inspection>=0.4.4 (from pydantic)
Using cached typing_inspection-0.4.4-py3-none-any.whl.metadata (2.6 kB)
Using cached pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB)
Using cached pydantic-2.14.1-py3-none-any.whl (488 kB)
Using cached pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB)
Using cached annotated_types-0.8.0-py3-none-any.whl (13 kB)
Using cached typing_extensions-4.16.0-py3-none-any.whl (45 kB)
Using cached typing_inspection-0.4.4-py3-none-any.whl (14 kB)
Saved ./ci-wheelhouse/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Saved ./ci-wheelhouse/pydantic-2.14.1-py3-none-any.whl
Saved ./ci-wheelhouse/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Saved ./ci-wheelhouse/annotated_types-0.8.0-py3-none-any.whl
Saved ./ci-wheelhouse/typing_extensions-4.16.0-py3-none-any.whl
Saved ./ci-wheelhouse/typing_inspection-0.4.4-py3-none-any.whl
Successfully downloaded PyYAML pydantic pydantic-core annotated-types typing-extensions typing-inspection
Wheelhouse ci-wheelhouse: 7 wheels, 3,646,935 bytes.
wheelhouse_ok wheels=7 manifest=ci-wheelhouse/install_manifest.json
Wheelhouse ci-wheelhouse: 7 wheels, 3,646,935 bytes.
wheelhouse_ok wheels=7 manifest=ci-wheelhouse/install_manifest.json verified=1
Looking in links: ci-wheelhouse
Processing ./ci-wheelhouse/airlock_db-0.4.0-py3-none-any.whl
Processing ./ci-wheelhouse/pydantic-2.14.1-py3-none-any.whl (from airlock-db)
Processing ./ci-wheelhouse/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (from airlock-db)
Processing ./ci-wheelhouse/annotated_types-0.8.0-py3-none-any.whl (from pydantic<3,>=2.6->airlock-db)
Processing ./ci-wheelhouse/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from pydantic<3,>=2.6->airlock-db)
Processing ./ci-wheelhouse/typing_extensions-4.16.0-py3-none-any.whl (from pydantic<3,>=2.6->airlock-db)
Processing ./ci-wheelhouse/typing_inspection-0.4.4-py3-none-any.whl (from pydantic<3,>=2.6->airlock-db)
Installing collected packages: typing-extensions, PyYAML, annotated-types, typing-inspection, pydantic-core, pydantic, airlock-db
Successfully installed PyYAML-6.0.3 airlock-db-0.4.0 annotated-types-0.8.0 pydantic-2.14.1 pydantic-core-2.50.1 typing-extensions-4.16.0 typing-inspection-0.4.4
WARNING: Validation issue for examples/messy_transactions.json record 5: missing
WARNING: Validation issue for examples/messy_transactions.json record 6: missing
WARNING: Validation issue for examples/messy_transactions.json record 7: missing
WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short
WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short
WARNING: Validation issue for examples/messy_transactions.json record 13: value_error
WARNING: Validation issue for examples/messy_transactions.json record 14: value_error
WARNING: Validation issue for examples/messy_transactions.json record 15: value_error
WARNING: Validation issue for examples/messy_transactions.json record 16: value_error
WARNING: Validation issue for examples/messy_transactions.json record 17: value_error
WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than
WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than
WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places
WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits
WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for examples/messy_transactions.json record 26: enum
WARNING: Validation issue for examples/messy_transactions.json record 27: enum
WARNING: Validation issue for examples/messy_transactions.json record 28: value_error
WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch
WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long
WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of
Records checked: 32
Valid: 8; invalid: 24
SQLite: ci-airgap/target_migration.db (committed)
Report: ci-airgap/airlock_report.html
Wheelhouse ci-wheelhouse: 7 wheels, 3,646,935 bytes.
wheelhouse_ok wheels=7 manifest=ci-wheelhouse/install_manifest.json verified=1
wheelhouse: missing the local project wheel airlock_db-*.whl; build it with python -m pip wheel --no-deps --wheel-dir WHEELHOUSE .
wheelhouse_failed failures=1
wheelhouse: typing_inspection-0.4.4-py3-none-any.whl: the SHA-256 hash differs from the manifest
Wheelhouse ci-wheelhouse-corrupt: 7 wheels, 3,646,935 bytes.
wheelhouse_failed failures=1
wheelhouse: example-package-1.0.tar.gz: not a wheel; collect dependencies with pip download --only-binary=:all:
wheelhouse_failed failures=1
Post job cleanup.
Post job cleanup.
[command]/usr/bin/git version
git version 2.56.0
Temporarily overriding HOME='/home/runner/work/_temp/512641e5-671a-4ff3-b46e-95687164be85' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/airlock-db/airlock-db
Removing SSH command configuration
[command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
Removing HTTP extra header
[command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Removing includeIf entries pointing to credentials config files
[command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path
includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path
includeif.gitdir:/github/workspace/.git.path
includeif.gitdir:/github/workspace/.git/worktrees/*.path
[command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path
/home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config
[command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path \/home\/runner\/work\/_temp\/git\-credentials\-cabffe3d\-cbd2\-45b6\-bc54\-e566c8ecda5f\.config
[command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path
/home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config
[command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path \/home\/runner\/work\/_temp\/git\-credentials\-cabffe3d\-cbd2\-45b6\-bc54\-e566c8ecda5f\.config
[command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git.path
/github/runner_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config
[command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git.path \/github\/runner_temp\/git\-credentials\-cabffe3d\-cbd2\-45b6\-bc54\-e566c8ecda5f\.config
[command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path
/github/runner_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config
[command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path \/github\/runner_temp\/git\-credentials\-cabffe3d\-cbd2\-45b6\-bc54\-e566c8ecda5f\.config
[command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
Removing credentials config '/home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config'
Cleaning up orphan processes