Event
push
Branch
main
Commit
5822154
Started
Duration
1:22

Synced from GitHub

end-to-end (ubuntu-latest)

SuccessTook 0:58
Whole log, 97 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: {57463f71-101d-44e2-a1f6-e7c72fa66849}
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/89de5f9b-8c1f-4ef3-ad0e-537f33d8e636' 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-6fbdb144-2f00-4ac9-b4d3-4fb277ce9d9b.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-6fbdb144-2f00-4ac9-b4d3-4fb277ce9d9b.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-6fbdb144-2f00-4ac9-b4d3-4fb277ce9d9b.config
[command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-6fbdb144-2f00-4ac9-b4d3-4fb277ce9d9b.config
[command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-6fbdb144-2f00-4ac9-b4d3-4fb277ce9d9b.config
▸ Fetching the repository
[command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +5822154f768bf9922a90d9aca6f1465c4106d643:refs/remotes/origin/main
From https://github.com/Narayan201120/airlock-db
 * [new ref]         5822154f768bf9922a90d9aca6f1465c4106d643 -> origin/main
[command]/usr/bin/git branch --list --remote origin/main
  origin/main
[command]/usr/bin/git rev-parse refs/remotes/origin/main
5822154f768bf9922a90d9aca6f1465c4106d643
▸ 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 -B main refs/remotes/origin/main
Switched to a new branch 'main'
branch 'main' set up to track 'origin/main'.
[command]/usr/bin/git log -1 --format=%H
5822154f768bf9922a90d9aca6f1465c4106d643
▸ 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 113.8 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 196.4 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=05eb9e59f348c8e6b052887bd3e5326b7dcb24f06e6bed68e2b792871a757686
  Stored in directory: /tmp/pip-ephem-wheel-cache-5oc63sfx/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-0f865c63f322ac26 record 5: missing
WARNING: Validation issue for source-0f865c63f322ac26 record 6: missing
WARNING: Validation issue for source-0f865c63f322ac26 record 7: missing
WARNING: Validation issue for source-0f865c63f322ac26 record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for source-0f865c63f322ac26 record 10: string_too_short
WARNING: Validation issue for source-0f865c63f322ac26 record 12: string_too_short
WARNING: Validation issue for source-0f865c63f322ac26 record 13: value_error
WARNING: Validation issue for source-0f865c63f322ac26 record 14: value_error
WARNING: Validation issue for source-0f865c63f322ac26 record 15: value_error
WARNING: Validation issue for source-0f865c63f322ac26 record 16: value_error
WARNING: Validation issue for source-0f865c63f322ac26 record 17: value_error
WARNING: Validation issue for source-0f865c63f322ac26 record 18: string_too_long
WARNING: Validation issue for source-0f865c63f322ac26 record 19: greater_than
WARNING: Validation issue for source-0f865c63f322ac26 record 20: greater_than
WARNING: Validation issue for source-0f865c63f322ac26 record 21: decimal_max_places
WARNING: Validation issue for source-0f865c63f322ac26 record 22: decimal_max_digits
WARNING: Validation issue for source-0f865c63f322ac26 record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for source-0f865c63f322ac26 record 26: enum
WARNING: Validation issue for source-0f865c63f322ac26 record 27: enum
WARNING: Validation issue for source-0f865c63f322ac26 record 28: value_error
WARNING: Validation issue for source-0f865c63f322ac26 record 29: string_pattern_mismatch
WARNING: Validation issue for source-0f865c63f322ac26 record 30: string_too_long
WARNING: Validation issue for source-0f865c63f322ac26 record 31: string_too_long
WARNING: Validation issue for source-0f865c63f322ac26 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: 2.664s, 37,543 records/s, peak RSS 41.2 MiB (getrusage)
soak_ok rows=100000 runs=1 seconds=2.664 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.22s 9,135 records/s
invalid-migration: exit=1 0.24s
verify: exit=0 0.22s
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=79789e9747640533c58d45d3c6fd2e9026a1fbd713acfd2d01ec883806d62892
  Stored in directory: /tmp/pip-ephem-wheel-cache-hfzzgdek/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_failed failures=1
Wheelhouse ci-wheelhouse-corrupt: 7 wheels, 3,646,935 bytes.
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/2b1ff6dc-2b32-4a44-bcce-ad3c09402d4a' 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-6fbdb144-2f00-4ac9-b4d3-4fb277ce9d9b.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\-6fbdb144\-2f00\-4ac9\-b4d3\-4fb277ce9d9b\.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-6fbdb144-2f00-4ac9-b4d3-4fb277ce9d9b.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\-6fbdb144\-2f00\-4ac9\-b4d3\-4fb277ce9d9b\.config
[command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git.path
/github/runner_temp/git-credentials-6fbdb144-2f00-4ac9-b4d3-4fb277ce9d9b.config
[command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git.path \/github\/runner_temp\/git\-credentials\-6fbdb144\-2f00\-4ac9\-b4d3\-4fb277ce9d9b\.config
[command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path
/github/runner_temp/git-credentials-6fbdb144-2f00-4ac9-b4d3-4fb277ce9d9b.config
[command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path \/github\/runner_temp\/git\-credentials\-6fbdb144\-2f00\-4ac9\-b4d3\-4fb277ce9d9b\.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-6fbdb144-2f00-4ac9-b4d3-4fb277ce9d9b.config'
Cleaning up orphan processes