2026-10-29T07:49:22.1780963Z Current runner version: '2.338.0' 2026-10-29T07:49:22.1806973Z ##[group]Runner Image Provisioner 2026-10-29T07:49:22.1807903Z Hosted Compute Agent 2026-10-29T07:49:22.1808539Z Version: 20261021.618 2026-10-29T07:49:22.1809167Z Commit: 21505ad2541d5be6135ed84fc33697146cf75b8e 2026-10-29T07:49:22.1809964Z Build Date: 2026-10-21T00:45:21Z 2026-10-29T07:49:22.1810644Z Worker ID: {db2fa700-b308-4869-91cd-a4272f6f2c37} 2026-10-29T07:49:22.1811452Z Region: eastus 2026-10-29T07:49:22.1812043Z Cloud: Azure 2026-10-29T07:49:22.1812563Z ##[endgroup] 2026-10-29T07:49:22.1814580Z ##[group]Operating System 2026-10-29T07:49:22.1815252Z Ubuntu 2026-10-29T07:49:22.1815843Z 24.04.5 2026-10-29T07:49:22.1816409Z LTS 2026-10-29T07:49:22.1816929Z ##[endgroup] 2026-10-29T07:49:22.1817552Z ##[group]Runner Image 2026-10-29T07:49:22.1818142Z Image: ubuntu-24.04 2026-10-29T07:49:22.1818804Z Version: 20261025.353.1 2026-10-29T07:49:22.1820431Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20261025.353/images/ubuntu/Ubuntu2404-Readme.md 2026-10-29T07:49:22.1822070Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20261025.353 2026-10-29T07:49:22.1823044Z ##[endgroup] 2026-10-29T07:49:22.1824800Z ##[group]GITHUB_TOKEN Permissions 2026-10-29T07:49:22.1826970Z Contents: read 2026-10-29T07:49:22.1827669Z Metadata: read 2026-10-29T07:49:22.1828245Z Packages: read 2026-10-29T07:49:22.1828834Z ##[endgroup] 2026-10-29T07:49:22.1831164Z Secret source: Actions 2026-10-29T07:49:22.1832203Z Cache mode: write 2026-10-29T07:49:22.1832916Z Prepare workflow directory 2026-10-29T07:49:22.2236338Z Prepare all required actions 2026-10-29T07:49:22.2285211Z Getting action download info 2026-10-29T07:49:22.4664800Z Download action repository 'actions/checkout@v7' (SHA:3d3c42e5aac5ba805825da76410c181273ba90b1) 2026-10-29T07:49:22.6056579Z Download action repository 'actions/setup-python@v7' (SHA:6d4fd22b20465ccc0f7354476588e8df7c9ca0e0) 2026-10-29T07:49:22.8666621Z Complete job name: end-to-end (ubuntu-latest) 2026-10-29T07:49:22.9825981Z ##[group]Run actions/checkout@v7 2026-10-29T07:49:22.9826883Z with: 2026-10-29T07:49:22.9827346Z repository: Narayan201120/airlock-db 2026-10-29T07:49:22.9831078Z token: *** 2026-10-29T07:49:22.9831499Z ssh-strict: true 2026-10-29T07:49:22.9831931Z ssh-user: git 2026-10-29T07:49:22.9832372Z persist-credentials: true 2026-10-29T07:49:22.9832853Z clean: true 2026-10-29T07:49:22.9833302Z sparse-checkout-cone-mode: true 2026-10-29T07:49:22.9834041Z fetch-depth: 1 2026-10-29T07:49:22.9834468Z fetch-tags: false 2026-10-29T07:49:22.9834906Z show-progress: true 2026-10-29T07:49:22.9835347Z lfs: false 2026-10-29T07:49:22.9835757Z submodules: false 2026-10-29T07:49:22.9836214Z set-safe-directory: true 2026-10-29T07:49:22.9836727Z allow-unsafe-pr-checkout: false 2026-10-29T07:49:22.9837516Z ##[endgroup] 2026-10-29T07:49:23.2794854Z Syncing repository: Narayan201120/airlock-db 2026-10-29T07:49:23.2797636Z ##[group]Getting Git version info 2026-10-29T07:49:23.2799056Z Working directory is '/home/runner/work/airlock-db/airlock-db' 2026-10-29T07:49:23.2801057Z [command]/usr/bin/git version 2026-10-29T07:49:23.2885393Z git version 2.56.0 2026-10-29T07:49:23.2915885Z ##[endgroup] 2026-10-29T07:49:23.2921668Z Temporarily overriding HOME='/home/runner/work/_temp/3a05eaff-e05f-450d-a1c7-dd4003c66fac' before making global git config changes 2026-10-29T07:49:23.2923011Z Adding repository directory to the temporary git global config as a safe directory 2026-10-29T07:49:23.2927772Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/airlock-db/airlock-db 2026-10-29T07:49:23.2991062Z Deleting the contents of '/home/runner/work/airlock-db/airlock-db' 2026-10-29T07:49:23.2999593Z ##[group]Determining repository object format 2026-10-29T07:49:23.3000918Z ##[endgroup] 2026-10-29T07:49:23.3001951Z ##[group]Initializing the repository 2026-10-29T07:49:23.3010667Z [command]/usr/bin/git init /home/runner/work/airlock-db/airlock-db 2026-10-29T07:49:23.3127281Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-29T07:49:23.3129382Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-29T07:49:23.3130988Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-29T07:49:23.3132175Z hint: call: 2026-10-29T07:49:23.3132803Z hint: 2026-10-29T07:49:23.3133881Z hint: git config --global init.defaultBranch 2026-10-29T07:49:23.3134926Z hint: 2026-10-29T07:49:23.3135897Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-29T07:49:23.3137401Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-29T07:49:23.3138613Z hint: 2026-10-29T07:49:23.3139349Z hint: git branch -m 2026-10-29T07:49:23.3140160Z hint: 2026-10-29T07:49:23.3141161Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-29T07:49:23.3142852Z Initialized empty Git repository in /home/runner/work/airlock-db/airlock-db/.git/ 2026-10-29T07:49:23.3163116Z [command]/usr/bin/git remote add origin https://github.com/Narayan201120/airlock-db 2026-10-29T07:49:23.3212674Z ##[endgroup] 2026-10-29T07:49:23.3213721Z ##[group]Disabling automatic garbage collection 2026-10-29T07:49:23.3214434Z [command]/usr/bin/git config --local gc.auto 0 2026-10-29T07:49:23.3260383Z ##[endgroup] 2026-10-29T07:49:23.3261351Z ##[group]Setting up auth 2026-10-29T07:49:23.3261901Z Removing SSH command configuration 2026-10-29T07:49:23.3266520Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-29T07:49:23.3327309Z [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:49:23.3748644Z Removing HTTP extra header 2026-10-29T07:49:23.3756305Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-29T07:49:23.3803137Z [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:49:23.4054727Z Removing includeIf entries pointing to credentials config files 2026-10-29T07:49:23.4059889Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-29T07:49:23.4107079Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-29T07:49:23.4361578Z [command]/usr/bin/git config --file /home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-10-29T07:49:23.4413878Z [command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path /home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config 2026-10-29T07:49:23.4456955Z [command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path /home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config 2026-10-29T07:49:23.4501644Z [command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config 2026-10-29T07:49:23.4545487Z [command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config 2026-10-29T07:49:23.4588138Z ##[endgroup] 2026-10-29T07:49:23.4589373Z ##[group]Fetching the repository 2026-10-29T07:49:23.4595070Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +4d84059734f93d4067c73c6469ec4a1bd4249bd4:refs/remotes/pull/1/merge 2026-10-29T07:49:23.7504901Z From https://github.com/Narayan201120/airlock-db 2026-10-29T07:49:23.7507642Z * [new ref] 4d84059734f93d4067c73c6469ec4a1bd4249bd4 -> pull/1/merge 2026-10-29T07:49:23.7512439Z ##[endgroup] 2026-10-29T07:49:23.7514114Z ##[group]Determining the checkout info 2026-10-29T07:49:23.7516008Z ##[endgroup] 2026-10-29T07:49:23.7516831Z [command]/usr/bin/git sparse-checkout disable 2026-10-29T07:49:23.7582121Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig 2026-10-29T07:49:23.7627488Z ##[group]Checking out the ref 2026-10-29T07:49:23.7631671Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/1/merge 2026-10-29T07:49:23.7769706Z Note: switching to 'refs/remotes/pull/1/merge'. 2026-10-29T07:49:23.7770731Z 2026-10-29T07:49:23.7771580Z You are in 'detached HEAD' state. You can look around, make experimental 2026-10-29T07:49:23.7774050Z changes and commit them, and you can discard any commits you make in this 2026-10-29T07:49:23.7777443Z state without impacting any branches by switching back to a branch. 2026-10-29T07:49:23.7779386Z 2026-10-29T07:49:23.7780861Z If you want to create a new branch to retain commits you create, you may 2026-10-29T07:49:23.7784262Z do so (now or later) by using -c with the switch command. Example: 2026-10-29T07:49:23.7786179Z 2026-10-29T07:49:23.7787152Z git switch -c 2026-10-29T07:49:23.7788544Z 2026-10-29T07:49:23.7789274Z Or undo this operation with: 2026-10-29T07:49:23.7790386Z 2026-10-29T07:49:23.7791096Z git switch - 2026-10-29T07:49:23.7791989Z 2026-10-29T07:49:23.7793646Z Turn off this advice by setting config variable advice.detachedHead to false 2026-10-29T07:49:23.7795786Z 2026-10-29T07:49:23.7798135Z HEAD is now at 4d84059 Merge 582070af979865a7fcca31c91faba9c30d2401cd into b630a06b5e882585234fb367b34195e27b38f145 2026-10-29T07:49:23.7805702Z ##[endgroup] 2026-10-29T07:49:23.7845232Z [command]/usr/bin/git log -1 --format=%H 2026-10-29T07:49:23.7884135Z 4d84059734f93d4067c73c6469ec4a1bd4249bd4 2026-10-29T07:49:23.8312417Z ##[group]Run actions/setup-python@v7 2026-10-29T07:49:23.8314432Z with: 2026-10-29T07:49:23.8315650Z python-version: 3.12 2026-10-29T07:49:23.8317068Z check-latest: false 2026-10-29T07:49:23.8331094Z token: *** 2026-10-29T07:49:23.8332443Z mirror: https://raw.githubusercontent.com/actions/python-versions/main 2026-10-29T07:49:23.8334432Z update-environment: true 2026-10-29T07:49:23.8335490Z allow-prereleases: false 2026-10-29T07:49:23.8336496Z freethreaded: false 2026-10-29T07:49:23.8337398Z ##[endgroup] 2026-10-29T07:49:23.9699727Z ##[group]Installed versions 2026-10-29T07:49:23.9788055Z Successfully set up CPython (3.12.15) 2026-10-29T07:49:23.9790240Z ##[endgroup] 2026-10-29T07:49:24.0015274Z ##[group]Run python -m pip install . 2026-10-29T07:49:24.0016426Z python -m pip install . 2026-10-29T07:49:24.0062441Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:24.0064008Z env: 2026-10-29T07:49:24.0065083Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:24.0067537Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:24.0069782Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:24.0071608Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:24.0073705Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:24.0075586Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:24.0077278Z ##[endgroup] 2026-10-29T07:49:24.7926045Z Processing ./. 2026-10-29T07:49:24.7942622Z Installing build dependencies: started 2026-10-29T07:49:25.5547468Z Installing build dependencies: finished with status 'done' 2026-10-29T07:49:25.5553269Z Getting requirements to build wheel: started 2026-10-29T07:49:26.0971778Z Getting requirements to build wheel: finished with status 'done' 2026-10-29T07:49:26.0983291Z Preparing metadata (pyproject.toml): started 2026-10-29T07:49:26.2937060Z Preparing metadata (pyproject.toml): finished with status 'done' 2026-10-29T07:49:26.4656802Z Collecting pydantic<3,>=2.6 (from airlock-db==0.4.0) 2026-10-29T07:49:26.5137390Z Downloading pydantic-2.14.1-py3-none-any.whl.metadata (133 kB) 2026-10-29T07:49:26.5898842Z Collecting PyYAML<7,>=6 (from airlock-db==0.4.0) 2026-10-29T07:49:26.5944005Z 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:49:26.6059678Z Collecting annotated-types>=0.6.0 (from pydantic<3,>=2.6->airlock-db==0.4.0) 2026-10-29T07:49:26.6100527Z Downloading annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB) 2026-10-29T07:49:27.2691304Z Collecting pydantic-core==2.50.1 (from pydantic<3,>=2.6->airlock-db==0.4.0) 2026-10-29T07:49:27.2732882Z Downloading pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.5 kB) 2026-10-29T07:49:27.2912815Z Collecting typing-extensions>=4.16.0 (from pydantic<3,>=2.6->airlock-db==0.4.0) 2026-10-29T07:49:27.2954353Z Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB) 2026-10-29T07:49:27.3220076Z Collecting typing-inspection>=0.4.4 (from pydantic<3,>=2.6->airlock-db==0.4.0) 2026-10-29T07:49:27.3260644Z Downloading typing_inspection-0.4.4-py3-none-any.whl.metadata (2.6 kB) 2026-10-29T07:49:27.3350037Z Downloading pydantic-2.14.1-py3-none-any.whl (488 kB) 2026-10-29T07:49:27.3569596Z Downloading pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB) 2026-10-29T07:49:27.4019038Z ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 52.9 MB/s 0:00:00 2026-10-29T07:49:27.4064025Z 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:49:27.4192314Z ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 807.9/807.9 kB 65.3 MB/s 0:00:00 2026-10-29T07:49:27.4233588Z Downloading annotated_types-0.8.0-py3-none-any.whl (13 kB) 2026-10-29T07:49:27.4295421Z Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB) 2026-10-29T07:49:27.4356479Z Downloading typing_inspection-0.4.4-py3-none-any.whl (14 kB) 2026-10-29T07:49:27.4605254Z Building wheels for collected packages: airlock-db 2026-10-29T07:49:27.4613865Z Building wheel for airlock-db (pyproject.toml): started 2026-10-29T07:49:27.7010466Z Building wheel for airlock-db (pyproject.toml): finished with status 'done' 2026-10-29T07:49:27.7018909Z Created wheel for airlock-db: filename=airlock_db-0.4.0-py3-none-any.whl size=117054 sha256=3a48e54413215e8bc6fd6b37ca938297604bc8503b70a9eb5f016110286e707e 2026-10-29T07:49:27.7021689Z Stored in directory: /tmp/pip-ephem-wheel-cache-fq9wtvdg/wheels/5f/43/9e/6abdb3d3b97373118381452e6db5c2a7d825478c746f086efb 2026-10-29T07:49:27.7047065Z Successfully built airlock-db 2026-10-29T07:49:27.7324632Z Installing collected packages: typing-extensions, PyYAML, annotated-types, typing-inspection, pydantic-core, pydantic, airlock-db 2026-10-29T07:49:28.2822934Z 2026-10-29T07:49:28.2844439Z 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:49:28.3662658Z ##[group]Run python -m compileall -q src 2026-10-29T07:49:28.3663062Z python -m compileall -q src 2026-10-29T07:49:28.3685114Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:28.3685459Z env: 2026-10-29T07:49:28.3685728Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.3686162Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:28.3686588Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.3686985Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.3687368Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.3687748Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:28.3688066Z ##[endgroup] 2026-10-29T07:49:28.5112755Z ##[group]Run set +e 2026-10-29T07:49:28.5113037Z set +e 2026-10-29T07:49:28.5114195Z python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --anonymize --output-dir ci-builtin 2026-10-29T07:49:28.5114855Z code=$? 2026-10-29T07:49:28.5115055Z set -e 2026-10-29T07:49:28.5115261Z test "$code" -eq 1 2026-10-29T07:49:28.5136974Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:28.5137323Z env: 2026-10-29T07:49:28.5137588Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.5138022Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:28.5138463Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.5138851Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.5139237Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.5139648Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:28.5139987Z ##[endgroup] 2026-10-29T07:49:28.7324805Z WARNING: Validation issue for source-4a89217394b32a94 record 5: missing 2026-10-29T07:49:28.7325998Z WARNING: Validation issue for source-4a89217394b32a94 record 6: missing 2026-10-29T07:49:28.7327256Z WARNING: Validation issue for source-4a89217394b32a94 record 7: missing 2026-10-29T07:49:28.7330433Z WARNING: Validation issue for source-4a89217394b32a94 record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:49:28.7332027Z WARNING: Validation issue for source-4a89217394b32a94 record 10: string_too_short 2026-10-29T07:49:28.7334976Z WARNING: Validation issue for source-4a89217394b32a94 record 12: string_too_short 2026-10-29T07:49:28.7342892Z WARNING: Validation issue for source-4a89217394b32a94 record 13: value_error 2026-10-29T07:49:28.7344671Z WARNING: Validation issue for source-4a89217394b32a94 record 14: value_error 2026-10-29T07:49:28.7346418Z WARNING: Validation issue for source-4a89217394b32a94 record 15: value_error 2026-10-29T07:49:28.7348094Z WARNING: Validation issue for source-4a89217394b32a94 record 16: value_error 2026-10-29T07:49:28.7349616Z WARNING: Validation issue for source-4a89217394b32a94 record 17: value_error 2026-10-29T07:49:28.7351310Z WARNING: Validation issue for source-4a89217394b32a94 record 18: string_too_long 2026-10-29T07:49:28.7353024Z WARNING: Validation issue for source-4a89217394b32a94 record 19: greater_than 2026-10-29T07:49:28.7354878Z WARNING: Validation issue for source-4a89217394b32a94 record 20: greater_than 2026-10-29T07:49:28.7356532Z WARNING: Validation issue for source-4a89217394b32a94 record 21: decimal_max_places 2026-10-29T07:49:28.7358089Z WARNING: Validation issue for source-4a89217394b32a94 record 22: decimal_max_digits 2026-10-29T07:49:28.7361192Z WARNING: Validation issue for source-4a89217394b32a94 record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:49:28.7364078Z WARNING: Validation issue for source-4a89217394b32a94 record 26: enum 2026-10-29T07:49:28.7365894Z WARNING: Validation issue for source-4a89217394b32a94 record 27: enum 2026-10-29T07:49:28.7367519Z WARNING: Validation issue for source-4a89217394b32a94 record 28: value_error 2026-10-29T07:49:28.7369086Z WARNING: Validation issue for source-4a89217394b32a94 record 29: string_pattern_mismatch 2026-10-29T07:49:28.7370580Z WARNING: Validation issue for source-4a89217394b32a94 record 30: string_too_long 2026-10-29T07:49:28.7372148Z WARNING: Validation issue for source-4a89217394b32a94 record 31: string_too_long 2026-10-29T07:49:28.7373798Z WARNING: Validation issue for source-4a89217394b32a94 record 32: is_instance_of 2026-10-29T07:49:28.7419707Z Records checked: 32 2026-10-29T07:49:28.7420211Z Valid: 8; invalid: 24 2026-10-29T07:49:28.7420681Z SQLite: target_migration.db (committed) 2026-10-29T07:49:28.7421190Z Report: airlock_report.html 2026-10-29T07:49:28.7681153Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-builtin \ 2026-10-29T07:49:28.7681918Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-builtin \ 2026-10-29T07:49:28.7682758Z  --expected-checked 32 --expected-valid 8 --expected-invalid 24 --expected-rows 8 \ 2026-10-29T07:49:28.7683303Z  --anonymized-field account_id --expect-type-mismatch-note 2026-10-29T07:49:28.7705243Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:28.7705595Z env: 2026-10-29T07:49:28.7705863Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.7706309Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:28.7706744Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.7707135Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.7707543Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.7707945Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:28.7708267Z ##[endgroup] 2026-10-29T07:49:28.8107774Z { 2026-10-29T07:49:28.8108133Z "anonymized_field_token_violations": { 2026-10-29T07:49:28.8108476Z "account_id": 0 2026-10-29T07:49:28.8108700Z }, 2026-10-29T07:49:28.8108911Z "invalid_records": 24, 2026-10-29T07:49:28.8109177Z "jsonl_rows": null, 2026-10-29T07:49:28.8109438Z "posted_at_index": true, 2026-10-29T07:49:28.8109705Z "records_checked": 32, 2026-10-29T07:49:28.8109963Z "report_standalone": true, 2026-10-29T07:49:28.8110240Z "sqlite_integrity": "ok", 2026-10-29T07:49:28.8110494Z "sqlite_rows": 8, 2026-10-29T07:49:28.8110728Z "status": "passed", 2026-10-29T07:49:28.8110985Z "summary_verified": true, 2026-10-29T07:49:28.8111262Z "type_mismatch_note_present": true, 2026-10-29T07:49:28.8111558Z "valid_records": 8 2026-10-29T07:49:28.8111780Z } 2026-10-29T07:49:28.8191665Z ##[group]Run python main.py --input examples/real_data/online_retail_sample.jsonl \ 2026-10-29T07:49:28.8192291Z python main.py --input examples/real_data/online_retail_sample.jsonl \ 2026-10-29T07:49:28.8192897Z  --config examples/real_data/online_retail_schema.json --anonymize --output-dir ci-real 2026-10-29T07:49:28.8213842Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:28.8214196Z env: 2026-10-29T07:49:28.8214471Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.8214928Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:28.8215373Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.8215779Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.8216204Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:28.8216604Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:28.8216962Z ##[endgroup] 2026-10-29T07:49:29.0167338Z Records checked: 10 2026-10-29T07:49:29.0167744Z Valid: 10; invalid: 0 2026-10-29T07:49:29.0168138Z SQLite: target_migration.db (committed) 2026-10-29T07:49:29.0168635Z Report: airlock_report.html 2026-10-29T07:49:29.0413208Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-real \ 2026-10-29T07:49:29.0414353Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-real \ 2026-10-29T07:49:29.0415008Z  --expected-checked 10 --expected-valid 10 --expected-invalid 0 --expected-rows 10 \ 2026-10-29T07:49:29.0415473Z  --anonymized-field customer_id 2026-10-29T07:49:29.0436136Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:29.0436473Z env: 2026-10-29T07:49:29.0436743Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.0437186Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:29.0437617Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.0438000Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.0438594Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.0438977Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:29.0439300Z ##[endgroup] 2026-10-29T07:49:29.0826455Z { 2026-10-29T07:49:29.0827099Z "anonymized_field_token_violations": { 2026-10-29T07:49:29.0827615Z "customer_id": 0 2026-10-29T07:49:29.0827975Z }, 2026-10-29T07:49:29.0828289Z "invalid_records": 0, 2026-10-29T07:49:29.0828676Z "jsonl_rows": null, 2026-10-29T07:49:29.0829068Z "posted_at_index": null, 2026-10-29T07:49:29.0829481Z "records_checked": 10, 2026-10-29T07:49:29.0829889Z "report_standalone": true, 2026-10-29T07:49:29.0830408Z "sqlite_integrity": "ok", 2026-10-29T07:49:29.0831377Z "sqlite_rows": 10, 2026-10-29T07:49:29.0831749Z "status": "passed", 2026-10-29T07:49:29.0832136Z "summary_verified": true, 2026-10-29T07:49:29.0832578Z "type_mismatch_note_present": false, 2026-10-29T07:49:29.0833045Z "valid_records": 10 2026-10-29T07:49:29.0833650Z } 2026-10-29T07:49:29.0905090Z ##[group]Run python main.py --input examples/real_data/online_retail_sample.jsonl \ 2026-10-29T07:49:29.0905702Z python main.py --input examples/real_data/online_retail_sample.jsonl \ 2026-10-29T07:49:29.0906236Z  --config examples/real_data/online_retail_schema.json --anonymize \ 2026-10-29T07:49:29.0906696Z  --output-format jsonl --output-dir ci-jsonl 2026-10-29T07:49:29.0907045Z test ! -f ci-jsonl/target_migration.db 2026-10-29T07:49:29.0907528Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-jsonl \ 2026-10-29T07:49:29.0908168Z  --skip-sqlite --expected-checked 10 --expected-valid 10 --expected-invalid 0 \ 2026-10-29T07:49:29.0908621Z  --expected-jsonl-rows 10 2026-10-29T07:49:29.0928511Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:29.0928850Z env: 2026-10-29T07:49:29.0929118Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.0929598Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:29.0930029Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.0930410Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.0930794Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.0931178Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:29.0931502Z ##[endgroup] 2026-10-29T07:49:29.2793836Z Records checked: 10 2026-10-29T07:49:29.2794394Z Valid: 10; invalid: 0 2026-10-29T07:49:29.2794887Z SQLite: not used (--output-format jsonl) 2026-10-29T07:49:29.2795457Z JSONL: target_migration.jsonl (10 records) 2026-10-29T07:49:29.2796007Z Report: airlock_report.html 2026-10-29T07:49:29.3357073Z { 2026-10-29T07:49:29.3357995Z "anonymized_field_token_violations": null, 2026-10-29T07:49:29.3358872Z "invalid_records": 0, 2026-10-29T07:49:29.3359293Z "jsonl_rows": 10, 2026-10-29T07:49:29.3359727Z "posted_at_index": null, 2026-10-29T07:49:29.3360148Z "records_checked": 10, 2026-10-29T07:49:29.3360560Z "report_standalone": true, 2026-10-29T07:49:29.3360998Z "sqlite_integrity": null, 2026-10-29T07:49:29.3361413Z "sqlite_rows": null, 2026-10-29T07:49:29.3361785Z "status": "passed", 2026-10-29T07:49:29.3362166Z "summary_verified": true, 2026-10-29T07:49:29.3362607Z "type_mismatch_note_present": false, 2026-10-29T07:49:29.3363078Z "valid_records": 10 2026-10-29T07:49:29.3363672Z } 2026-10-29T07:49:29.3441240Z ##[group]Run python - <<'PY' 2026-10-29T07:49:29.3441577Z python - <<'PY' 2026-10-29T07:49:29.3441821Z import csv 2026-10-29T07:49:29.3442029Z  2026-10-29T07:49:29.3442353Z header = ["transaction_id", "account_id", "posted_at", "amount", "currency", 2026-10-29T07:49:29.3442865Z  "transaction_type", "status", "counterparty", "description"] 2026-10-29T07:49:29.3443227Z rows = [ 2026-10-29T07:49:29.3444059Z  ["3f8a1c2e-4b6d-4e9a-8f1c-2d5e7a9b0c11", "ACC-1001", "2026-01-15T09:30:00Z", 2026-10-29T07:49:29.3444587Z  "125.50", "USD", "DEBIT", "POSTED", "Northwind, Ltd", "Monthly supplies"], 2026-10-29T07:49:29.3445138Z  ["8b2d4f6a-1c3e-4a5b-9d7e-0f1a2b3c4d5e", "ACC_2200", "2026-02-03T16:45:00+02:00", 2026-10-29T07:49:29.3445667Z  "89.99", "EUR", "CREDIT", "POSTED", "Blue Yonder Airlines", ""], 2026-10-29T07:49:29.3446170Z  ["not-a-uuid", "ACC-1001", "2026-03-01T10:00:00Z", "10.00", "USD", "DEBIT", 2026-10-29T07:49:29.3446591Z  "POSTED", "Example Co", ""], 2026-10-29T07:49:29.3446854Z ] 2026-10-29T07:49:29.3447170Z with open("ci-basic.csv", "w", encoding="utf-8-sig", newline="") as stream: 2026-10-29T07:49:29.3447582Z  writer = csv.writer(stream) 2026-10-29T07:49:29.3447861Z  writer.writerow(header) 2026-10-29T07:49:29.3448129Z  writer.writerows(rows) 2026-10-29T07:49:29.3448381Z PY 2026-10-29T07:49:29.3448716Z python main.py --input ci-basic.csv --output-dir ci-csv || test $? -eq 1 2026-10-29T07:49:29.3449303Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-csv \ 2026-10-29T07:49:29.3449920Z  --expected-checked 3 --expected-valid 2 --expected-invalid 1 --expected-rows 2 2026-10-29T07:49:29.3470279Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:29.3470626Z env: 2026-10-29T07:49:29.3470901Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.3471345Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:29.3471798Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.3472177Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.3472567Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.3472947Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:29.3473270Z ##[endgroup] 2026-10-29T07:49:29.5551109Z WARNING: Validation issue for ci-basic.csv record 3: value_error 2026-10-29T07:49:29.5592971Z Records checked: 3 2026-10-29T07:49:29.5593677Z Valid: 2; invalid: 1 2026-10-29T07:49:29.5594163Z SQLite: ci-csv/target_migration.db (committed) 2026-10-29T07:49:29.5594744Z Report: ci-csv/airlock_report.html 2026-10-29T07:49:29.6193749Z { 2026-10-29T07:49:29.6194296Z "anonymized_field_token_violations": null, 2026-10-29T07:49:29.6194895Z "invalid_records": 1, 2026-10-29T07:49:29.6195321Z "jsonl_rows": null, 2026-10-29T07:49:29.6195722Z "posted_at_index": true, 2026-10-29T07:49:29.6196137Z "records_checked": 3, 2026-10-29T07:49:29.6196543Z "report_standalone": true, 2026-10-29T07:49:29.6196976Z "sqlite_integrity": "ok", 2026-10-29T07:49:29.6197381Z "sqlite_rows": 2, 2026-10-29T07:49:29.6197750Z "status": "passed", 2026-10-29T07:49:29.6198139Z "summary_verified": true, 2026-10-29T07:49:29.6198608Z "type_mismatch_note_present": false, 2026-10-29T07:49:29.6199097Z "valid_records": 2 2026-10-29T07:49:29.6199471Z } 2026-10-29T07:49:29.6297611Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_archive_input.py ci-archives 2026-10-29T07:49:29.6298559Z python .cursor/skills/verify-airlock-db/scripts/verify_archive_input.py ci-archives 2026-10-29T07:49:29.6320693Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:29.6321037Z env: 2026-10-29T07:49:29.6321322Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.6321763Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:29.6322190Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.6322572Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.6322953Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:29.6323557Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:29.6324207Z ##[endgroup] 2026-10-29T07:49:30.9297328Z archive_input_ok scenarios=6 evidence=/home/runner/work/airlock-db/airlock-db/ci-archives/archive_verification.json 2026-10-29T07:49:30.9411508Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_schema_infer.py ci-infer 2026-10-29T07:49:30.9412229Z python .cursor/skills/verify-airlock-db/scripts/verify_schema_infer.py ci-infer 2026-10-29T07:49:30.9432757Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:30.9433095Z env: 2026-10-29T07:49:30.9433650Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:30.9434120Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:30.9434553Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:30.9434939Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:30.9435319Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:30.9435720Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:30.9436056Z ##[endgroup] 2026-10-29T07:49:32.9421195Z schema_infer_ok scenarios=8 evidence=/home/runner/work/airlock-db/airlock-db/ci-infer/schema_infer_verification.json 2026-10-29T07:49:32.9532769Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_handoff.py ci-handoff 2026-10-29T07:49:32.9533770Z python .cursor/skills/verify-airlock-db/scripts/verify_handoff.py ci-handoff 2026-10-29T07:49:32.9554642Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:32.9554975Z env: 2026-10-29T07:49:32.9555232Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:32.9555672Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:32.9556119Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:32.9556516Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:32.9556914Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:32.9557301Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:32.9557622Z ##[endgroup] 2026-10-29T07:49:36.3937342Z verify_handoff_ok scenarios=10 evidence=/home/runner/work/airlock-db/airlock-db/ci-handoff/verify_handoff_verification.json 2026-10-29T07:49:36.4039603Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_target.py ci-jsonl-verify 2026-10-29T07:49:36.4040392Z python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_target.py ci-jsonl-verify 2026-10-29T07:49:36.4060981Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:36.4061314Z env: 2026-10-29T07:49:36.4061575Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:36.4062002Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:36.4062425Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:36.4062811Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:36.4063182Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:36.4063857Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:36.4064182Z ##[endgroup] 2026-10-29T07:49:40.9154316Z jsonl_target_ok scenarios=10 evidence=/home/runner/work/airlock-db/airlock-db/ci-jsonl-verify/jsonl_target_verification.json 2026-10-29T07:49:40.9254166Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_source_manifest.py ci-source-manifest 2026-10-29T07:49:40.9254983Z python .cursor/skills/verify-airlock-db/scripts/verify_source_manifest.py ci-source-manifest 2026-10-29T07:49:40.9275482Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:40.9275820Z env: 2026-10-29T07:49:40.9276079Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:40.9276513Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:40.9277120Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:40.9277500Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:40.9277902Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:40.9278296Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:40.9278623Z ##[endgroup] 2026-10-29T07:49:43.5337217Z source_manifest_ok scenarios=9 evidence=/home/runner/work/airlock-db/airlock-db/ci-source-manifest/source_manifest_verification.json 2026-10-29T07:49:43.5436182Z ##[group]Run python - <<'PY' 2026-10-29T07:49:43.5436532Z python - <<'PY' 2026-10-29T07:49:43.5436772Z import sqlite3 2026-10-29T07:49:43.5436992Z  2026-10-29T07:49:43.5437339Z columns = ("transaction_id TEXT, account_id TEXT, posted_at TEXT, amount TEXT, " 2026-10-29T07:49:43.5437915Z  "currency TEXT, transaction_type TEXT, status TEXT, counterparty TEXT, " 2026-10-29T07:49:43.5438354Z  "description TEXT") 2026-10-29T07:49:43.5438668Z connection = sqlite3.connect("ci-multi.db") 2026-10-29T07:49:43.5439037Z connection.execute(f"CREATE TABLE a ({columns})") 2026-10-29T07:49:43.5439417Z connection.execute(f"CREATE TABLE b ({columns})") 2026-10-29T07:49:43.5439744Z connection.execute( 2026-10-29T07:49:43.5440122Z  "INSERT INTO a VALUES ('3f8a1c2e-4b6d-4e9a-8f1c-2d5e7a9b0c11', 'ACC-1001', " 2026-10-29T07:49:43.5440684Z  "'2026-01-15T09:30:00Z', '125.50', 'USD', 'DEBIT', 'POSTED', 'Northwind', NULL)") 2026-10-29T07:49:43.5441095Z connection.execute( 2026-10-29T07:49:43.5441471Z  "INSERT INTO b VALUES ('8b2d4f6a-1c3e-4a5b-9d7e-0f1a2b3c4d5e', 'ACC_2200', " 2026-10-29T07:49:43.5442017Z  "'2026-02-03T16:45:00+02:00', '89.99', 'EUR', 'CREDIT', 'POSTED', 'Blue Yonder', NULL)") 2026-10-29T07:49:43.5442444Z connection.execute( 2026-10-29T07:49:43.5442806Z  "INSERT INTO b VALUES ('not-a-uuid', 'ACC-1001', '2026-03-01T10:00:00Z', " 2026-10-29T07:49:43.5443252Z  "'10.00', 'USD', 'DEBIT', 'POSTED', 'Example', NULL)") 2026-10-29T07:49:43.5443890Z connection.commit() 2026-10-29T07:49:43.5444129Z connection.close() 2026-10-29T07:49:43.5444353Z PY 2026-10-29T07:49:43.5444816Z python main.py --source-db ci-multi.db --source-table a --source-table b --output-dir ci-multi || test $? -eq 1 2026-10-29T07:49:43.5445537Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-multi \ 2026-10-29T07:49:43.5446150Z  --expected-checked 3 --expected-valid 2 --expected-invalid 1 --expected-rows 2 2026-10-29T07:49:43.5466660Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:43.5467007Z env: 2026-10-29T07:49:43.5467276Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:43.5467717Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:43.5468148Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:43.5468525Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:43.5468906Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:43.5469290Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:43.5469606Z ##[endgroup] 2026-10-29T07:49:43.7539566Z WARNING: Validation issue for ci-multi.db (b) record 2: value_error 2026-10-29T07:49:43.7578133Z Records checked: 3 2026-10-29T07:49:43.7578579Z Valid: 2; invalid: 1 2026-10-29T07:49:43.7579021Z SQLite: ci-multi/target_migration.db (committed) 2026-10-29T07:49:43.7579530Z Report: ci-multi/airlock_report.html 2026-10-29T07:49:43.8156704Z { 2026-10-29T07:49:43.8157199Z "anonymized_field_token_violations": null, 2026-10-29T07:49:43.8157699Z "invalid_records": 1, 2026-10-29T07:49:43.8158077Z "jsonl_rows": null, 2026-10-29T07:49:43.8158837Z "posted_at_index": true, 2026-10-29T07:49:43.8159229Z "records_checked": 3, 2026-10-29T07:49:43.8159615Z "report_standalone": true, 2026-10-29T07:49:43.8160022Z "sqlite_integrity": "ok", 2026-10-29T07:49:43.8160414Z "sqlite_rows": 2, 2026-10-29T07:49:43.8160768Z "status": "passed", 2026-10-29T07:49:43.8161143Z "summary_verified": true, 2026-10-29T07:49:43.8161585Z "type_mismatch_note_present": false, 2026-10-29T07:49:43.8162041Z "valid_records": 2 2026-10-29T07:49:43.8162387Z } 2026-10-29T07:49:43.8258726Z ##[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:49:43.8259933Z python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-repair || test $? -eq 1 2026-10-29T07:49:43.8261057Z 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:49:43.8262123Z 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:49:43.8282669Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:43.8283012Z env: 2026-10-29T07:49:43.8283277Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:43.8284290Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:43.8284751Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:43.8285130Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:43.8285529Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:43.8285920Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:43.8286245Z ##[endgroup] 2026-10-29T07:49:44.0119310Z WARNING: Validation issue for examples/messy_transactions.json record 5: missing 2026-10-29T07:49:44.0120544Z WARNING: Validation issue for examples/messy_transactions.json record 6: missing 2026-10-29T07:49:44.0122424Z WARNING: Validation issue for examples/messy_transactions.json record 7: missing 2026-10-29T07:49:44.0126251Z WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:49:44.0127887Z WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short 2026-10-29T07:49:44.0130228Z WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short 2026-10-29T07:49:44.0133016Z WARNING: Validation issue for examples/messy_transactions.json record 13: value_error 2026-10-29T07:49:44.0135783Z WARNING: Validation issue for examples/messy_transactions.json record 14: value_error 2026-10-29T07:49:44.0137693Z WARNING: Validation issue for examples/messy_transactions.json record 15: value_error 2026-10-29T07:49:44.0139585Z WARNING: Validation issue for examples/messy_transactions.json record 16: value_error 2026-10-29T07:49:44.0141431Z WARNING: Validation issue for examples/messy_transactions.json record 17: value_error 2026-10-29T07:49:44.0143298Z WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long 2026-10-29T07:49:44.0145702Z WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than 2026-10-29T07:49:44.0147510Z WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than 2026-10-29T07:49:44.0149348Z WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places 2026-10-29T07:49:44.0152310Z WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits 2026-10-29T07:49:44.0155261Z WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:49:44.0157912Z WARNING: Validation issue for examples/messy_transactions.json record 26: enum 2026-10-29T07:49:44.0160126Z WARNING: Validation issue for examples/messy_transactions.json record 27: enum 2026-10-29T07:49:44.0161988Z WARNING: Validation issue for examples/messy_transactions.json record 28: value_error 2026-10-29T07:49:44.0164186Z WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch 2026-10-29T07:49:44.0166418Z WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long 2026-10-29T07:49:44.0168121Z WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long 2026-10-29T07:49:44.0170008Z WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of 2026-10-29T07:49:44.0218133Z Records checked: 32 2026-10-29T07:49:44.0218513Z Valid: 8; invalid: 24 2026-10-29T07:49:44.0218812Z SQLite: ci-repair/target_migration.db (committed) 2026-10-29T07:49:44.0219162Z Repair log: ci-repair/airlock_errors.jsonl 2026-10-29T07:49:44.0219472Z Report: ci-repair/airlock_report.html 2026-10-29T07:49:44.4864939Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_repair_summary.py ci-repair-summary 2026-10-29T07:49:44.4866281Z python .cursor/skills/verify-airlock-db/scripts/verify_repair_summary.py ci-repair-summary 2026-10-29T07:49:44.4894163Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:44.4894728Z env: 2026-10-29T07:49:44.4895166Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:44.4895914Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:44.4896666Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:44.4897334Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:44.4898064Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:44.4898748Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:44.4899333Z ##[endgroup] 2026-10-29T07:49:48.5219469Z repair_summary_ok scenarios=8 evidence=/home/runner/work/airlock-db/airlock-db/ci-repair-summary/repair_summary_verification.json 2026-10-29T07:49:48.5319977Z ##[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:49:48.5321209Z python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-decisions || test $? -eq 1 2026-10-29T07:49:48.5322322Z 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:49:48.5323678Z python main.py repair --error-log ci-decisions/airlock_errors.jsonl --constraints examples/constraints.json --decisions ci-decisions.jsonl 2026-10-29T07:49:48.5324565Z python main.py report --output-dir ci-decisions | grep -q 'Repair outcomes: 2 corrected, 1 dropped' 2026-10-29T07:49:48.5345312Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:48.5345660Z env: 2026-10-29T07:49:48.5345925Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:48.5346376Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:48.5346806Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:48.5347207Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:48.5347623Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:48.5348027Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:48.5348356Z ##[endgroup] 2026-10-29T07:49:48.7228397Z WARNING: Validation issue for examples/messy_transactions.json record 5: missing 2026-10-29T07:49:48.7230292Z WARNING: Validation issue for examples/messy_transactions.json record 6: missing 2026-10-29T07:49:48.7231974Z WARNING: Validation issue for examples/messy_transactions.json record 7: missing 2026-10-29T07:49:48.7235347Z WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:49:48.7237088Z WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short 2026-10-29T07:49:48.7239734Z WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short 2026-10-29T07:49:48.7242485Z WARNING: Validation issue for examples/messy_transactions.json record 13: value_error 2026-10-29T07:49:48.7245084Z WARNING: Validation issue for examples/messy_transactions.json record 14: value_error 2026-10-29T07:49:48.7247092Z WARNING: Validation issue for examples/messy_transactions.json record 15: value_error 2026-10-29T07:49:48.7248993Z WARNING: Validation issue for examples/messy_transactions.json record 16: value_error 2026-10-29T07:49:48.7250795Z WARNING: Validation issue for examples/messy_transactions.json record 17: value_error 2026-10-29T07:49:48.7252634Z WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long 2026-10-29T07:49:48.7254982Z WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than 2026-10-29T07:49:48.7256864Z WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than 2026-10-29T07:49:48.7258713Z WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places 2026-10-29T07:49:48.7261577Z WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits 2026-10-29T07:49:48.7264777Z WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:49:48.7267121Z WARNING: Validation issue for examples/messy_transactions.json record 26: enum 2026-10-29T07:49:48.7269121Z WARNING: Validation issue for examples/messy_transactions.json record 27: enum 2026-10-29T07:49:48.7270820Z WARNING: Validation issue for examples/messy_transactions.json record 28: value_error 2026-10-29T07:49:48.7272690Z WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch 2026-10-29T07:49:48.7274180Z WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long 2026-10-29T07:49:48.7275849Z WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long 2026-10-29T07:49:48.7277608Z WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of 2026-10-29T07:49:48.7326642Z Records checked: 32 2026-10-29T07:49:48.7327070Z Valid: 8; invalid: 24 2026-10-29T07:49:48.7327439Z SQLite: ci-decisions/target_migration.db (committed) 2026-10-29T07:49:48.7327815Z Repair log: ci-decisions/airlock_errors.jsonl 2026-10-29T07:49:48.7328137Z Report: ci-decisions/airlock_report.html 2026-10-29T07:49:48.9347649Z Repair log: ci-decisions/airlock_errors.jsonl 2026-10-29T07:49:48.9348233Z Schema: FinancialTransaction; target: ci-decisions/target_migration.db 2026-10-29T07:49:48.9348848Z Each rejected row will be reviewed interactively. Type q to finish this session. 2026-10-29T07:49:48.9349456Z Corrected record passed validation and was staged with its resume checkpoint. 2026-10-29T07:49:48.9350053Z Corrected record passed validation and was staged with its resume checkpoint. 2026-10-29T07:49:48.9350611Z Repair complete: 2 corrected, 1 dropped, 0 non-repairable entries. 2026-10-29T07:49:48.9351270Z SQLite: ci-decisions/target_migration.db (2 inserted, 0 duplicates, 0 updated; 3 repair decisions saved) 2026-10-29T07:49:49.1532381Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_decisions_dry_run.py ci-decisions-dry-run 2026-10-29T07:49:49.1533211Z python .cursor/skills/verify-airlock-db/scripts/verify_decisions_dry_run.py ci-decisions-dry-run 2026-10-29T07:49:49.1553776Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:49.1554323Z env: 2026-10-29T07:49:49.1554595Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:49.1555038Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:49.1555483Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:49.1555867Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:49.1556246Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:49.1556628Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:49.1556950Z ##[endgroup] 2026-10-29T07:49:50.7839381Z 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:49:50.7955946Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_dry_run.py ci-dry-run 2026-10-29T07:49:50.7957134Z python .cursor/skills/verify-airlock-db/scripts/verify_dry_run.py ci-dry-run 2026-10-29T07:49:50.7987088Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:50.7987691Z env: 2026-10-29T07:49:50.7988170Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:50.7988972Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:50.7989756Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:50.7990460Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:50.7991169Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:50.7991889Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:50.7992493Z ##[endgroup] 2026-10-29T07:49:53.0467371Z dry_run_ok scenarios=8 evidence=/home/runner/work/airlock-db/airlock-db/ci-dry-run/dry_run_verification.json 2026-10-29T07:49:53.0566790Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_config_check.py ci-config-check 2026-10-29T07:49:53.0567545Z python .cursor/skills/verify-airlock-db/scripts/verify_config_check.py ci-config-check 2026-10-29T07:49:53.0587915Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:53.0588252Z env: 2026-10-29T07:49:53.0588521Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:53.0588961Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:53.0589391Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:53.0589766Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:53.0590152Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:53.0590536Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:53.0590858Z ##[endgroup] 2026-10-29T07:49:54.6220903Z config_check_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-config-check/config_check_verification.json 2026-10-29T07:49:54.6333300Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_input_encoding.py ci-input-encoding 2026-10-29T07:49:54.6334422Z python .cursor/skills/verify-airlock-db/scripts/verify_input_encoding.py ci-input-encoding 2026-10-29T07:49:54.6354995Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:54.6355344Z env: 2026-10-29T07:49:54.6355609Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:54.6356045Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:54.6356497Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:54.6356889Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:54.6357271Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:54.6357650Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:54.6357969Z ##[endgroup] 2026-10-29T07:49:58.3973992Z input_encoding_ok scenarios=9 evidence=/home/runner/work/airlock-db/airlock-db/ci-input-encoding/input_encoding_verification.json 2026-10-29T07:49:58.4079054Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_run_compare.py ci-run-compare 2026-10-29T07:49:58.4079794Z python .cursor/skills/verify-airlock-db/scripts/verify_run_compare.py ci-run-compare 2026-10-29T07:49:58.4099900Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:58.4100239Z env: 2026-10-29T07:49:58.4100502Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:58.4100945Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:58.4101387Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:58.4101768Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:58.4102150Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:58.4102534Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:58.4102856Z ##[endgroup] 2026-10-29T07:49:59.8332289Z run_compare_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-run-compare/run_compare_verification.json 2026-10-29T07:49:59.8432832Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_dynamic_constraints.py ci-dynamic-constraints 2026-10-29T07:49:59.8433991Z python .cursor/skills/verify-airlock-db/scripts/verify_dynamic_constraints.py ci-dynamic-constraints 2026-10-29T07:49:59.8454230Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:49:59.8454572Z env: 2026-10-29T07:49:59.8454842Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:59.8455289Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:49:59.8455723Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:59.8456099Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:59.8456480Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:49:59.8456863Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:49:59.8457197Z ##[endgroup] 2026-10-29T07:50:03.2706995Z dynamic_constraints_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-dynamic-constraints/dynamic_constraints_verification.json 2026-10-29T07:50:03.2804305Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_xml_equivalence.py \ 2026-10-29T07:50:03.2804986Z python .cursor/skills/verify-airlock-db/scripts/verify_xml_equivalence.py \ 2026-10-29T07:50:03.2805572Z  examples/messy_transactions.json --constraints examples/constraints.json 2026-10-29T07:50:03.2826042Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:03.2826388Z env: 2026-10-29T07:50:03.2826660Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:03.2827096Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:03.2827518Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:03.2827908Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:03.2828301Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:03.2828677Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:03.2829020Z ##[endgroup] 2026-10-29T07:50:03.7345625Z records=8 2026-10-29T07:50:03.7346130Z table=transactions 2026-10-29T07:50:03.7346488Z xml_equals_json=true 2026-10-29T07:50:03.7451186Z ##[group]Run python - <<'PY' 2026-10-29T07:50:03.7451544Z python - <<'PY' 2026-10-29T07:50:03.7451790Z import json 2026-10-29T07:50:03.7452020Z import sqlite3 2026-10-29T07:50:03.7452248Z  2026-10-29T07:50:03.7452602Z rows = json.load(open("examples/messy_transactions.json", encoding="utf-8")) 2026-10-29T07:50:03.7453069Z chosen = [rows[0], rows[3], rows[4], rows[8]] 2026-10-29T07:50:03.7453770Z connection = sqlite3.connect("legacy-source.db") 2026-10-29T07:50:03.7454152Z connection.execute( 2026-10-29T07:50:03.7454720Z  "CREATE TABLE transactions (transaction_id TEXT, account_id TEXT, " 2026-10-29T07:50:03.7455237Z  "posted_at TEXT, amount TEXT, currency TEXT, transaction_type TEXT, " 2026-10-29T07:50:03.7455711Z  "status TEXT, counterparty TEXT, description TEXT)" 2026-10-29T07:50:03.7456034Z ) 2026-10-29T07:50:03.7456261Z for row in chosen: 2026-10-29T07:50:03.7456511Z  amount = row.get("amount") 2026-10-29T07:50:03.7456799Z  if isinstance(amount, float): 2026-10-29T07:50:03.7457082Z  amount = repr(amount) 2026-10-29T07:50:03.7457351Z  connection.execute( 2026-10-29T07:50:03.7457692Z  "INSERT INTO transactions VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", 2026-10-29T07:50:03.7458048Z  ( 2026-10-29T07:50:03.7458286Z  row.get("transaction_id"), 2026-10-29T07:50:03.7458578Z  row.get("account_id"), 2026-10-29T07:50:03.7458870Z  row.get("posted_at"), 2026-10-29T07:50:03.7459137Z  amount, 2026-10-29T07:50:03.7459378Z  row.get("currency"), 2026-10-29T07:50:03.7459671Z  row.get("transaction_type"), 2026-10-29T07:50:03.7459960Z  row.get("status"), 2026-10-29T07:50:03.7460240Z  row.get("counterparty"), 2026-10-29T07:50:03.7460534Z  row.get("description"), 2026-10-29T07:50:03.7460804Z  ), 2026-10-29T07:50:03.7461005Z  ) 2026-10-29T07:50:03.7461205Z connection.commit() 2026-10-29T07:50:03.7461444Z connection.close() 2026-10-29T07:50:03.7461667Z PY 2026-10-29T07:50:03.7462050Z python main.py --source-db legacy-source.db --output-dir ci-source-db || test $? -eq 1 2026-10-29T07:50:03.7462712Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-source-db \ 2026-10-29T07:50:03.7463606Z  --expected-checked 4 --expected-valid 2 --expected-invalid 2 --expected-rows 2 2026-10-29T07:50:03.7484060Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:03.7484403Z env: 2026-10-29T07:50:03.7484666Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:03.7485098Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:03.7485544Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:03.7485944Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:03.7486333Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:03.7486722Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:03.7487049Z ##[endgroup] 2026-10-29T07:50:03.9566287Z WARNING: Validation issue for legacy-source.db (transactions) record 3: uuid_type (type mismatch in transaction_id; no automatic conversion applied) 2026-10-29T07:50:03.9567614Z WARNING: Validation issue for legacy-source.db (transactions) record 4: value_error 2026-10-29T07:50:03.9605858Z Records checked: 4 2026-10-29T07:50:03.9606184Z Valid: 2; invalid: 2 2026-10-29T07:50:03.9606486Z SQLite: ci-source-db/target_migration.db (committed) 2026-10-29T07:50:03.9606849Z Report: ci-source-db/airlock_report.html 2026-10-29T07:50:04.0173903Z { 2026-10-29T07:50:04.0175016Z "anonymized_field_token_violations": null, 2026-10-29T07:50:04.0175551Z "invalid_records": 2, 2026-10-29T07:50:04.0175910Z "jsonl_rows": null, 2026-10-29T07:50:04.0176267Z "posted_at_index": true, 2026-10-29T07:50:04.0176631Z "records_checked": 4, 2026-10-29T07:50:04.0176991Z "report_standalone": true, 2026-10-29T07:50:04.0177373Z "sqlite_integrity": "ok", 2026-10-29T07:50:04.0177757Z "sqlite_rows": 2, 2026-10-29T07:50:04.0178087Z "status": "passed", 2026-10-29T07:50:04.0178441Z "summary_verified": true, 2026-10-29T07:50:04.0178858Z "type_mismatch_note_present": true, 2026-10-29T07:50:04.0179533Z "valid_records": 2 2026-10-29T07:50:04.0179888Z } 2026-10-29T07:50:04.0264591Z ##[group]Run python scripts/soak_migration.py --rows 100000 --max-peak-rss-mib 300 ci-soak 2026-10-29T07:50:04.0265260Z python scripts/soak_migration.py --rows 100000 --max-peak-rss-mib 300 ci-soak 2026-10-29T07:50:04.0285735Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:04.0286077Z env: 2026-10-29T07:50:04.0286342Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:04.0286797Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:04.0287254Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:04.0287638Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:04.0288022Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:04.0288408Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:04.0288729Z ##[endgroup] 2026-10-29T07:50:09.0955522Z Generated 100,000 JSONL records (26,410,890 bytes). 2026-10-29T07:50:09.0956169Z run 1/1: 4.315s, 23,177 records/s, peak RSS 41.2 MiB (getrusage) 2026-10-29T07:50:09.0956883Z soak_ok rows=100000 runs=1 seconds=4.315 peak_rss_mib=41.2 evidence=/home/runner/work/airlock-db/airlock-db/ci-soak/soak_verification.json 2026-10-29T07:50:09.1064188Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_cli_wins.py ci-cli-wins 2026-10-29T07:50:09.1064902Z python .cursor/skills/verify-airlock-db/scripts/verify_cli_wins.py ci-cli-wins 2026-10-29T07:50:09.1085504Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:09.1085860Z env: 2026-10-29T07:50:09.1086126Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:09.1086556Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:09.1086980Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:09.1087358Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:09.1087778Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:09.1088256Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:09.1103797Z ##[endgroup] 2026-10-29T07:50:13.5102757Z cli_wins_ok scenarios=11 evidence=/home/runner/work/airlock-db/airlock-db/ci-cli-wins/cli_wins_verification.json 2026-10-29T07:50:13.5222031Z ##[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:50:13.5224119Z printf '{"ticket_id": "TKT-000001", "customer_name": "Alice", "priority": "HIGH", "opened_at": "2026-01-05T08:00:00Z"}\n' > ci-ticket.jsonl 2026-10-29T07:50:13.5225676Z python main.py --input ci-ticket.jsonl --config examples/schema_config.yaml --output-dir ci-yaml 2026-10-29T07:50:13.5256805Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:13.5257417Z env: 2026-10-29T07:50:13.5257879Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:13.5258657Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:13.5259474Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:13.5260255Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:13.5261013Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:13.5261742Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:13.5262354Z ##[endgroup] 2026-10-29T07:50:13.7304587Z Records checked: 1 2026-10-29T07:50:13.7304963Z Valid: 1; invalid: 0 2026-10-29T07:50:13.7305300Z SQLite: ci-yaml/target_migration.db (committed) 2026-10-29T07:50:13.7305699Z Report: ci-yaml/airlock_report.html 2026-10-29T07:50:13.7560098Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_transforms.py ci-transforms 2026-10-29T07:50:13.7560828Z python .cursor/skills/verify-airlock-db/scripts/verify_transforms.py ci-transforms 2026-10-29T07:50:13.7581795Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:13.7582137Z env: 2026-10-29T07:50:13.7582400Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:13.7582838Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:13.7583278Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:13.7583932Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:13.7584317Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:13.7584699Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:13.7585023Z ##[endgroup] 2026-10-29T07:50:15.4886584Z transforms_ok scenarios=7 evidence=/home/runner/work/airlock-db/airlock-db/ci-transforms/transforms_verification.json 2026-10-29T07:50:15.4986949Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_fixed_width.py ci-fixed-width 2026-10-29T07:50:15.4987705Z python .cursor/skills/verify-airlock-db/scripts/verify_fixed_width.py ci-fixed-width 2026-10-29T07:50:15.5007615Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:15.5007952Z env: 2026-10-29T07:50:15.5008216Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:15.5008647Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:15.5009087Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:15.5009482Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:15.5009856Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:15.5010233Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:15.5010555Z ##[endgroup] 2026-10-29T07:50:18.3283064Z fixed_width_ok scenarios=9 evidence=/home/runner/work/airlock-db/airlock-db/ci-fixed-width/fixed_width_verification.json 2026-10-29T07:50:18.3391349Z ##[group]Run python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_reader.py ci-reader-edges 2026-10-29T07:50:18.3392110Z python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_reader.py ci-reader-edges 2026-10-29T07:50:18.3412377Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:18.3412724Z env: 2026-10-29T07:50:18.3412994Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:18.3413723Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:18.3414176Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:18.3414564Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:18.3414950Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:18.3415338Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:18.3415662Z ##[endgroup] 2026-10-29T07:50:18.8297425Z jsonl_csv_reader_ok checks=73 2026-10-29T07:50:18.8439439Z ##[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:50:18.8440690Z 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:50:18.8441916Z 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:50:18.8442720Z grep -q 'Resumed: 32' ci-resume.log 2026-10-29T07:50:18.8443230Z python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-checkpoint \ 2026-10-29T07:50:18.8444177Z  --expected-checked 32 --expected-valid 8 --expected-invalid 24 --expected-rows 8 2026-10-29T07:50:18.8464374Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:18.8464886Z env: 2026-10-29T07:50:18.8465149Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:18.8465595Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:18.8466063Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:18.8466440Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:18.8466820Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:18.8467209Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:18.8467530Z ##[endgroup] 2026-10-29T07:50:19.0276712Z WARNING: Validation issue for examples/messy_transactions.json record 5: missing 2026-10-29T07:50:19.0277822Z WARNING: Validation issue for examples/messy_transactions.json record 6: missing 2026-10-29T07:50:19.0279065Z WARNING: Validation issue for examples/messy_transactions.json record 7: missing 2026-10-29T07:50:19.0281965Z WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:50:19.0283829Z WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short 2026-10-29T07:50:19.0285970Z WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short 2026-10-29T07:50:19.0288818Z WARNING: Validation issue for examples/messy_transactions.json record 13: value_error 2026-10-29T07:50:19.0290379Z WARNING: Validation issue for examples/messy_transactions.json record 14: value_error 2026-10-29T07:50:19.0291935Z WARNING: Validation issue for examples/messy_transactions.json record 15: value_error 2026-10-29T07:50:19.0293731Z WARNING: Validation issue for examples/messy_transactions.json record 16: value_error 2026-10-29T07:50:19.0295143Z WARNING: Validation issue for examples/messy_transactions.json record 17: value_error 2026-10-29T07:50:19.0296723Z WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long 2026-10-29T07:50:19.0298187Z WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than 2026-10-29T07:50:19.0299605Z WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than 2026-10-29T07:50:19.0301072Z WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places 2026-10-29T07:50:19.0302531Z WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits 2026-10-29T07:50:19.0305803Z WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:50:19.0317541Z WARNING: Validation issue for examples/messy_transactions.json record 26: enum 2026-10-29T07:50:19.0318876Z WARNING: Validation issue for examples/messy_transactions.json record 27: enum 2026-10-29T07:50:19.0320465Z WARNING: Validation issue for examples/messy_transactions.json record 28: value_error 2026-10-29T07:50:19.0322328Z WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch 2026-10-29T07:50:19.0325248Z WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long 2026-10-29T07:50:19.0326657Z WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long 2026-10-29T07:50:19.0328110Z WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of 2026-10-29T07:50:19.0371196Z Records checked: 32 2026-10-29T07:50:19.0371616Z Valid: 8; invalid: 24 2026-10-29T07:50:19.0372115Z SQLite: ci-checkpoint/target_migration.db (committed) 2026-10-29T07:50:19.0372557Z Report: ci-checkpoint/airlock_report.html 2026-10-29T07:50:19.2340948Z WARNING: Validation issue for examples/messy_transactions.json record 5: missing 2026-10-29T07:50:19.2342139Z WARNING: Validation issue for examples/messy_transactions.json record 6: missing 2026-10-29T07:50:19.2343656Z WARNING: Validation issue for examples/messy_transactions.json record 7: missing 2026-10-29T07:50:19.2346128Z WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:50:19.2347372Z WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short 2026-10-29T07:50:19.2349472Z WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short 2026-10-29T07:50:19.2351868Z WARNING: Validation issue for examples/messy_transactions.json record 13: value_error 2026-10-29T07:50:19.2353767Z WARNING: Validation issue for examples/messy_transactions.json record 14: value_error 2026-10-29T07:50:19.2355468Z WARNING: Validation issue for examples/messy_transactions.json record 15: value_error 2026-10-29T07:50:19.2356798Z WARNING: Validation issue for examples/messy_transactions.json record 16: value_error 2026-10-29T07:50:19.2358409Z WARNING: Validation issue for examples/messy_transactions.json record 17: value_error 2026-10-29T07:50:19.2359705Z WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long 2026-10-29T07:50:19.2361433Z WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than 2026-10-29T07:50:19.2362807Z WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than 2026-10-29T07:50:19.2364742Z WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places 2026-10-29T07:50:19.2366071Z WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits 2026-10-29T07:50:19.2368254Z WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:50:19.2370381Z WARNING: Validation issue for examples/messy_transactions.json record 26: enum 2026-10-29T07:50:19.2371975Z WARNING: Validation issue for examples/messy_transactions.json record 27: enum 2026-10-29T07:50:19.2373532Z WARNING: Validation issue for examples/messy_transactions.json record 28: value_error 2026-10-29T07:50:19.2375366Z WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch 2026-10-29T07:50:19.2376493Z WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long 2026-10-29T07:50:19.2378102Z WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long 2026-10-29T07:50:19.2379271Z WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of 2026-10-29T07:50:19.2964687Z { 2026-10-29T07:50:19.2965265Z "anonymized_field_token_violations": null, 2026-10-29T07:50:19.2965920Z "invalid_records": 24, 2026-10-29T07:50:19.2966399Z "jsonl_rows": null, 2026-10-29T07:50:19.2966862Z "posted_at_index": true, 2026-10-29T07:50:19.2967343Z "records_checked": 32, 2026-10-29T07:50:19.2967823Z "report_standalone": true, 2026-10-29T07:50:19.2968331Z "sqlite_integrity": "ok", 2026-10-29T07:50:19.2968814Z "sqlite_rows": 8, 2026-10-29T07:50:19.2969514Z "status": "passed", 2026-10-29T07:50:19.2969817Z "summary_verified": true, 2026-10-29T07:50:19.2970138Z "type_mismatch_note_present": true, 2026-10-29T07:50:19.2970469Z "valid_records": 8 2026-10-29T07:50:19.2970720Z } 2026-10-29T07:50:19.3040720Z ##[group]Run python scripts/perf_budget.py --work-dir ci-perf-budget 2026-10-29T07:50:19.3041231Z python scripts/perf_budget.py --work-dir ci-perf-budget 2026-10-29T07:50:19.3061210Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:19.3061550Z env: 2026-10-29T07:50:19.3061809Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:19.3062245Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:19.3062684Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:19.3063084Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:19.3063700Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:19.3064085Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:19.3064587Z ##[endgroup] 2026-10-29T07:50:20.2162141Z valid-migration: exit=0 0.27s 7,540 records/s 2026-10-29T07:50:20.2162763Z invalid-migration: exit=1 0.29s 2026-10-29T07:50:20.2163173Z verify: exit=0 0.29s 2026-10-29T07:50:20.2163831Z perf_budget_ok workloads=3 2026-10-29T07:50:20.2277390Z ##[group]Run set -euo pipefail 2026-10-29T07:50:20.2277751Z set -euo pipefail 2026-10-29T07:50:20.2278274Z rm -rf ci-wheelhouse ci-venv ci-wheelhouse-missing ci-wheelhouse-corrupt ci-wheelhouse-sdist ci-airgap 2026-10-29T07:50:20.2278887Z python -m pip wheel --no-deps --wheel-dir ci-wheelhouse . 2026-10-29T07:50:20.2279436Z python -m pip download --only-binary=:all: --dest ci-wheelhouse pydantic "PyYAML>=6,<7" 2026-10-29T07:50:20.2279964Z python scripts/check_wheelhouse.py ci-wheelhouse 2026-10-29T07:50:20.2280379Z python scripts/check_wheelhouse.py ci-wheelhouse --verify 2026-10-29T07:50:20.2280755Z python -m venv ci-venv 2026-10-29T07:50:20.2281178Z if [ -x ci-venv/bin/python ]; then venv_bin=ci-venv/bin; else venv_bin=ci-venv/Scripts; fi 2026-10-29T07:50:20.2281785Z "$venv_bin/python" -m pip install --no-index --find-links ci-wheelhouse airlock-db 2026-10-29T07:50:20.2282229Z set +e 2026-10-29T07:50:20.2282641Z "$venv_bin/python" -m airlock_db --input examples/messy_transactions.json --output-dir ci-airgap 2026-10-29T07:50:20.2283109Z code=$? 2026-10-29T07:50:20.2283304Z set -e 2026-10-29T07:50:20.2283829Z test "$code" -eq 1 2026-10-29T07:50:20.2284105Z test -f ci-airgap/airlock_summary.json 2026-10-29T07:50:20.2284428Z test -f ci-airgap/airlock_report.html 2026-10-29T07:50:20.2284757Z "$venv_bin/airlock-db" --help > /dev/null 2026-10-29T07:50:20.2285138Z python scripts/check_wheelhouse.py ci-wheelhouse --verify 2026-10-29T07:50:20.2285588Z # A wheelhouse without the local wheel fails the closure check. 2026-10-29T07:50:20.2286007Z cp -r ci-wheelhouse ci-wheelhouse-missing 2026-10-29T07:50:20.2286343Z rm ci-wheelhouse-missing/airlock_db-*.whl 2026-10-29T07:50:20.2286626Z set +e 2026-10-29T07:50:20.2286913Z python scripts/check_wheelhouse.py ci-wheelhouse-missing 2026-10-29T07:50:20.2287261Z missing=$? 2026-10-29T07:50:20.2287465Z set -e 2026-10-29T07:50:20.2287673Z test "$missing" -eq 1 2026-10-29T07:50:20.2287961Z # A changed byte fails manifest verification. 2026-10-29T07:50:20.2288304Z cp -r ci-wheelhouse ci-wheelhouse-corrupt 2026-10-29T07:50:20.2288774Z changed_wheel=$(ls ci-wheelhouse-corrupt/*.whl | grep -v '/airlock_db-' | tail -n 1) 2026-10-29T07:50:20.2289327Z printf 'x' | dd of="$changed_wheel" bs=1 seek=100 conv=notrunc status=none 2026-10-29T07:50:20.2289713Z set +e 2026-10-29T07:50:20.2290045Z python scripts/check_wheelhouse.py ci-wheelhouse-corrupt --verify 2026-10-29T07:50:20.2290445Z changed=$? 2026-10-29T07:50:20.2290656Z set -e 2026-10-29T07:50:20.2290867Z test "$changed" -eq 1 2026-10-29T07:50:20.2291213Z # A non-wheel file fails the check with the documented message. 2026-10-29T07:50:20.2291634Z cp -r ci-wheelhouse ci-wheelhouse-sdist 2026-10-29T07:50:20.2292019Z : > ci-wheelhouse-sdist/example-package-1.0.tar.gz 2026-10-29T07:50:20.2292350Z set +e 2026-10-29T07:50:20.2292633Z python scripts/check_wheelhouse.py ci-wheelhouse-sdist 2026-10-29T07:50:20.2292971Z sdist=$? 2026-10-29T07:50:20.2293167Z set -e 2026-10-29T07:50:20.2293622Z test "$sdist" -eq 1 2026-10-29T07:50:20.2313231Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-10-29T07:50:20.2313699Z env: 2026-10-29T07:50:20.2313966Z pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:20.2314564Z PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig 2026-10-29T07:50:20.2314990Z Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:20.2315366Z Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:20.2315898Z Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64 2026-10-29T07:50:20.2316297Z LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib 2026-10-29T07:50:20.2316666Z ##[endgroup] 2026-10-29T07:50:20.5881892Z Processing ./. 2026-10-29T07:50:20.5899643Z Installing build dependencies: started 2026-10-29T07:50:21.1245008Z Installing build dependencies: finished with status 'done' 2026-10-29T07:50:21.1250841Z Getting requirements to build wheel: started 2026-10-29T07:50:21.6065938Z Getting requirements to build wheel: finished with status 'done' 2026-10-29T07:50:21.6075700Z Preparing metadata (pyproject.toml): started 2026-10-29T07:50:21.8006548Z Preparing metadata (pyproject.toml): finished with status 'done' 2026-10-29T07:50:21.8026681Z Building wheels for collected packages: airlock-db 2026-10-29T07:50:21.8035247Z Building wheel for airlock-db (pyproject.toml): started 2026-10-29T07:50:22.0417416Z Building wheel for airlock-db (pyproject.toml): finished with status 'done' 2026-10-29T07:50:22.0425299Z Created wheel for airlock-db: filename=airlock_db-0.4.0-py3-none-any.whl size=117054 sha256=e10860149866f91fcef6ed50208dbfb9bd3448c6091ad416f56d5941a6f44fd7 2026-10-29T07:50:22.0426982Z Stored in directory: /tmp/pip-ephem-wheel-cache-p6p6vzh9/wheels/5f/43/9e/6abdb3d3b97373118381452e6db5c2a7d825478c746f086efb 2026-10-29T07:50:22.0449253Z Successfully built airlock-db 2026-10-29T07:50:22.5076660Z Collecting pydantic 2026-10-29T07:50:22.5092681Z Using cached pydantic-2.14.1-py3-none-any.whl.metadata (133 kB) 2026-10-29T07:50:22.5410399Z Collecting PyYAML<7,>=6 2026-10-29T07:50:22.5423353Z 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:50:22.5466705Z Collecting annotated-types>=0.6.0 (from pydantic) 2026-10-29T07:50:22.5478978Z Using cached annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB) 2026-10-29T07:50:23.1923179Z Collecting pydantic-core==2.50.1 (from pydantic) 2026-10-29T07:50:23.1938932Z 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:50:23.2020999Z Collecting typing-extensions>=4.16.0 (from pydantic) 2026-10-29T07:50:23.2033996Z Using cached typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB) 2026-10-29T07:50:23.2072811Z Collecting typing-inspection>=0.4.4 (from pydantic) 2026-10-29T07:50:23.2085533Z Using cached typing_inspection-0.4.4-py3-none-any.whl.metadata (2.6 kB) 2026-10-29T07:50:23.2128847Z 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:50:23.2142834Z Using cached pydantic-2.14.1-py3-none-any.whl (488 kB) 2026-10-29T07:50:23.2156657Z Using cached pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB) 2026-10-29T07:50:23.2176328Z Using cached annotated_types-0.8.0-py3-none-any.whl (13 kB) 2026-10-29T07:50:23.2187827Z Using cached typing_extensions-4.16.0-py3-none-any.whl (45 kB) 2026-10-29T07:50:23.2199385Z Using cached typing_inspection-0.4.4-py3-none-any.whl (14 kB) 2026-10-29T07:50:23.2431637Z 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:50:23.2437239Z Saved ./ci-wheelhouse/pydantic-2.14.1-py3-none-any.whl 2026-10-29T07:50:23.2448565Z Saved ./ci-wheelhouse/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2026-10-29T07:50:23.2452280Z Saved ./ci-wheelhouse/annotated_types-0.8.0-py3-none-any.whl 2026-10-29T07:50:23.2456953Z Saved ./ci-wheelhouse/typing_extensions-4.16.0-py3-none-any.whl 2026-10-29T07:50:23.2460775Z Saved ./ci-wheelhouse/typing_inspection-0.4.4-py3-none-any.whl 2026-10-29T07:50:23.2462695Z Successfully downloaded PyYAML pydantic pydantic-core annotated-types typing-extensions typing-inspection 2026-10-29T07:50:23.3816185Z Wheelhouse ci-wheelhouse: 7 wheels, 3,646,935 bytes. 2026-10-29T07:50:23.3817260Z wheelhouse_ok wheels=7 manifest=ci-wheelhouse/install_manifest.json 2026-10-29T07:50:23.4715175Z Wheelhouse ci-wheelhouse: 7 wheels, 3,646,935 bytes. 2026-10-29T07:50:23.4715956Z wheelhouse_ok wheels=7 manifest=ci-wheelhouse/install_manifest.json verified=1 2026-10-29T07:50:26.4363355Z Looking in links: ci-wheelhouse 2026-10-29T07:50:26.4454458Z Processing ./ci-wheelhouse/airlock_db-0.4.0-py3-none-any.whl 2026-10-29T07:50:26.4488490Z Processing ./ci-wheelhouse/pydantic-2.14.1-py3-none-any.whl (from airlock-db) 2026-10-29T07:50:26.4561229Z 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:50:26.4596553Z Processing ./ci-wheelhouse/annotated_types-0.8.0-py3-none-any.whl (from pydantic<3,>=2.6->airlock-db) 2026-10-29T07:50:26.4620731Z 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:50:26.4667057Z Processing ./ci-wheelhouse/typing_extensions-4.16.0-py3-none-any.whl (from pydantic<3,>=2.6->airlock-db) 2026-10-29T07:50:26.4687619Z Processing ./ci-wheelhouse/typing_inspection-0.4.4-py3-none-any.whl (from pydantic<3,>=2.6->airlock-db) 2026-10-29T07:50:26.4866334Z Installing collected packages: typing-extensions, PyYAML, annotated-types, typing-inspection, pydantic-core, pydantic, airlock-db 2026-10-29T07:50:27.0303552Z 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:50:27.2463169Z WARNING: Validation issue for examples/messy_transactions.json record 5: missing 2026-10-29T07:50:27.2464840Z WARNING: Validation issue for examples/messy_transactions.json record 6: missing 2026-10-29T07:50:27.2466238Z WARNING: Validation issue for examples/messy_transactions.json record 7: missing 2026-10-29T07:50:27.2468111Z WARNING: Validation issue for examples/messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied) 2026-10-29T07:50:27.2469935Z WARNING: Validation issue for examples/messy_transactions.json record 10: string_too_short 2026-10-29T07:50:27.2471558Z WARNING: Validation issue for examples/messy_transactions.json record 12: string_too_short 2026-10-29T07:50:27.2474781Z WARNING: Validation issue for examples/messy_transactions.json record 13: value_error 2026-10-29T07:50:27.2476383Z WARNING: Validation issue for examples/messy_transactions.json record 14: value_error 2026-10-29T07:50:27.2478149Z WARNING: Validation issue for examples/messy_transactions.json record 15: value_error 2026-10-29T07:50:27.2479660Z WARNING: Validation issue for examples/messy_transactions.json record 16: value_error 2026-10-29T07:50:27.2481105Z WARNING: Validation issue for examples/messy_transactions.json record 17: value_error 2026-10-29T07:50:27.2482671Z WARNING: Validation issue for examples/messy_transactions.json record 18: string_too_long 2026-10-29T07:50:27.2484724Z WARNING: Validation issue for examples/messy_transactions.json record 19: greater_than 2026-10-29T07:50:27.2486300Z WARNING: Validation issue for examples/messy_transactions.json record 20: greater_than 2026-10-29T07:50:27.2487714Z WARNING: Validation issue for examples/messy_transactions.json record 21: decimal_max_places 2026-10-29T07:50:27.2489269Z WARNING: Validation issue for examples/messy_transactions.json record 22: decimal_max_digits 2026-10-29T07:50:27.2491076Z WARNING: Validation issue for examples/messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden 2026-10-29T07:50:27.2493195Z WARNING: Validation issue for examples/messy_transactions.json record 26: enum 2026-10-29T07:50:27.2495078Z WARNING: Validation issue for examples/messy_transactions.json record 27: enum 2026-10-29T07:50:27.2496591Z WARNING: Validation issue for examples/messy_transactions.json record 28: value_error 2026-10-29T07:50:27.2498139Z WARNING: Validation issue for examples/messy_transactions.json record 29: string_pattern_mismatch 2026-10-29T07:50:27.2499543Z WARNING: Validation issue for examples/messy_transactions.json record 30: string_too_long 2026-10-29T07:50:27.2500820Z WARNING: Validation issue for examples/messy_transactions.json record 31: string_too_long 2026-10-29T07:50:27.2502187Z WARNING: Validation issue for examples/messy_transactions.json record 32: is_instance_of 2026-10-29T07:50:27.2556222Z Records checked: 32 2026-10-29T07:50:27.2556787Z Valid: 8; invalid: 24 2026-10-29T07:50:27.2557464Z SQLite: ci-airgap/target_migration.db (committed) 2026-10-29T07:50:27.2558200Z Report: ci-airgap/airlock_report.html 2026-10-29T07:50:27.4065512Z Wheelhouse ci-wheelhouse: 7 wheels, 3,646,935 bytes. 2026-10-29T07:50:27.4066382Z wheelhouse_ok wheels=7 manifest=ci-wheelhouse/install_manifest.json verified=1 2026-10-29T07:50:27.4864389Z wheelhouse: missing the local project wheel airlock_db-*.whl; build it with python -m pip wheel --no-deps --wheel-dir WHEELHOUSE . 2026-10-29T07:50:27.4865753Z wheelhouse_failed failures=1 2026-10-29T07:50:27.5860042Z wheelhouse: typing_inspection-0.4.4-py3-none-any.whl: the SHA-256 hash differs from the manifest 2026-10-29T07:50:27.5861175Z Wheelhouse ci-wheelhouse-corrupt: 7 wheels, 3,646,935 bytes. 2026-10-29T07:50:27.5862438Z wheelhouse_failed failures=1 2026-10-29T07:50:27.6729679Z wheelhouse: example-package-1.0.tar.gz: not a wheel; collect dependencies with pip download --only-binary=:all: 2026-10-29T07:50:27.6731263Z wheelhouse_failed failures=1 2026-10-29T07:50:27.6947339Z Post job cleanup. 2026-10-29T07:50:27.8238252Z Post job cleanup. 2026-10-29T07:50:27.9216539Z [command]/usr/bin/git version 2026-10-29T07:50:27.9266579Z git version 2.56.0 2026-10-29T07:50:27.9310293Z Temporarily overriding HOME='/home/runner/work/_temp/512641e5-671a-4ff3-b46e-95687164be85' before making global git config changes 2026-10-29T07:50:27.9311375Z Adding repository directory to the temporary git global config as a safe directory 2026-10-29T07:50:27.9316396Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/airlock-db/airlock-db 2026-10-29T07:50:27.9354547Z Removing SSH command configuration 2026-10-29T07:50:27.9362235Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-29T07:50:27.9418886Z [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:50:27.9714052Z Removing HTTP extra header 2026-10-29T07:50:27.9720227Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-10-29T07:50:27.9770597Z [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:50:28.0068269Z Removing includeIf entries pointing to credentials config files 2026-10-29T07:50:28.0075328Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-29T07:50:28.0130861Z includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path 2026-10-29T07:50:28.0132105Z includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path 2026-10-29T07:50:28.0133210Z includeif.gitdir:/github/workspace/.git.path 2026-10-29T07:50:28.0134262Z includeif.gitdir:/github/workspace/.git/worktrees/*.path 2026-10-29T07:50:28.0142210Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path 2026-10-29T07:50:28.0182934Z /home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config 2026-10-29T07:50:28.0195724Z [command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git.path \/home\/runner\/work\/_temp\/git\-credentials\-cabffe3d\-cbd2\-45b6\-bc54\-e566c8ecda5f\.config 2026-10-29T07:50:28.0247575Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path 2026-10-29T07:50:28.0291869Z /home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config 2026-10-29T07:50:28.0301955Z [command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/airlock-db/airlock-db/.git/worktrees/*.path \/home\/runner\/work\/_temp\/git\-credentials\-cabffe3d\-cbd2\-45b6\-bc54\-e566c8ecda5f\.config 2026-10-29T07:50:28.0346778Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git.path 2026-10-29T07:50:28.0380874Z /github/runner_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config 2026-10-29T07:50:28.0390043Z [command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git.path \/github\/runner_temp\/git\-credentials\-cabffe3d\-cbd2\-45b6\-bc54\-e566c8ecda5f\.config 2026-10-29T07:50:28.0435815Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path 2026-10-29T07:50:28.0470265Z /github/runner_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config 2026-10-29T07:50:28.0479859Z [command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path \/github\/runner_temp\/git\-credentials\-cabffe3d\-cbd2\-45b6\-bc54\-e566c8ecda5f\.config 2026-10-29T07:50:28.0526289Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-29T07:50:28.0770461Z Removing credentials config '/home/runner/work/_temp/git-credentials-cabffe3d-cbd2-45b6-bc54-e566c8ecda5f.config' 2026-10-29T07:50:28.0940636Z Cleaning up orphan processes