2026-10-29T07:17:35.0043137Z Current runner version: '2.338.0' 2026-10-29T07:17:35.0062446Z ##[group]Runner Image Provisioner 2026-10-29T07:17:35.0063126Z Hosted Compute Agent 2026-10-29T07:17:35.0063538Z Version: 20261021.618 2026-10-29T07:17:35.0063945Z Commit: 21505ad2541d5be6135ed84fc33697146cf75b8e 2026-10-29T07:17:35.0064398Z Build Date: 2026-10-21T00:45:21Z 2026-10-29T07:17:35.0064803Z Worker ID: {08d48676-bd79-43b1-836e-a6a24b6d4c4d} 2026-10-29T07:17:35.0065260Z Region: centralus 2026-10-29T07:17:35.0065631Z Cloud: Azure 2026-10-29T07:17:35.0065950Z ##[endgroup] 2026-10-29T07:17:35.0066793Z ##[group]Operating System 2026-10-29T07:17:35.0067160Z Ubuntu 2026-10-29T07:17:35.0067551Z 24.04.5 2026-10-29T07:17:35.0067900Z LTS 2026-10-29T07:17:35.0068205Z ##[endgroup] 2026-10-29T07:17:35.0068587Z ##[group]Runner Image 2026-10-29T07:17:35.0068943Z Image: ubuntu-24.04 2026-10-29T07:17:35.0069308Z Version: 20261025.353.1 2026-10-29T07:17:35.0070156Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20261025.353/images/ubuntu/Ubuntu2404-Readme.md 2026-10-29T07:17:35.0071211Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20261025.353 2026-10-29T07:17:35.0071774Z ##[endgroup] 2026-10-29T07:17:35.0072532Z ##[group]GITHUB_TOKEN Permissions 2026-10-29T07:17:35.0073859Z Contents: read 2026-10-29T07:17:35.0074247Z Metadata: read 2026-10-29T07:17:35.0074603Z Packages: read 2026-10-29T07:17:35.0074940Z ##[endgroup] 2026-10-29T07:17:35.0076447Z Secret source: Actions 2026-10-29T07:17:35.0077036Z Cache mode: write 2026-10-29T07:17:35.0077519Z Prepare workflow directory 2026-10-29T07:17:35.0333899Z Prepare all required actions 2026-10-29T07:17:35.0366556Z Getting action download info 2026-10-29T07:17:35.2755194Z Download action repository 'actions/checkout@v7' (SHA:3d3c42e5aac5ba805825da76410c181273ba90b1) 2026-10-29T07:17:35.3957257Z Download action repository 'actions/setup-python@v7' (SHA:6d4fd22b20465ccc0f7354476588e8df7c9ca0e0) 2026-10-29T07:17:35.9276538Z Complete job name: end-to-end (ubuntu-latest) 2026-10-29T07:17:35.9968817Z ##[group]Run actions/checkout@v7 2026-10-29T07:17:35.9969289Z with: 2026-10-29T07:17:35.9969557Z repository: Narayan201120/airlock-db 2026-10-29T07:17:35.9972037Z token: *** 2026-10-29T07:17:35.9972262Z ssh-strict: true 2026-10-29T07:17:35.9972493Z ssh-user: git 2026-10-29T07:17:35.9972734Z persist-credentials: true 2026-10-29T07:17:35.9972988Z clean: true 2026-10-29T07:17:35.9973231Z sparse-checkout-cone-mode: true 2026-10-29T07:17:35.9973505Z fetch-depth: 1 2026-10-29T07:17:35.9973731Z fetch-tags: false 2026-10-29T07:17:35.9973966Z show-progress: true 2026-10-29T07:17:35.9974202Z lfs: false 2026-10-29T07:17:35.9974425Z submodules: false 2026-10-29T07:17:35.9974663Z set-safe-directory: true 2026-10-29T07:17:35.9974930Z allow-unsafe-pr-checkout: false 2026-10-29T07:17:35.9975291Z ##[endgroup] 2026-10-29T07:17:36.2706239Z Syncing repository: Narayan201120/airlock-db 2026-10-29T07:17:36.2707424Z ##[group]Getting Git version info 2026-10-29T07:17:36.2707910Z Working directory is '/home/runner/work/airlock-db/airlock-db' 2026-10-29T07:17:36.2708454Z [command]/usr/bin/git version 2026-10-29T07:17:36.2802195Z git version 2.56.0 2026-10-29T07:17:36.2824120Z ##[endgroup] 2026-10-29T07:17:36.2842925Z Temporarily overriding HOME='/home/runner/work/_temp/6c91e090-f219-4f83-8f1f-62751225dbe0' before making global git config changes 2026-10-29T07:17:36.2844349Z Adding repository directory to the temporary git global config as a safe directory 2026-10-29T07:17:36.2848769Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/airlock-db/airlock-db 2026-10-29T07:17:36.2913485Z Deleting the contents of '/home/runner/work/airlock-db/airlock-db' 2026-10-29T07:17:36.2916531Z ##[group]Determining repository object format 2026-10-29T07:17:36.2918026Z ##[endgroup] 2026-10-29T07:17:36.2918755Z ##[group]Initializing the repository 2026-10-29T07:17:36.2923039Z [command]/usr/bin/git init /home/runner/work/airlock-db/airlock-db 2026-10-29T07:17:36.3062922Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-29T07:17:36.3063986Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-29T07:17:36.3065011Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-29T07:17:36.3065682Z hint: call: 2026-10-29T07:17:36.3066014Z hint: 2026-10-29T07:17:36.3066439Z hint: git config --global init.defaultBranch 2026-10-29T07:17:36.3066946Z hint: 2026-10-29T07:17:36.3067422Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-29T07:17:36.3068211Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-29T07:17:36.3068874Z hint: 2026-10-29T07:17:36.3069274Z hint: git branch -m 2026-10-29T07:17:36.3069796Z hint: 2026-10-29T07:17:36.3070141Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-29T07:17:36.3070731Z Initialized empty Git repository in /home/runner/work/airlock-db/airlock-db/.git/ 2026-10-29T07:17:36.3072021Z [command]/usr/bin/git remote add origin https://github.com/Narayan201120/airlock-db 2026-10-29T07:17:36.3123767Z ##[endgroup] 2026-10-29T07:17:36.3126321Z ##[group]Disabling automatic garbage collection 2026-10-29T07:17:36.3126920Z [command]/usr/bin/git config --local gc.auto 0 2026-10-29T07:17:36.3168538Z ##[endgroup] 2026-10-29T07:17:36.3169438Z ##[group]Setting up auth 2026-10-29T07:17:36.3169922Z Removing SSH command configuration 2026-10-29T07:17:36.3173173Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-29T07:17:36.3218966Z [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' || :" 2026-10-29T07:17:36.3544359Z Removing HTTP extra header 2026-10-29T07:17:36.3548901Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-29T07:17:36.3588282Z [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' || :" 2026-10-29T07:17:36.3786347Z Removing includeIf entries pointing to credentials config files 2026-10-29T07:17:36.3791635Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-29T07:17:36.3832291Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-29T07:17:36.4048521Z [command]/usr/bin/git config --file /home/runner/work/_temp/git-credentials-d9b40380-ff0e-43a6-b363-63ab44e982fe.config http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-29T07:17:36.4094690Z [command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path /home/runner/work/_temp/git-credentials-d9b40380-ff0e-43a6-b363-63ab44e982fe.config 2026-10-29T07:17:36.4141751Z [command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path /home/runner/work/_temp/git-credentials-d9b40380-ff0e-43a6-b363-63ab44e982fe.config 2026-10-29T07:17:36.4184813Z [command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-d9b40380-ff0e-43a6-b363-63ab44e982fe.config 2026-10-29T07:17:36.4222994Z [command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-d9b40380-ff0e-43a6-b363-63ab44e982fe.config 2026-10-29T07:17:36.4260564Z ##[endgroup] 2026-10-29T07:17:36.4261564Z ##[group]Fetching the repository 2026-10-29T07:17:36.4266622Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +670a9562622f7100623edddaf896abe142fd8bf6:refs/remotes/pull/1/merge 2026-10-29T07:17:36.9561922Z From https://github.com/Narayan201120/airlock-db 2026-10-29T07:17:36.9562888Z * [new ref] 670a9562622f7100623edddaf896abe142fd8bf6 -> pull/1/merge 2026-10-29T07:17:36.9583411Z ##[endgroup] 2026-10-29T07:17:36.9583959Z ##[group]Determining the checkout info 2026-10-29T07:17:36.9584542Z ##[endgroup] 2026-10-29T07:17:36.9584910Z [command]/usr/bin/git sparse-checkout disable 2026-10-29T07:17:36.9642276Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig 2026-10-29T07:17:36.9682606Z ##[group]Checking out the ref 2026-10-29T07:17:36.9686266Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/1/merge 2026-10-29T07:17:36.9792628Z Note: switching to 'refs/remotes/pull/1/merge'. 2026-10-29T07:17:36.9793045Z 2026-10-29T07:17:36.9793230Z You are in 'detached HEAD' state. You can look around, make experimental 2026-10-29T07:17:36.9793659Z changes and commit them, and you can discard any commits you make in this 2026-10-29T07:17:36.9794241Z state without impacting any branches by switching back to a branch. 2026-10-29T07:17:36.9794643Z 2026-10-29T07:17:36.9794951Z If you want to create a new branch to retain commits you create, you may 2026-10-29T07:17:36.9795380Z do so (now or later) by using -c with the switch command. Example: 2026-10-29T07:17:36.9795647Z 2026-10-29T07:17:36.9795747Z git switch -c 2026-10-29T07:17:36.9795895Z 2026-10-29T07:17:36.9796009Z Or undo this operation with: 2026-10-29T07:17:36.9796210Z 2026-10-29T07:17:36.9796301Z git switch - 2026-10-29T07:17:36.9796423Z 2026-10-29T07:17:36.9796619Z Turn off this advice by setting config variable advice.detachedHead to false 2026-10-29T07:17:36.9796878Z 2026-10-29T07:17:36.9797192Z HEAD is now at 670a956 Merge 36e76cdca133bf71070213931239e835cd4f1570 into b630a06b5e882585234fb367b34195e27b38f145 2026-10-29T07:17:36.9802469Z ##[endgroup] 2026-10-29T07:17:36.9853408Z [command]/usr/bin/git log -1 --format=%H 2026-10-29T07:17:36.9887629Z 670a9562622f7100623edddaf896abe142fd8bf6 2026-10-29T07:17:37.0105947Z ##[group]Run actions/setup-python@v7 2026-10-29T07:17:37.0106160Z with: 2026-10-29T07:17:37.0106278Z python-version: 3.12 2026-10-29T07:17:37.0106407Z check-latest: false 2026-10-29T07:17:37.0107784Z token: *** 2026-10-29T07:17:37.0107963Z mirror: https://raw.githubusercontent.com/actions/python-versions/main 2026-10-29T07:17:37.0108185Z update-environment: true 2026-10-29T07:17:37.0108323Z allow-prereleases: false 2026-10-29T07:17:37.0108453Z freethreaded: false 2026-10-29T07:17:37.0108580Z ##[endgroup] 2026-10-29T07:17:37.0935192Z ##[group]Installed versions 2026-10-29T07:17:37.0997622Z Successfully set up CPython (3.12.15) 2026-10-29T07:17:37.0998065Z ##[endgroup] 2026-10-29T07:17:37.1146209Z ##[group]Run python -m pip install . 2026-10-29T07:17:37.1146592Z python -m pip install . 2026-10-29T07:17:37.1185581Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:37.1185923Z env: 2026-10-29T07:17:37.1186177Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:37.1186556Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:37.1186956Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:37.1187292Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:37.1187623Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:37.1187964Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:37.1188258Z ##[endgroup] 2026-10-29T07:17:38.4744847Z Processing ./. 2026-10-29T07:17:38.4758110Z Installing build dependencies: started 2026-10-29T07:17:39.1669097Z Installing build dependencies: finished with status 'done' 2026-10-29T07:17:39.1675539Z Getting requirements to build wheel: started 2026-10-29T07:17:39.5619720Z Getting requirements to build wheel: finished with status 'done' 2026-10-29T07:17:39.5627684Z Preparing metadata (pyproject.toml): started 2026-10-29T07:17:39.6893952Z Preparing metadata (pyproject.toml): finished with status 'done' 2026-10-29T07:17:39.8539986Z Collecting pydantic<3,>=2.6 (from airlock-db==0.4.0) 2026-10-29T07:17:39.9085652Z Downloading pydantic-2.14.1-py3-none-any.whl.metadata (133 kB) 2026-10-29T07:17:39.9772707Z Collecting PyYAML<7,>=6 (from airlock-db==0.4.0) 2026-10-29T07:17:39.9880052Z 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) 2026-10-29T07:17:40.0098130Z Collecting annotated-types>=0.6.0 (from pydantic<3,>=2.6->airlock-db==0.4.0) 2026-10-29T07:17:40.0202334Z Downloading annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB) 2026-10-29T07:17:40.4139884Z Collecting pydantic-core==2.50.1 (from pydantic<3,>=2.6->airlock-db==0.4.0) 2026-10-29T07:17:40.4248513Z Downloading pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.5 kB) 2026-10-29T07:17:40.4485672Z Collecting typing-extensions>=4.16.0 (from pydantic<3,>=2.6->airlock-db==0.4.0) 2026-10-29T07:17:40.4589773Z Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB) 2026-10-29T07:17:40.4977944Z Collecting typing-inspection>=0.4.4 (from pydantic<3,>=2.6->airlock-db==0.4.0) 2026-10-29T07:17:40.5082946Z Downloading typing_inspection-0.4.4-py3-none-any.whl.metadata (2.6 kB) 2026-10-29T07:17:40.5222488Z Downloading pydantic-2.14.1-py3-none-any.whl (488 kB) 2026-10-29T07:17:40.5495336Z Downloading pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB) 2026-10-29T07:17:40.5745899Z ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 84.3 MB/s 0:00:00 2026-10-29T07:17:40.5862577Z Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB) 2026-10-29T07:17:40.5906983Z ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 807.9/807.9 kB 187.7 MB/s 0:00:00 2026-10-29T07:17:40.6011076Z Downloading annotated_types-0.8.0-py3-none-any.whl (13 kB) 2026-10-29T07:17:40.6133622Z Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB) 2026-10-29T07:17:40.6251658Z Downloading typing_inspection-0.4.4-py3-none-any.whl (14 kB) 2026-10-29T07:17:40.6402024Z Building wheels for collected packages: airlock-db 2026-10-29T07:17:40.6408149Z Building wheel for airlock-db (pyproject.toml): started 2026-10-29T07:17:40.7945653Z Building wheel for airlock-db (pyproject.toml): finished with status 'done' 2026-10-29T07:17:40.7949858Z Created wheel for airlock-db: filename=airlock_db-0.4.0-py3-none-any.whl size=112487 sha256=55bf77cd846663e4e879b2df319552d405a2a597996011a661b4af2b14f20fd1 2026-10-29T07:17:40.7951531Z Stored in directory: /tmp/pip-ephem-wheel-cache-qrwjmuq5/wheels/5f/43/9e/6abdb3d3b97373118381452e6db5c2a7d825478c746f086efb 2026-10-29T07:17:40.7962998Z Successfully built airlock-db 2026-10-29T07:17:40.8109684Z Installing collected packages: typing-extensions, PyYAML, annotated-types, typing-inspection, pydantic-core, pydantic, airlock-db 2026-10-29T07:17:41.1896795Z 2026-10-29T07:17:41.1907174Z 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 2026-10-29T07:17:41.2957620Z ##[group]Run python -m compileall -q src 2026-10-29T07:17:41.2957865Z python -m compileall -q src 2026-10-29T07:17:41.2976171Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:41.2976364Z env: 2026-10-29T07:17:41.2976519Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.2976755Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:41.2976990Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.2977205Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.2977415Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.2977628Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:41.2977809Z ##[endgroup] 2026-10-29T07:17:41.3897902Z ##[group]Run set +e 2026-10-29T07:17:41.3898085Z set +e 2026-10-29T07:17:41.3898595Z python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --anonymize --output-dir ci-builtin 2026-10-29T07:17:41.3898945Z code=$? 2026-10-29T07:17:41.3899056Z set -e 2026-10-29T07:17:41.3899171Z test "$code" -eq 1 2026-10-29T07:17:41.3916895Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:41.3917088Z env: 2026-10-29T07:17:41.3917251Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.3917486Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:41.3917717Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.3917923Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.3918131Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.3918368Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:41.3918556Z ##[endgroup] 2026-10-29T07:17:41.5542665Z WARNING: Validation issue for source-c04cafb7283cf555 record 5: missing 2026-10-29T07:17:41.5543370Z WARNING: Validation issue for source-c04cafb7283cf555 record 6: missing 2026-10-29T07:17:41.5543849Z WARNING: Validation issue for source-c04cafb7283cf555 record 7: missing 2026-10-29T07:17:41.5544746Z WARNING: Validation issue for source-c04cafb7283cf555 record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:17:41.5545489Z WARNING: Validation issue for source-c04cafb7283cf555 record 10: string_too_short 2026-10-29T07:17:41.5546763Z WARNING: Validation issue for source-c04cafb7283cf555 record 12: string_too_short 2026-10-29T07:17:41.5552035Z WARNING: Validation issue for source-c04cafb7283cf555 record 13: value_error 2026-10-29T07:17:41.5552626Z WARNING: Validation issue for source-c04cafb7283cf555 record 14: value_error 2026-10-29T07:17:41.5553407Z WARNING: Validation issue for source-c04cafb7283cf555 record 15: value_error 2026-10-29T07:17:41.5554002Z WARNING: Validation issue for source-c04cafb7283cf555 record 16: value_error 2026-10-29T07:17:41.5554609Z WARNING: Validation issue for source-c04cafb7283cf555 record 17: value_error 2026-10-29T07:17:41.5555237Z WARNING: Validation issue for source-c04cafb7283cf555 record 18: string_too_long 2026-10-29T07:17:41.5555935Z WARNING: Validation issue for source-c04cafb7283cf555 record 19: greater_than 2026-10-29T07:17:41.5556527Z WARNING: Validation issue for source-c04cafb7283cf555 record 20: greater_than 2026-10-29T07:17:41.5557158Z WARNING: Validation issue for source-c04cafb7283cf555 record 21: decimal_max_places 2026-10-29T07:17:41.5557847Z WARNING: Validation issue for source-c04cafb7283cf555 record 22: decimal_max_digits 2026-10-29T07:17:41.5559252Z WARNING: Validation issue for source-c04cafb7283cf555 record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:17:41.5560482Z WARNING: Validation issue for source-c04cafb7283cf555 record 26: enum 2026-10-29T07:17:41.5561289Z WARNING: Validation issue for source-c04cafb7283cf555 record 27: enum 2026-10-29T07:17:41.5562005Z WARNING: Validation issue for source-c04cafb7283cf555 record 28: value_error 2026-10-29T07:17:41.5562671Z WARNING: Validation issue for source-c04cafb7283cf555 record 29: string_pattern_mismatch 2026-10-29T07:17:41.5563419Z WARNING: Validation issue for source-c04cafb7283cf555 record 30: string_too_long 2026-10-29T07:17:41.5563911Z WARNING: Validation issue for source-c04cafb7283cf555 record 31: string_too_long 2026-10-29T07:17:41.5564410Z WARNING: Validation issue for source-c04cafb7283cf555 record 32: is_instance_of 2026-10-29T07:17:41.5604705Z Records checked: 32 2026-10-29T07:17:41.5604946Z Valid: 8; invalid: 24 2026-10-29T07:17:41.5605160Z SQLite: target_migration.db (committed) 2026-10-29T07:17:41.5605396Z Report: airlock_report.html 2026-10-29T07:17:41.5832608Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-builtin \ 2026-10-29T07:17:41.5833012Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-builtin \ 2026-10-29T07:17:41.5833491Z  --expected-checked 32 --expected-valid 8 --expected-invalid 24 --expected-rows 8 \ 2026-10-29T07:17:41.5833794Z  --anonymized-field account_id --expect-type-mismatch-note 2026-10-29T07:17:41.5850559Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:41.5850747Z env: 2026-10-29T07:17:41.5851059Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.5851321Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:41.5851568Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.5851780Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.5852035Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.5852266Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:41.5852453Z ##[endgroup] 2026-10-29T07:17:41.6125716Z { 2026-10-29T07:17:41.6126037Z "anonymized_field_token_violations": { 2026-10-29T07:17:41.6126308Z "account_id": 0 2026-10-29T07:17:41.6126480Z }, 2026-10-29T07:17:41.6126592Z "invalid_records": 24, 2026-10-29T07:17:41.6126728Z "jsonl_rows": null, 2026-10-29T07:17:41.6126854Z "posted_at_index": true, 2026-10-29T07:17:41.6126992Z "records_checked": 32, 2026-10-29T07:17:41.6127126Z "report_standalone": true, 2026-10-29T07:17:41.6127263Z "sqlite_integrity": "ok", 2026-10-29T07:17:41.6127391Z "sqlite_rows": 8, 2026-10-29T07:17:41.6127508Z "status": "passed", 2026-10-29T07:17:41.6127632Z "summary_verified": true, 2026-10-29T07:17:41.6127772Z "type_mismatch_note_present": true, 2026-10-29T07:17:41.6127918Z "valid_records": 8 2026-10-29T07:17:41.6128031Z } 2026-10-29T07:17:41.6192158Z ##[group]Run python main.py --input examples/real_data/online_retail_sample.jsonl \ 2026-10-29T07:17:41.6192503Z python main.py --input examples/real_data/online_retail_sample.jsonl \ 2026-10-29T07:17:41.6192828Z  --config examples/real_data/online_retail_schema.json --anonymize --output-dir ci-real 2026-10-29T07:17:41.6209498Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:41.6209683Z env: 2026-10-29T07:17:41.6209837Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.6210068Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:41.6210298Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.6210529Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.6210842Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.6211180Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:41.6211390Z ##[endgroup] 2026-10-29T07:17:41.7395437Z Records checked: 10 2026-10-29T07:17:41.7395741Z Valid: 10; invalid: 0 2026-10-29T07:17:41.7395960Z SQLite: target_migration.db (committed) 2026-10-29T07:17:41.7396177Z Report: airlock_report.html 2026-10-29T07:17:41.7605015Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-real \ 2026-10-29T07:17:41.7605428Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-real \ 2026-10-29T07:17:41.7605777Z  --expected-checked 10 --expected-valid 10 --expected-invalid 0 --expected-rows 10 \ 2026-10-29T07:17:41.7606047Z  --anonymized-field customer_id 2026-10-29T07:17:41.7623186Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:41.7623373Z env: 2026-10-29T07:17:41.7623528Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.7623771Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:41.7624016Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.7624226Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.7624610Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.7624823Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:41.7625004Z ##[endgroup] 2026-10-29T07:17:41.7909601Z { 2026-10-29T07:17:41.7910090Z "anonymized_field_token_violations": { 2026-10-29T07:17:41.7910358Z "customer_id": 0 2026-10-29T07:17:41.7910533Z }, 2026-10-29T07:17:41.7910689Z "invalid_records": 0, 2026-10-29T07:17:41.7910874Z "jsonl_rows": null, 2026-10-29T07:17:41.7911217Z "posted_at_index": null, 2026-10-29T07:17:41.7911413Z "records_checked": 10, 2026-10-29T07:17:41.7911611Z "report_standalone": true, 2026-10-29T07:17:41.7911812Z "sqlite_integrity": "ok", 2026-10-29T07:17:41.7912004Z "sqlite_rows": 10, 2026-10-29T07:17:41.7912204Z "status": "passed", 2026-10-29T07:17:41.7912390Z "summary_verified": true, 2026-10-29T07:17:41.7912608Z "type_mismatch_note_present": false, 2026-10-29T07:17:41.7912835Z "valid_records": 10 2026-10-29T07:17:41.7913038Z } 2026-10-29T07:17:41.7978993Z ##[group]Run python main.py --input examples/real_data/online_retail_sample.jsonl \ 2026-10-29T07:17:41.7979333Z python main.py --input examples/real_data/online_retail_sample.jsonl \ 2026-10-29T07:17:41.7979609Z  --config examples/real_data/online_retail_schema.json --anonymize \ 2026-10-29T07:17:41.7979843Z  --output-format jsonl --output-dir ci-jsonl 2026-10-29T07:17:41.7980032Z test ! -f ci-jsonl/target_migration.db 2026-10-29T07:17:41.7980294Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-jsonl \ 2026-10-29T07:17:41.7980628Z  --skip-sqlite --expected-checked 10 --expected-valid 10 --expected-invalid 0 \ 2026-10-29T07:17:41.7980870Z  --expected-jsonl-rows 10 2026-10-29T07:17:41.7997558Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:41.7997738Z env: 2026-10-29T07:17:41.7997887Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.7998157Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:41.7998388Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.7998596Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.7998801Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.7999010Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:41.7999190Z ##[endgroup] 2026-10-29T07:17:41.9125542Z Records checked: 10 2026-10-29T07:17:41.9125805Z Valid: 10; invalid: 0 2026-10-29T07:17:41.9126050Z SQLite: not used (--output-format jsonl) 2026-10-29T07:17:41.9126265Z JSONL: target_migration.jsonl (10 records) 2026-10-29T07:17:41.9126464Z Report: airlock_report.html 2026-10-29T07:17:41.9640134Z { 2026-10-29T07:17:41.9640398Z "anonymized_field_token_violations": null, 2026-10-29T07:17:41.9640607Z "invalid_records": 0, 2026-10-29T07:17:41.9640738Z "jsonl_rows": 10, 2026-10-29T07:17:41.9641063Z "posted_at_index": null, 2026-10-29T07:17:41.9641255Z "records_checked": 10, 2026-10-29T07:17:41.9641391Z "report_standalone": true, 2026-10-29T07:17:41.9641531Z "sqlite_integrity": null, 2026-10-29T07:17:41.9641662Z "sqlite_rows": null, 2026-10-29T07:17:41.9641785Z "status": "passed", 2026-10-29T07:17:41.9641910Z "summary_verified": true, 2026-10-29T07:17:41.9642060Z "type_mismatch_note_present": false, 2026-10-29T07:17:41.9642210Z "valid_records": 10 2026-10-29T07:17:41.9642324Z } 2026-10-29T07:17:41.9719608Z ##[group]Run python - <<'PY' 2026-10-29T07:17:41.9719813Z python - <<'PY' 2026-10-29T07:17:41.9719941Z import csv 2026-10-29T07:17:41.9720061Z  2026-10-29T07:17:41.9720246Z header = ["transaction_id", "account_id", "posted_at", "amount", "currency", 2026-10-29T07:17:41.9720530Z  "transaction_type", "status", "counterparty", "description"] 2026-10-29T07:17:41.9720741Z rows = [ 2026-10-29T07:17:41.9721323Z  ["3f8a1c2e-4b6d-4e9a-8f1c-2d5e7a9b0c11", "ACC-1001", "2026-01-15T09:30:00Z", 2026-10-29T07:17:41.9721629Z  "125.50", "USD", "DEBIT", "POSTED", "Northwind, Ltd", "Monthly supplies"], 2026-10-29T07:17:41.9721945Z  ["8b2d4f6a-1c3e-4a5b-9d7e-0f1a2b3c4d5e", "ACC_2200", "2026-02-03T16:45:00+02:00", 2026-10-29T07:17:41.9722231Z  "89.99", "EUR", "CREDIT", "POSTED", "Blue Yonder Airlines", ""], 2026-10-29T07:17:41.9722520Z  ["not-a-uuid", "ACC-1001", "2026-03-01T10:00:00Z", "10.00", "USD", "DEBIT", 2026-10-29T07:17:41.9722754Z  "POSTED", "Example Co", ""], 2026-10-29T07:17:41.9722917Z ] 2026-10-29T07:17:41.9723100Z with open("ci-basic.csv", "w", encoding="utf-8-sig", newline="") as stream: 2026-10-29T07:17:41.9723331Z  writer = csv.writer(stream) 2026-10-29T07:17:41.9723501Z  writer.writerow(header) 2026-10-29T07:17:41.9723663Z  writer.writerows(rows) 2026-10-29T07:17:41.9723814Z PY 2026-10-29T07:17:41.9723999Z python main.py --input ci-basic.csv --output-dir ci-csv || test $? -eq 1 2026-10-29T07:17:41.9724319Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-csv \ 2026-10-29T07:17:41.9724681Z  --expected-checked 3 --expected-valid 2 --expected-invalid 1 --expected-rows 2 2026-10-29T07:17:41.9742781Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:41.9742976Z env: 2026-10-29T07:17:41.9743148Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.9743393Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:41.9743631Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.9743848Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.9744070Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:41.9744287Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:41.9744479Z ##[endgroup] 2026-10-29T07:17:42.1110256Z WARNING: Validation issue for ci-basic.csv record 3: value_error 2026-10-29T07:17:42.1142327Z Records checked: 3 2026-10-29T07:17:42.1142575Z Valid: 2; invalid: 1 2026-10-29T07:17:42.1142814Z SQLite: ci-csv/target_migration.db (committed) 2026-10-29T07:17:42.1143102Z Report: ci-csv/airlock_report.html 2026-10-29T07:17:42.1561499Z { 2026-10-29T07:17:42.1561787Z "anonymized_field_token_violations": null, 2026-10-29T07:17:42.1562095Z "invalid_records": 1, 2026-10-29T07:17:42.1562289Z "jsonl_rows": null, 2026-10-29T07:17:42.1562481Z "posted_at_index": true, 2026-10-29T07:17:42.1562679Z "records_checked": 3, 2026-10-29T07:17:42.1562880Z "report_standalone": true, 2026-10-29T07:17:42.1563087Z "sqlite_integrity": "ok", 2026-10-29T07:17:42.1563279Z "sqlite_rows": 2, 2026-10-29T07:17:42.1563456Z "status": "passed", 2026-10-29T07:17:42.1563641Z "summary_verified": true, 2026-10-29T07:17:42.1563877Z "type_mismatch_note_present": false, 2026-10-29T07:17:42.1564104Z "valid_records": 2 2026-10-29T07:17:42.1564275Z } 2026-10-29T07:17:42.1626353Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_archive_input.py ci-archives 2026-10-29T07:17:42.1626816Z python .cursor/skills/verify-airlock-db/scripts/verify_archive_input.py ci-archives 2026-10-29T07:17:42.1643514Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:42.1656143Z env: 2026-10-29T07:17:42.1656318Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:42.1656554Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:42.1656782Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:42.1656989Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:42.1657220Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:42.1657459Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:42.1657807Z ##[endgroup] 2026-10-29T07:17:43.0457319Z archive_input_ok scenarios=6 evidence=/home/runner/work/airlock-db/airlock-db/ci-archives/archive_verification.json 2026-10-29T07:17:43.0544063Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_schema_infer.py ci-infer 2026-10-29T07:17:43.0544444Z python .cursor/skills/verify-airlock-db/scripts/verify_schema_infer.py ci-infer 2026-10-29T07:17:43.0560583Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:43.0560760Z env: 2026-10-29T07:17:43.0561025Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:43.0561328Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:43.0561550Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:43.0561751Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:43.0561960Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:43.0562187Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:43.0562364Z ##[endgroup] 2026-10-29T07:17:44.9202175Z schema_infer_ok scenarios=8 evidence=/home/runner/work/airlock-db/airlock-db/ci-infer/schema_infer_verification.json 2026-10-29T07:17:44.9299916Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_handoff.py ci-handoff 2026-10-29T07:17:44.9300351Z python .cursor/skills/verify-airlock-db/scripts/verify_handoff.py ci-handoff 2026-10-29T07:17:44.9317968Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:44.9318158Z env: 2026-10-29T07:17:44.9318315Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:44.9318562Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:44.9318802Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:44.9319023Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:44.9319259Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:44.9319480Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:44.9319665Z ##[endgroup] 2026-10-29T07:17:47.3789386Z verify_handoff_ok scenarios=10 evidence=/home/runner/work/airlock-db/airlock-db/ci-handoff/verify_handoff_verification.json 2026-10-29T07:17:47.3888760Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_target.py ci-jsonl-verify 2026-10-29T07:17:47.3889428Z python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_target.py ci-jsonl-verify 2026-10-29T07:17:47.3912952Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:47.3913303Z env: 2026-10-29T07:17:47.3913566Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:47.3913975Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:47.3914396Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:47.3914794Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:47.3915183Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:47.3915537Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:47.3915831Z ##[endgroup] 2026-10-29T07:17:50.5044246Z jsonl_target_ok scenarios=10 evidence=/home/runner/work/airlock-db/airlock-db/ci-jsonl-verify/jsonl_target_verification.json 2026-10-29T07:17:50.5135199Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_source_manifest.py ci-source-manifest 2026-10-29T07:17:50.5135892Z python .cursor/skills/verify-airlock-db/scripts/verify_source_manifest.py ci-source-manifest 2026-10-29T07:17:50.5158859Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:50.5159174Z env: 2026-10-29T07:17:50.5159418Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:50.5159819Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:50.5160436Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:50.5160796Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:50.5161359Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:50.5161715Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:50.5162022Z ##[endgroup] 2026-10-29T07:17:52.2350255Z source_manifest_ok scenarios=9 evidence=/home/runner/work/airlock-db/airlock-db/ci-source-manifest/source_manifest_verification.json 2026-10-29T07:17:52.2465759Z ##[group]Run python - <<'PY' 2026-10-29T07:17:52.2465966Z python - <<'PY' 2026-10-29T07:17:52.2466096Z import sqlite3 2026-10-29T07:17:52.2466219Z  2026-10-29T07:17:52.2466428Z columns = ("transaction_id TEXT, account_id TEXT, posted_at TEXT, amount TEXT, " 2026-10-29T07:17:52.2466743Z  "currency TEXT, transaction_type TEXT, status TEXT, counterparty TEXT, " 2026-10-29T07:17:52.2466990Z  "description TEXT") 2026-10-29T07:17:52.2467161Z connection = sqlite3.connect("ci-multi.db") 2026-10-29T07:17:52.2467365Z connection.execute(f"CREATE TABLE a ({columns})") 2026-10-29T07:17:52.2467573Z connection.execute(f"CREATE TABLE b ({columns})") 2026-10-29T07:17:52.2467754Z connection.execute( 2026-10-29T07:17:52.2467965Z  "INSERT INTO a VALUES ('3f8a1c2e-4b6d-4e9a-8f1c-2d5e7a9b0c11', 'ACC-1001', " 2026-10-29T07:17:52.2468285Z  "'2026-01-15T09:30:00Z', '125.50', 'USD', 'DEBIT', 'POSTED', 'Northwind', NULL)") 2026-10-29T07:17:52.2468504Z connection.execute( 2026-10-29T07:17:52.2468708Z  "INSERT INTO b VALUES ('8b2d4f6a-1c3e-4a5b-9d7e-0f1a2b3c4d5e', 'ACC_2200', " 2026-10-29T07:17:52.2469011Z  "'2026-02-03T16:45:00+02:00', '89.99', 'EUR', 'CREDIT', 'POSTED', 'Blue Yonder', NULL)") 2026-10-29T07:17:52.2469238Z connection.execute( 2026-10-29T07:17:52.2469442Z  "INSERT INTO b VALUES ('not-a-uuid', 'ACC-1001', '2026-03-01T10:00:00Z', " 2026-10-29T07:17:52.2469688Z  "'10.00', 'USD', 'DEBIT', 'POSTED', 'Example', NULL)") 2026-10-29T07:17:52.2469877Z connection.commit() 2026-10-29T07:17:52.2470013Z connection.close() 2026-10-29T07:17:52.2470141Z PY 2026-10-29T07:17:52.2470392Z python main.py --source-db ci-multi.db --source-table a --source-table b --output-dir ci-multi || test $? -eq 1 2026-10-29T07:17:52.2470779Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-multi \ 2026-10-29T07:17:52.2471287Z  --expected-checked 3 --expected-valid 2 --expected-invalid 1 --expected-rows 2 2026-10-29T07:17:52.2487801Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:52.2487984Z env: 2026-10-29T07:17:52.2488133Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.2488365Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:52.2488611Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.2488819Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.2489025Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.2489235Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:52.2489412Z ##[endgroup] 2026-10-29T07:17:52.3783457Z WARNING: Validation issue for ci-multi.db (b) record 2: value_error 2026-10-29T07:17:52.3815615Z Records checked: 3 2026-10-29T07:17:52.3815879Z Valid: 2; invalid: 1 2026-10-29T07:17:52.3816125Z SQLite: ci-multi/target_migration.db (committed) 2026-10-29T07:17:52.3816419Z Report: ci-multi/airlock_report.html 2026-10-29T07:17:52.4230023Z { 2026-10-29T07:17:52.4230368Z "anonymized_field_token_violations": null, 2026-10-29T07:17:52.4230654Z "invalid_records": 1, 2026-10-29T07:17:52.4230847Z "jsonl_rows": null, 2026-10-29T07:17:52.4231522Z "posted_at_index": true, 2026-10-29T07:17:52.4231725Z "records_checked": 3, 2026-10-29T07:17:52.4231922Z "report_standalone": true, 2026-10-29T07:17:52.4232131Z "sqlite_integrity": "ok", 2026-10-29T07:17:52.4232324Z "sqlite_rows": 2, 2026-10-29T07:17:52.4232499Z "status": "passed", 2026-10-29T07:17:52.4232686Z "summary_verified": true, 2026-10-29T07:17:52.4232899Z "type_mismatch_note_present": false, 2026-10-29T07:17:52.4233078Z "valid_records": 2 2026-10-29T07:17:52.4233191Z } 2026-10-29T07:17:52.4306045Z ##[group]Run python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-repair || test $? -eq 1 2026-10-29T07:17:52.4307032Z python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-repair || test $? -eq 1 2026-10-29T07:17:52.4307683Z 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' 2026-10-29T07:17:52.4308247Z printf 'q\n' | python main.py repair --error-log ci-repair/airlock_errors.jsonl --constraints examples/constraints.json | grep -q 'Resumed: 2' 2026-10-29T07:17:52.4325052Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:52.4325236Z env: 2026-10-29T07:17:52.4325387Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.4325639Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:52.4325866Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.4326074Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.4326281Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.4326490Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:52.4326667Z ##[endgroup] 2026-10-29T07:17:52.5489515Z WARNING: Validation issue for examples/messy_transactions.json record 5: missing 2026-10-29T07:17:52.5490384Z WARNING: Validation issue for examples/messy_transactions.json record 6: missing 2026-10-29T07:17:52.5491671Z WARNING: Validation issue for examples/messy_transactions.json record 7: missing 2026-10-29T07:17:52.5493579Z WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:17:52.5494405Z WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short 2026-10-29T07:17:52.5495924Z WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short 2026-10-29T07:17:52.5497924Z WARNING: Validation issue for examples/messy_transactions.json record 13: value_error 2026-10-29T07:17:52.5499099Z WARNING: Validation issue for examples/messy_transactions.json record 14: value_error 2026-10-29T07:17:52.5500045Z WARNING: Validation issue for examples/messy_transactions.json record 15: value_error 2026-10-29T07:17:52.5501059Z WARNING: Validation issue for examples/messy_transactions.json record 16: value_error 2026-10-29T07:17:52.5501900Z WARNING: Validation issue for examples/messy_transactions.json record 17: value_error 2026-10-29T07:17:52.5502740Z WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long 2026-10-29T07:17:52.5503741Z WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than 2026-10-29T07:17:52.5504560Z WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than 2026-10-29T07:17:52.5505363Z WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places 2026-10-29T07:17:52.5506174Z WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits 2026-10-29T07:17:52.5507479Z WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:17:52.5508766Z WARNING: Validation issue for examples/messy_transactions.json record 26: enum 2026-10-29T07:17:52.5509718Z WARNING: Validation issue for examples/messy_transactions.json record 27: enum 2026-10-29T07:17:52.5510602Z WARNING: Validation issue for examples/messy_transactions.json record 28: value_error 2026-10-29T07:17:52.5511596Z WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch 2026-10-29T07:17:52.5512553Z WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long 2026-10-29T07:17:52.5513122Z WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long 2026-10-29T07:17:52.5514106Z WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of 2026-10-29T07:17:52.5556118Z Records checked: 32 2026-10-29T07:17:52.5556371Z Valid: 8; invalid: 24 2026-10-29T07:17:52.5556622Z SQLite: ci-repair/target_migration.db (committed) 2026-10-29T07:17:52.5556926Z Repair log: ci-repair/airlock_errors.jsonl 2026-10-29T07:17:52.5557206Z Report: ci-repair/airlock_report.html 2026-10-29T07:17:52.8918125Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_repair_summary.py ci-repair-summary 2026-10-29T07:17:52.8918551Z python .cursor/skills/verify-airlock-db/scripts/verify_repair_summary.py ci-repair-summary 2026-10-29T07:17:52.8935612Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:52.8935798Z env: 2026-10-29T07:17:52.8935952Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.8936187Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:52.8936418Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.8936648Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.8936858Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:52.8937071Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:52.8937270Z ##[endgroup] 2026-10-29T07:17:55.6654474Z repair_summary_ok scenarios=8 evidence=/home/runner/work/airlock-db/airlock-db/ci-repair-summary/repair_summary_verification.json 2026-10-29T07:17:55.6761720Z ##[group]Run python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-decisions || test $? -eq 1 2026-10-29T07:17:55.6762373Z python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-decisions || test $? -eq 1 2026-10-29T07:17:55.6762971Z 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 2026-10-29T07:17:55.6763542Z python main.py repair --error-log ci-decisions/airlock_errors.jsonl --constraints examples/constraints.json --decisions ci-decisions.jsonl 2026-10-29T07:17:55.6764014Z python main.py report --output-dir ci-decisions | grep -q 'Repair outcomes: 2 corrected, 1 dropped' 2026-10-29T07:17:55.6781142Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:55.6781332Z env: 2026-10-29T07:17:55.6781487Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:55.6781728Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:55.6781962Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:55.6782174Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:55.6782388Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:55.6782606Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:55.6782789Z ##[endgroup] 2026-10-29T07:17:55.7988921Z WARNING: Validation issue for examples/messy_transactions.json record 5: missing 2026-10-29T07:17:55.7989918Z WARNING: Validation issue for examples/messy_transactions.json record 6: missing 2026-10-29T07:17:55.7990786Z WARNING: Validation issue for examples/messy_transactions.json record 7: missing 2026-10-29T07:17:55.7992630Z WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:17:55.7993396Z WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short 2026-10-29T07:17:55.7994631Z WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short 2026-10-29T07:17:55.7996394Z WARNING: Validation issue for examples/messy_transactions.json record 13: value_error 2026-10-29T07:17:55.7997486Z WARNING: Validation issue for examples/messy_transactions.json record 14: value_error 2026-10-29T07:17:55.7998257Z WARNING: Validation issue for examples/messy_transactions.json record 15: value_error 2026-10-29T07:17:55.7998982Z WARNING: Validation issue for examples/messy_transactions.json record 16: value_error 2026-10-29T07:17:55.7999627Z WARNING: Validation issue for examples/messy_transactions.json record 17: value_error 2026-10-29T07:17:55.8000303Z WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long 2026-10-29T07:17:55.8001327Z WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than 2026-10-29T07:17:55.8002078Z WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than 2026-10-29T07:17:55.8002755Z WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places 2026-10-29T07:17:55.8003419Z WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits 2026-10-29T07:17:55.8004552Z WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:17:55.8005599Z WARNING: Validation issue for examples/messy_transactions.json record 26: enum 2026-10-29T07:17:55.8006475Z WARNING: Validation issue for examples/messy_transactions.json record 27: enum 2026-10-29T07:17:55.8007147Z WARNING: Validation issue for examples/messy_transactions.json record 28: value_error 2026-10-29T07:17:55.8007983Z WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch 2026-10-29T07:17:55.8008520Z WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long 2026-10-29T07:17:55.8009103Z WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long 2026-10-29T07:17:55.8009899Z WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of 2026-10-29T07:17:55.8051982Z Records checked: 32 2026-10-29T07:17:55.8052229Z Valid: 8; invalid: 24 2026-10-29T07:17:55.8052487Z SQLite: ci-decisions/target_migration.db (committed) 2026-10-29T07:17:55.8052803Z Repair log: ci-decisions/airlock_errors.jsonl 2026-10-29T07:17:55.8053083Z Report: ci-decisions/airlock_report.html 2026-10-29T07:17:55.9451912Z Repair log: ci-decisions/airlock_errors.jsonl 2026-10-29T07:17:55.9452388Z Schema: FinancialTransaction; target: ci-decisions/target_migration.db 2026-10-29T07:17:55.9452935Z Each rejected row will be reviewed interactively. Type q to finish this session. 2026-10-29T07:17:55.9453427Z Corrected record passed validation and was staged with its resume checkpoint. 2026-10-29T07:17:55.9453885Z Corrected record passed validation and was staged with its resume checkpoint. 2026-10-29T07:17:55.9454316Z Repair complete: 2 corrected, 1 dropped, 0 non-repairable entries. 2026-10-29T07:17:55.9454817Z SQLite: ci-decisions/target_migration.db (2 inserted, 0 duplicates, 0 updated; 3 repair decisions saved) 2026-10-29T07:17:56.0927136Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_decisions_dry_run.py ci-decisions-dry-run 2026-10-29T07:17:56.0927581Z python .cursor/skills/verify-airlock-db/scripts/verify_decisions_dry_run.py ci-decisions-dry-run 2026-10-29T07:17:56.0944041Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:56.0944374Z env: 2026-10-29T07:17:56.0944533Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:56.0944770Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:56.0945005Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:56.0945215Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:56.0945425Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:56.0945638Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:56.0945822Z ##[endgroup] 2026-10-29T07:17:57.2482844Z decisions_dry_run_ok scenarios=5 evidence=/home/runner/work/airlock-db/airlock-db/ci-decisions-dry-run/decisions_dry_run_verification.json 2026-10-29T07:17:57.2577785Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_dry_run.py ci-dry-run 2026-10-29T07:17:57.2578359Z python .cursor/skills/verify-airlock-db/scripts/verify_dry_run.py ci-dry-run 2026-10-29T07:17:57.2600623Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:57.2601171Z env: 2026-10-29T07:17:57.2601408Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:57.2601787Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:57.2602167Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:57.2602497Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:57.2602831Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:57.2603180Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:57.2603473Z ##[endgroup] 2026-10-29T07:17:58.7645478Z dry_run_ok scenarios=8 evidence=/home/runner/work/airlock-db/airlock-db/ci-dry-run/dry_run_verification.json 2026-10-29T07:17:58.7734112Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_config_check.py ci-config-check 2026-10-29T07:17:58.7734513Z python .cursor/skills/verify-airlock-db/scripts/verify_config_check.py ci-config-check 2026-10-29T07:17:58.7751064Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:58.7751245Z env: 2026-10-29T07:17:58.7751394Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:58.7751628Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:58.7751861Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:58.7752068Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:58.7752278Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:58.7752490Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:58.7752667Z ##[endgroup] 2026-10-29T07:17:59.8308066Z config_check_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-config-check/config_check_verification.json 2026-10-29T07:17:59.8728522Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_input_encoding.py ci-input-encoding 2026-10-29T07:17:59.8729233Z python .cursor/skills/verify-airlock-db/scripts/verify_input_encoding.py ci-input-encoding 2026-10-29T07:17:59.8746262Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:17:59.8746456Z env: 2026-10-29T07:17:59.8746611Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:59.8746848Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:17:59.8747081Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:59.8747292Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:59.8747503Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:17:59.8747715Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:17:59.8747898Z ##[endgroup] 2026-10-29T07:18:02.5835680Z input_encoding_ok scenarios=9 evidence=/home/runner/work/airlock-db/airlock-db/ci-input-encoding/input_encoding_verification.json 2026-10-29T07:18:02.5926516Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_run_compare.py ci-run-compare 2026-10-29T07:18:02.5926914Z python .cursor/skills/verify-airlock-db/scripts/verify_run_compare.py ci-run-compare 2026-10-29T07:18:02.5943656Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:02.5943843Z env: 2026-10-29T07:18:02.5944000Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:02.5944256Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:02.5944494Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:02.5944711Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:02.5944940Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:02.5945154Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:02.5945336Z ##[endgroup] 2026-10-29T07:18:03.6556020Z run_compare_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-run-compare/run_compare_verification.json 2026-10-29T07:18:03.6639419Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_dynamic_constraints.py ci-dynamic-constraints 2026-10-29T07:18:03.6639890Z python .cursor/skills/verify-airlock-db/scripts/verify_dynamic_constraints.py ci-dynamic-constraints 2026-10-29T07:18:03.6656939Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:03.6657127Z env: 2026-10-29T07:18:03.6657279Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:03.6657529Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:03.6657779Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:03.6658017Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:03.6658244Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:03.6658466Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:03.6658673Z ##[endgroup] 2026-10-29T07:18:05.9731749Z dynamic_constraints_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-dynamic-constraints/dynamic_constraints_verification.json 2026-10-29T07:18:05.9807349Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_xml_equivalence.py \ 2026-10-29T07:18:05.9807704Z python .cursor/skills/verify-airlock-db/scripts/verify_xml_equivalence.py \ 2026-10-29T07:18:05.9807998Z  examples/messy_transactions.json --constraints examples/constraints.json 2026-10-29T07:18:05.9824139Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:05.9824320Z env: 2026-10-29T07:18:05.9824466Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:05.9824688Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:05.9824908Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:05.9825122Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:05.9825322Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:05.9825524Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:05.9825712Z ##[endgroup] 2026-10-29T07:18:06.2778922Z records=8 2026-10-29T07:18:06.2779157Z table=transactions 2026-10-29T07:18:06.2779376Z xml_equals_json=true 2026-10-29T07:18:06.2857435Z ##[group]Run python - <<'PY' 2026-10-29T07:18:06.2857637Z python - <<'PY' 2026-10-29T07:18:06.2857769Z import json 2026-10-29T07:18:06.2857889Z import sqlite3 2026-10-29T07:18:06.2858011Z  2026-10-29T07:18:06.2858202Z rows = json.load(open("examples/messy_transactions.json", encoding="utf-8")) 2026-10-29T07:18:06.2858455Z chosen = [rows[0], rows[3], rows[4], rows[8]] 2026-10-29T07:18:06.2858655Z connection = sqlite3.connect("legacy-source.db") 2026-10-29T07:18:06.2858839Z connection.execute( 2026-10-29T07:18:06.2859162Z  "CREATE TABLE transactions (transaction_id TEXT, account_id TEXT, " 2026-10-29T07:18:06.2859442Z  "posted_at TEXT, amount TEXT, currency TEXT, transaction_type TEXT, " 2026-10-29T07:18:06.2859689Z  "status TEXT, counterparty TEXT, description TEXT)" 2026-10-29T07:18:06.2859865Z ) 2026-10-29T07:18:06.2859999Z for row in chosen: 2026-10-29T07:18:06.2860141Z  amount = row.get("amount") 2026-10-29T07:18:06.2860298Z  if isinstance(amount, float): 2026-10-29T07:18:06.2860453Z  amount = repr(amount) 2026-10-29T07:18:06.2860605Z  connection.execute( 2026-10-29T07:18:06.2860796Z  "INSERT INTO transactions VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", 2026-10-29T07:18:06.2861201Z  ( 2026-10-29T07:18:06.2861420Z  row.get("transaction_id"), 2026-10-29T07:18:06.2861678Z  row.get("account_id"), 2026-10-29T07:18:06.2861925Z  row.get("posted_at"), 2026-10-29T07:18:06.2862152Z  amount, 2026-10-29T07:18:06.2862344Z  row.get("currency"), 2026-10-29T07:18:06.2862508Z  row.get("transaction_type"), 2026-10-29T07:18:06.2862669Z  row.get("status"), 2026-10-29T07:18:06.2862826Z  row.get("counterparty"), 2026-10-29T07:18:06.2862989Z  row.get("description"), 2026-10-29T07:18:06.2863138Z  ), 2026-10-29T07:18:06.2863252Z  ) 2026-10-29T07:18:06.2863366Z connection.commit() 2026-10-29T07:18:06.2863505Z connection.close() 2026-10-29T07:18:06.2863631Z PY 2026-10-29T07:18:06.2863843Z python main.py --source-db legacy-source.db --output-dir ci-source-db || test $? -eq 1 2026-10-29T07:18:06.2864195Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-source-db \ 2026-10-29T07:18:06.2864548Z  --expected-checked 4 --expected-valid 2 --expected-invalid 2 --expected-rows 2 2026-10-29T07:18:06.2881511Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:06.2881701Z env: 2026-10-29T07:18:06.2881851Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:06.2882088Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:06.2882410Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:06.2882727Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:06.2883082Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:06.2883442Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:06.2883725Z ##[endgroup] 2026-10-29T07:18:06.4218914Z WARNING: Validation issue for legacy-source.db (transactions) record 3: uuid_type (type mismatch in transaction_id; no automatic conversion applied) 2026-10-29T07:18:06.4219735Z WARNING: Validation issue for legacy-source.db (transactions) record 4: value_error 2026-10-29T07:18:06.4253160Z Records checked: 4 2026-10-29T07:18:06.4253398Z Valid: 2; invalid: 2 2026-10-29T07:18:06.4253651Z SQLite: ci-source-db/target_migration.db (committed) 2026-10-29T07:18:06.4253857Z Report: ci-source-db/airlock_report.html 2026-10-29T07:18:06.4706060Z { 2026-10-29T07:18:06.4706843Z "anonymized_field_token_violations": null, 2026-10-29T07:18:06.4707110Z "invalid_records": 2, 2026-10-29T07:18:06.4707299Z "jsonl_rows": null, 2026-10-29T07:18:06.4707492Z "posted_at_index": true, 2026-10-29T07:18:06.4707689Z "records_checked": 4, 2026-10-29T07:18:06.4707886Z "report_standalone": true, 2026-10-29T07:18:06.4708095Z "sqlite_integrity": "ok", 2026-10-29T07:18:06.4708288Z "sqlite_rows": 2, 2026-10-29T07:18:06.4708462Z "status": "passed", 2026-10-29T07:18:06.4708650Z "summary_verified": true, 2026-10-29T07:18:06.4708809Z "type_mismatch_note_present": true, 2026-10-29T07:18:06.4709088Z "valid_records": 2 2026-10-29T07:18:06.4709199Z } 2026-10-29T07:18:06.4769740Z ##[group]Run python scripts/soak_migration.py --rows 100000 --max-peak-rss-mib 300 ci-soak 2026-10-29T07:18:06.4770081Z python scripts/soak_migration.py --rows 100000 --max-peak-rss-mib 300 ci-soak 2026-10-29T07:18:06.4786550Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:06.4786729Z env: 2026-10-29T07:18:06.4786878Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:06.4787107Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:06.4787337Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:06.4787541Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:06.4787744Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:06.4787955Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:06.4788129Z ##[endgroup] 2026-10-29T07:18:08.8195419Z Generated 100,000 JSONL records (26,410,890 bytes). 2026-10-29T07:18:08.8195855Z run 1/1: 1.913s, 52,264 records/s, peak RSS 41.1 MiB (getrusage) 2026-10-29T07:18:08.8196460Z soak_ok rows=100000 runs=1 seconds=1.913 peak_rss_mib=41.1 evidence=/home/runner/work/airlock-db/airlock-db/ci-soak/soak_verification.json 2026-10-29T07:18:08.8286019Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_cli_wins.py ci-cli-wins 2026-10-29T07:18:08.8286603Z python .cursor/skills/verify-airlock-db/scripts/verify_cli_wins.py ci-cli-wins 2026-10-29T07:18:08.8309009Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:08.8309306Z env: 2026-10-29T07:18:08.8309535Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:08.8309908Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:08.8310275Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:08.8310612Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:08.8311130Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:08.8311462Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:08.8311743Z ##[endgroup] 2026-10-29T07:18:11.8397619Z cli_wins_ok scenarios=11 evidence=/home/runner/work/airlock-db/airlock-db/ci-cli-wins/cli_wins_verification.json 2026-10-29T07:18:11.8484587Z ##[group]Run printf '{"ticket_id": "TKT-000001", "customer_name": "Alice", "priority": "HIGH", "opened_at": "2026-01-05T08:00:00Z"}\n' > ci-ticket.jsonl 2026-10-29T07:18:11.8485210Z printf '{"ticket_id": "TKT-000001", "customer_name": "Alice", "priority": "HIGH", "opened_at": "2026-01-05T08:00:00Z"}\n' > ci-ticket.jsonl 2026-10-29T07:18:11.8485672Z python main.py --input ci-ticket.jsonl --config examples/schema_config.yaml --output-dir ci-yaml 2026-10-29T07:18:11.8502419Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:11.8502633Z env: 2026-10-29T07:18:11.8502789Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:11.8503037Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:11.8503277Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:11.8503507Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:11.8503733Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:11.8503966Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:11.8504158Z ##[endgroup] 2026-10-29T07:18:11.9791784Z Records checked: 1 2026-10-29T07:18:11.9791969Z Valid: 1; invalid: 0 2026-10-29T07:18:11.9792142Z SQLite: ci-yaml/target_migration.db (committed) 2026-10-29T07:18:11.9792341Z Report: ci-yaml/airlock_report.html 2026-10-29T07:18:12.0049110Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_transforms.py ci-transforms 2026-10-29T07:18:12.0049515Z python .cursor/skills/verify-airlock-db/scripts/verify_transforms.py ci-transforms 2026-10-29T07:18:12.0066902Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:12.0067086Z env: 2026-10-29T07:18:12.0067252Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:12.0067516Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:12.0067771Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:12.0067988Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:12.0068231Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:12.0068465Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:12.0068652Z ##[endgroup] 2026-10-29T07:18:13.2101086Z transforms_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-transforms/transforms_verification.json 2026-10-29T07:18:13.2187714Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_fixed_width.py ci-fixed-width 2026-10-29T07:18:13.2188134Z python .cursor/skills/verify-airlock-db/scripts/verify_fixed_width.py ci-fixed-width 2026-10-29T07:18:13.2204495Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:13.2204680Z env: 2026-10-29T07:18:13.2204833Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:13.2205075Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:13.2205311Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:13.2205524Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:13.2205736Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:13.2205950Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:13.2206129Z ##[endgroup] 2026-10-29T07:18:15.1725502Z fixed_width_ok scenarios=9 evidence=/home/runner/work/airlock-db/airlock-db/ci-fixed-width/fixed_width_verification.json 2026-10-29T07:18:15.1817337Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_reader.py ci-reader-edges 2026-10-29T07:18:15.1817841Z python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_reader.py ci-reader-edges 2026-10-29T07:18:15.1836177Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:15.1836402Z env: 2026-10-29T07:18:15.1836583Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.1836874Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:15.1837159Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.1837443Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.1837706Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.1837964Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:15.1838219Z ##[endgroup] 2026-10-29T07:18:15.6255407Z jsonl_csv_reader_ok checks=73 2026-10-29T07:18:15.6385350Z ##[group]Run python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --commit-every 4 --output-dir ci-checkpoint || test $? -eq 1 2026-10-29T07:18:15.6386029Z python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --commit-every 4 --output-dir ci-checkpoint || test $? -eq 1 2026-10-29T07:18:15.6386681Z 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 2026-10-29T07:18:15.6387118Z grep -q 'Resumed: 32' ci-resume.log 2026-10-29T07:18:15.6387393Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-checkpoint \ 2026-10-29T07:18:15.6387752Z  --expected-checked 32 --expected-valid 8 --expected-invalid 24 --expected-rows 8 2026-10-29T07:18:15.6404951Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:15.6405278Z env: 2026-10-29T07:18:15.6405437Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.6405681Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:15.6405916Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.6406131Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.6406370Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.6406614Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:15.6406800Z ##[endgroup] 2026-10-29T07:18:15.7639690Z WARNING: Validation issue for examples/messy_transactions.json record 5: missing 2026-10-29T07:18:15.7640339Z WARNING: Validation issue for examples/messy_transactions.json record 6: missing 2026-10-29T07:18:15.7640800Z WARNING: Validation issue for examples/messy_transactions.json record 7: missing 2026-10-29T07:18:15.7644658Z WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:18:15.7645491Z WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short 2026-10-29T07:18:15.7646088Z WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short 2026-10-29T07:18:15.7646708Z WARNING: Validation issue for examples/messy_transactions.json record 13: value_error 2026-10-29T07:18:15.7647304Z WARNING: Validation issue for examples/messy_transactions.json record 14: value_error 2026-10-29T07:18:15.7647890Z WARNING: Validation issue for examples/messy_transactions.json record 15: value_error 2026-10-29T07:18:15.7648425Z WARNING: Validation issue for examples/messy_transactions.json record 16: value_error 2026-10-29T07:18:15.7648955Z WARNING: Validation issue for examples/messy_transactions.json record 17: value_error 2026-10-29T07:18:15.7649513Z WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long 2026-10-29T07:18:15.7650078Z WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than 2026-10-29T07:18:15.7650645Z WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than 2026-10-29T07:18:15.7651327Z WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places 2026-10-29T07:18:15.7651992Z WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits 2026-10-29T07:18:15.7652758Z WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:18:15.7662680Z WARNING: Validation issue for examples/messy_transactions.json record 26: enum 2026-10-29T07:18:15.7663299Z WARNING: Validation issue for examples/messy_transactions.json record 27: enum 2026-10-29T07:18:15.7663940Z WARNING: Validation issue for examples/messy_transactions.json record 28: value_error 2026-10-29T07:18:15.7664848Z WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch 2026-10-29T07:18:15.7665442Z WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long 2026-10-29T07:18:15.7665955Z WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long 2026-10-29T07:18:15.7666440Z WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of 2026-10-29T07:18:15.7702069Z Records checked: 32 2026-10-29T07:18:15.7702315Z Valid: 8; invalid: 24 2026-10-29T07:18:15.7702569Z SQLite: ci-checkpoint/target_migration.db (committed) 2026-10-29T07:18:15.7702892Z Report: ci-checkpoint/airlock_report.html 2026-10-29T07:18:15.9240648Z WARNING: Validation issue for examples/messy_transactions.json record 5: missing 2026-10-29T07:18:15.9241452Z WARNING: Validation issue for examples/messy_transactions.json record 6: missing 2026-10-29T07:18:15.9242010Z WARNING: Validation issue for examples/messy_transactions.json record 7: missing 2026-10-29T07:18:15.9243172Z WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:18:15.9244036Z WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short 2026-10-29T07:18:15.9244749Z WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short 2026-10-29T07:18:15.9246842Z WARNING: Validation issue for examples/messy_transactions.json record 13: value_error 2026-10-29T07:18:15.9247581Z WARNING: Validation issue for examples/messy_transactions.json record 14: value_error 2026-10-29T07:18:15.9248414Z WARNING: Validation issue for examples/messy_transactions.json record 15: value_error 2026-10-29T07:18:15.9249141Z WARNING: Validation issue for examples/messy_transactions.json record 16: value_error 2026-10-29T07:18:15.9249809Z WARNING: Validation issue for examples/messy_transactions.json record 17: value_error 2026-10-29T07:18:15.9250464Z WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long 2026-10-29T07:18:15.9251323Z WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than 2026-10-29T07:18:15.9252036Z WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than 2026-10-29T07:18:15.9252723Z WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places 2026-10-29T07:18:15.9253342Z WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits 2026-10-29T07:18:15.9254478Z WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:18:15.9255671Z WARNING: Validation issue for examples/messy_transactions.json record 26: enum 2026-10-29T07:18:15.9256556Z WARNING: Validation issue for examples/messy_transactions.json record 27: enum 2026-10-29T07:18:15.9257360Z WARNING: Validation issue for examples/messy_transactions.json record 28: value_error 2026-10-29T07:18:15.9258162Z WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch 2026-10-29T07:18:15.9258933Z WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long 2026-10-29T07:18:15.9259611Z WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long 2026-10-29T07:18:15.9260217Z WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of 2026-10-29T07:18:15.9856909Z { 2026-10-29T07:18:15.9857261Z "anonymized_field_token_violations": null, 2026-10-29T07:18:15.9857579Z "invalid_records": 24, 2026-10-29T07:18:15.9857784Z "jsonl_rows": null, 2026-10-29T07:18:15.9857984Z "posted_at_index": true, 2026-10-29T07:18:15.9858187Z "records_checked": 32, 2026-10-29T07:18:15.9858393Z "report_standalone": true, 2026-10-29T07:18:15.9858609Z "sqlite_integrity": "ok", 2026-10-29T07:18:15.9858819Z "sqlite_rows": 8, 2026-10-29T07:18:15.9859445Z "status": "passed", 2026-10-29T07:18:15.9859655Z "summary_verified": true, 2026-10-29T07:18:15.9859874Z "type_mismatch_note_present": true, 2026-10-29T07:18:15.9860104Z "valid_records": 8 2026-10-29T07:18:15.9860275Z } 2026-10-29T07:18:15.9932167Z ##[group]Run python scripts/perf_budget.py --work-dir ci-perf-budget 2026-10-29T07:18:15.9932454Z python scripts/perf_budget.py --work-dir ci-perf-budget 2026-10-29T07:18:15.9949098Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:15.9949286Z env: 2026-10-29T07:18:15.9949447Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.9949692Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:15.9949931Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.9950146Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.9950357Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:15.9950730Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:15.9951036Z ##[endgroup] 2026-10-29T07:18:16.5409293Z valid-migration: exit=0 0.16s 12,340 records/s 2026-10-29T07:18:16.5409802Z invalid-migration: exit=1 0.17s 2026-10-29T07:18:16.5423168Z verify: exit=0 0.17s 2026-10-29T07:18:16.5423379Z perf_budget_ok workloads=3 2026-10-29T07:18:16.5508500Z ##[group]Run set -euo pipefail 2026-10-29T07:18:16.5508815Z set -euo pipefail 2026-10-29T07:18:16.5509248Z rm -rf ci-wheelhouse ci-venv ci-wheelhouse-missing ci-wheelhouse-corrupt ci-wheelhouse-sdist ci-airgap 2026-10-29T07:18:16.5509776Z python -m pip wheel --no-deps --wheel-dir ci-wheelhouse . 2026-10-29T07:18:16.5510129Z python -m pip download --only-binary=:all: --dest ci-wheelhouse pydantic "PyYAML>=6,<7" 2026-10-29T07:18:16.5510416Z python scripts/check_wheelhouse.py ci-wheelhouse 2026-10-29T07:18:16.5510640Z python scripts/check_wheelhouse.py ci-wheelhouse --verify 2026-10-29T07:18:16.5510850Z python -m venv ci-venv 2026-10-29T07:18:16.5511277Z if [ -x ci-venv/bin/python ]; then venv_bin=ci-venv/bin; else venv_bin=ci-venv/Scripts; fi 2026-10-29T07:18:16.5511606Z "$venv_bin/python" -m pip install --no-index --find-links ci-wheelhouse airlock-db 2026-10-29T07:18:16.5511852Z set +e 2026-10-29T07:18:16.5512079Z "$venv_bin/python" -m airlock_db --input examples/messy_transactions.json --output-dir ci-airgap 2026-10-29T07:18:16.5512331Z code=$? 2026-10-29T07:18:16.5512441Z set -e 2026-10-29T07:18:16.5512555Z test "$code" -eq 1 2026-10-29T07:18:16.5512703Z test -f ci-airgap/airlock_summary.json 2026-10-29T07:18:16.5512883Z test -f ci-airgap/airlock_report.html 2026-10-29T07:18:16.5513064Z "$venv_bin/airlock-db" --help > /dev/null 2026-10-29T07:18:16.5513274Z python scripts/check_wheelhouse.py ci-wheelhouse --verify 2026-10-29T07:18:16.5513522Z # A wheelhouse without the local wheel fails the closure check. 2026-10-29T07:18:16.5513747Z cp -r ci-wheelhouse ci-wheelhouse-missing 2026-10-29T07:18:16.5513933Z rm ci-wheelhouse-missing/airlock_db-*.whl 2026-10-29T07:18:16.5514088Z set +e 2026-10-29T07:18:16.5514247Z python scripts/check_wheelhouse.py ci-wheelhouse-missing 2026-10-29T07:18:16.5514435Z missing=$? 2026-10-29T07:18:16.5514552Z set -e 2026-10-29T07:18:16.5514673Z test "$missing" -eq 1 2026-10-29T07:18:16.5514836Z # A changed byte fails manifest verification. 2026-10-29T07:18:16.5515027Z cp -r ci-wheelhouse ci-wheelhouse-corrupt 2026-10-29T07:18:16.5515283Z changed_wheel=$(ls ci-wheelhouse-corrupt/*.whl | grep -v '/airlock_db-' | tail -n 1) 2026-10-29T07:18:16.5515586Z printf 'x' | dd of="$changed_wheel" bs=1 seek=100 conv=notrunc status=none 2026-10-29T07:18:16.5515790Z set +e 2026-10-29T07:18:16.5515970Z python scripts/check_wheelhouse.py ci-wheelhouse-corrupt --verify 2026-10-29T07:18:16.5516174Z changed=$? 2026-10-29T07:18:16.5516290Z set -e 2026-10-29T07:18:16.5516405Z test "$changed" -eq 1 2026-10-29T07:18:16.5516588Z # A non-wheel file fails the check with the documented message. 2026-10-29T07:18:16.5516805Z cp -r ci-wheelhouse ci-wheelhouse-sdist 2026-10-29T07:18:16.5517006Z : > ci-wheelhouse-sdist/example-package-1.0.tar.gz 2026-10-29T07:18:16.5517179Z set +e 2026-10-29T07:18:16.5517331Z python scripts/check_wheelhouse.py ci-wheelhouse-sdist 2026-10-29T07:18:16.5517511Z sdist=$? 2026-10-29T07:18:16.5517619Z set -e 2026-10-29T07:18:16.5517737Z test "$sdist" -eq 1 2026-10-29T07:18:16.5534183Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:18:16.5534362Z env: 2026-10-29T07:18:16.5534509Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:16.5534881Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:18:16.5535112Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:16.5535321Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:16.5535656Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:18:16.5535868Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:18:16.5536055Z ##[endgroup] 2026-10-29T07:18:16.8021392Z Processing ./. 2026-10-29T07:18:16.8037682Z Installing build dependencies: started 2026-10-29T07:18:17.1878338Z Installing build dependencies: finished with status 'done' 2026-10-29T07:18:17.1883484Z Getting requirements to build wheel: started 2026-10-29T07:18:17.5347587Z Getting requirements to build wheel: finished with status 'done' 2026-10-29T07:18:17.5356210Z Preparing metadata (pyproject.toml): started 2026-10-29T07:18:17.6779006Z Preparing metadata (pyproject.toml): finished with status 'done' 2026-10-29T07:18:17.6794507Z Building wheels for collected packages: airlock-db 2026-10-29T07:18:17.6800002Z Building wheel for airlock-db (pyproject.toml): started 2026-10-29T07:18:17.8308559Z Building wheel for airlock-db (pyproject.toml): finished with status 'done' 2026-10-29T07:18:17.8315304Z Created wheel for airlock-db: filename=airlock_db-0.4.0-py3-none-any.whl size=112487 sha256=0c8b4a9296eb978918e3be30b10fc4b8e92f90355f92f94550abe9facdd83e45 2026-10-29T07:18:17.8316486Z Stored in directory: /tmp/pip-ephem-wheel-cache-obim9faz/wheels/5f/43/9e/6abdb3d3b97373118381452e6db5c2a7d825478c746f086efb 2026-10-29T07:18:17.8333315Z Successfully built airlock-db 2026-10-29T07:18:18.1402884Z Collecting pydantic 2026-10-29T07:18:18.1417034Z Using cached pydantic-2.14.1-py3-none-any.whl.metadata (133 kB) 2026-10-29T07:18:18.1595962Z Collecting PyYAML<7,>=6 2026-10-29T07:18:18.1606249Z 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) 2026-10-29T07:18:18.1635204Z Collecting annotated-types>=0.6.0 (from pydantic) 2026-10-29T07:18:18.1644274Z Using cached annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB) 2026-10-29T07:18:18.5395745Z Collecting pydantic-core==2.50.1 (from pydantic) 2026-10-29T07:18:18.5407085Z Using cached pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.5 kB) 2026-10-29T07:18:18.5455358Z Collecting typing-extensions>=4.16.0 (from pydantic) 2026-10-29T07:18:18.5464253Z Using cached typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB) 2026-10-29T07:18:18.5488565Z Collecting typing-inspection>=0.4.4 (from pydantic) 2026-10-29T07:18:18.5496920Z Using cached typing_inspection-0.4.4-py3-none-any.whl.metadata (2.6 kB) 2026-10-29T07:18:18.5523350Z Using cached pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB) 2026-10-29T07:18:18.5532695Z Using cached pydantic-2.14.1-py3-none-any.whl (488 kB) 2026-10-29T07:18:18.5541531Z Using cached pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB) 2026-10-29T07:18:18.5554574Z Using cached annotated_types-0.8.0-py3-none-any.whl (13 kB) 2026-10-29T07:18:18.5561469Z Using cached typing_extensions-4.16.0-py3-none-any.whl (45 kB) 2026-10-29T07:18:18.5568488Z Using cached typing_inspection-0.4.4-py3-none-any.whl (14 kB) 2026-10-29T07:18:18.5719870Z Saved ./ci-wheelhouse/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 2026-10-29T07:18:18.5723920Z Saved ./ci-wheelhouse/pydantic-2.14.1-py3-none-any.whl 2026-10-29T07:18:18.5732539Z Saved ./ci-wheelhouse/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2026-10-29T07:18:18.5735150Z Saved ./ci-wheelhouse/annotated_types-0.8.0-py3-none-any.whl 2026-10-29T07:18:18.5737800Z Saved ./ci-wheelhouse/typing_extensions-4.16.0-py3-none-any.whl 2026-10-29T07:18:18.5740386Z Saved ./ci-wheelhouse/typing_inspection-0.4.4-py3-none-any.whl 2026-10-29T07:18:18.5741472Z Successfully downloaded PyYAML pydantic pydantic-core annotated-types typing-extensions typing-inspection 2026-10-29T07:18:18.7011784Z Wheelhouse ci-wheelhouse: 7 wheels, 3,642,368 bytes. 2026-10-29T07:18:18.7012425Z wheelhouse_ok wheels=7 manifest=ci-wheelhouse/install_manifest.json 2026-10-29T07:18:18.7676037Z Wheelhouse ci-wheelhouse: 7 wheels, 3,642,368 bytes. 2026-10-29T07:18:18.7676564Z wheelhouse_ok wheels=7 manifest=ci-wheelhouse/install_manifest.json verified=1 2026-10-29T07:18:20.7073408Z Looking in links: ci-wheelhouse 2026-10-29T07:18:20.7126165Z Processing ./ci-wheelhouse/airlock_db-0.4.0-py3-none-any.whl 2026-10-29T07:18:20.7149855Z Processing ./ci-wheelhouse/pydantic-2.14.1-py3-none-any.whl (from airlock-db) 2026-10-29T07:18:20.7195208Z 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) 2026-10-29T07:18:20.7217285Z Processing ./ci-wheelhouse/annotated_types-0.8.0-py3-none-any.whl (from pydantic<3,>=2.6->airlock-db) 2026-10-29T07:18:20.7231723Z 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) 2026-10-29T07:18:20.7263265Z Processing ./ci-wheelhouse/typing_extensions-4.16.0-py3-none-any.whl (from pydantic<3,>=2.6->airlock-db) 2026-10-29T07:18:20.7275440Z Processing ./ci-wheelhouse/typing_inspection-0.4.4-py3-none-any.whl (from pydantic<3,>=2.6->airlock-db) 2026-10-29T07:18:20.7376469Z Installing collected packages: typing-extensions, PyYAML, annotated-types, typing-inspection, pydantic-core, pydantic, airlock-db 2026-10-29T07:18:21.0818943Z 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 2026-10-29T07:18:21.2344029Z WARNING: Validation issue for examples/messy_transactions.json record 5: missing 2026-10-29T07:18:21.2344670Z WARNING: Validation issue for examples/messy_transactions.json record 6: missing 2026-10-29T07:18:21.2345433Z WARNING: Validation issue for examples/messy_transactions.json record 7: missing 2026-10-29T07:18:21.2346281Z WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:18:21.2347138Z WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short 2026-10-29T07:18:21.2347753Z WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short 2026-10-29T07:18:21.2348557Z WARNING: Validation issue for examples/messy_transactions.json record 13: value_error 2026-10-29T07:18:21.2349296Z WARNING: Validation issue for examples/messy_transactions.json record 14: value_error 2026-10-29T07:18:21.2349864Z WARNING: Validation issue for examples/messy_transactions.json record 15: value_error 2026-10-29T07:18:21.2350462Z WARNING: Validation issue for examples/messy_transactions.json record 16: value_error 2026-10-29T07:18:21.2351242Z WARNING: Validation issue for examples/messy_transactions.json record 17: value_error 2026-10-29T07:18:21.2351798Z WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long 2026-10-29T07:18:21.2352434Z WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than 2026-10-29T07:18:21.2353097Z WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than 2026-10-29T07:18:21.2353839Z WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places 2026-10-29T07:18:21.2354482Z WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits 2026-10-29T07:18:21.2355134Z WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:18:21.2355835Z WARNING: Validation issue for examples/messy_transactions.json record 26: enum 2026-10-29T07:18:21.2356387Z WARNING: Validation issue for examples/messy_transactions.json record 27: enum 2026-10-29T07:18:21.2357226Z WARNING: Validation issue for examples/messy_transactions.json record 28: value_error 2026-10-29T07:18:21.2357811Z WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch 2026-10-29T07:18:21.2358569Z WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long 2026-10-29T07:18:21.2359212Z WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long 2026-10-29T07:18:21.2359780Z WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of 2026-10-29T07:18:21.2396682Z Records checked: 32 2026-10-29T07:18:21.2396915Z Valid: 8; invalid: 24 2026-10-29T07:18:21.2397151Z SQLite: ci-airgap/target_migration.db (committed) 2026-10-29T07:18:21.2397476Z Report: ci-airgap/airlock_report.html 2026-10-29T07:18:21.3469030Z Wheelhouse ci-wheelhouse: 7 wheels, 3,642,368 bytes. 2026-10-29T07:18:21.3469597Z wheelhouse_ok wheels=7 manifest=ci-wheelhouse/install_manifest.json verified=1 2026-10-29T07:18:21.4043073Z wheelhouse: missing the local project wheel airlock_db-*.whl; build it with python -m pip wheel --no-deps --wheel-dir WHEELHOUSE . 2026-10-29T07:18:21.4043536Z wheelhouse_failed failures=1 2026-10-29T07:18:21.4710193Z wheelhouse: typing_inspection-0.4.4-py3-none-any.whl: the SHA-256 hash differs from the manifest 2026-10-29T07:18:21.4710832Z wheelhouse_failed failures=1 2026-10-29T07:18:21.5303409Z wheelhouse: example-package-1.0.tar.gz: not a wheel; collect dependencies with pip download --only-binary=:all: 2026-10-29T07:18:21.5303963Z wheelhouse_failed failures=1 2026-10-29T07:18:21.5304308Z Wheelhouse ci-wheelhouse-corrupt: 7 wheels, 3,642,368 bytes. 2026-10-29T07:18:21.5464293Z Post job cleanup. 2026-10-29T07:18:21.6469582Z Post job cleanup. 2026-10-29T07:18:21.7129291Z [command]/usr/bin/git version 2026-10-29T07:18:21.7167402Z git version 2.56.0 2026-10-29T07:18:21.7192212Z Temporarily overriding HOME='/home/runner/work/_temp/abdd7138-fef5-4c33-9cec-6b941f55125e' before making global git config changes 2026-10-29T07:18:21.7193008Z Adding repository directory to the temporary git global config as a safe directory 2026-10-29T07:18:21.7196138Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/airlock-db/airlock-db 2026-10-29T07:18:21.7242037Z Removing SSH command configuration 2026-10-29T07:18:21.7242625Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-29T07:18:21.7278534Z [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' || :" 2026-10-29T07:18:21.7494825Z Removing HTTP extra header 2026-10-29T07:18:21.7501070Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-29T07:18:21.7541636Z [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' || :" 2026-10-29T07:18:21.7764262Z Removing includeIf entries pointing to credentials config files 2026-10-29T07:18:21.7769388Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-29T07:18:21.7808026Z includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path 2026-10-29T07:18:21.7808501Z includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path 2026-10-29T07:18:21.7808877Z includeif.gitdir:/github/workspace/.git.path 2026-10-29T07:18:21.7809192Z includeif.gitdir:/github/workspace/.git/worktrees/*.path 2026-10-29T07:18:21.7815308Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path 2026-10-29T07:18:21.7846986Z /home/runner/work/_temp/git-credentials-d9b40380-ff0e-43a6-b363-63ab44e982fe.config 2026-10-29T07:18:21.7856190Z [command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path \/home\/runner\/work\/_temp\/git\-credentials\-d9b40380\-ff0e\-43a6\-b363\-63ab44e982fe\.config 2026-10-29T07:18:21.7900151Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path 2026-10-29T07:18:21.7938400Z /home/runner/work/_temp/git-credentials-d9b40380-ff0e-43a6-b363-63ab44e982fe.config 2026-10-29T07:18:21.7945001Z [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\-d9b40380\-ff0e\-43a6\-b363\-63ab44e982fe\.config 2026-10-29T07:18:21.7984445Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git.path 2026-10-29T07:18:21.8015441Z /github/runner_temp/git-credentials-d9b40380-ff0e-43a6-b363-63ab44e982fe.config 2026-10-29T07:18:21.8020628Z [command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git.path \/github\/runner_temp\/git\-credentials\-d9b40380\-ff0e\-43a6\-b363\-63ab44e982fe\.config 2026-10-29T07:18:21.8059494Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path 2026-10-29T07:18:21.8090410Z /github/runner_temp/git-credentials-d9b40380-ff0e-43a6-b363-63ab44e982fe.config 2026-10-29T07:18:21.8095782Z [command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path \/github\/runner_temp\/git\-credentials\-d9b40380\-ff0e\-43a6\-b363\-63ab44e982fe\.config 2026-10-29T07:18:21.8136045Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-29T07:18:21.8360146Z Removing credentials config '/home/runner/work/_temp/git-credentials-d9b40380-ff0e-43a6-b363-63ab44e982fe.config' 2026-10-29T07:18:21.8521181Z Cleaning up orphan processes