Runs
verify#40
- Event
- pull_request
- Branch
- perf/optimize
- Commit
- 36e76cd
- Started
- Duration
- 1:04
Synced from GitHub
end-to-end (windows-latest)
Took 1:04Whole log, 82 KB
Current runner version: '2.338.0'
▸ Runner Image Provisioner
Hosted Compute Agent
Version: 20261021.618
Commit: 21505ad2541d5be6135ed84fc33697146cf75b8e
Build Date: 2026-10-21T00:45:21Z
Worker ID: {fedb06a5-c004-4964-aee5-97a3479e908a}
Region: centralus
Cloud: Azure
▸ Operating System
Microsoft Windows Server 2025
10.0.26100
Datacenter
▸ Runner Image
Image: windows-2025-vs2026
Version: 20261021.278.1
Included Software: https://github.com/actions/runner-images/blob/win25-vs2026/20261021.278/images/windows/Windows2025-VS2026-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/win25-vs2026%2F20261021.278
▸ GITHUB_TOKEN Permissions
Contents: read
Metadata: read
Packages: read
Secret source: Actions
Cache mode: write
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v7' (SHA:3d3c42e5aac5ba805825da76410c181273ba90b1)
Download action repository 'actions/setup-python@v7' (SHA:6d4fd22b20465ccc0f7354476588e8df7c9ca0e0)
Complete job name: end-to-end (windows-latest)
▸ Run actions/checkout@v7
with:
repository: Narayan201120/airlock-db
token: ***
ssh-strict: true
ssh-user: git
persist-credentials: true
clean: true
sparse-checkout-cone-mode: true
fetch-depth: 1
fetch-tags: false
show-progress: true
lfs: false
submodules: false
set-safe-directory: true
allow-unsafe-pr-checkout: false
Syncing repository: Narayan201120/airlock-db
▸ Getting Git version info
Working directory is 'D:\a\airlock-db\airlock-db'
[command]"C:\Program Files\Git\bin\git.exe" version
git version 2.56.0.windows.2
Temporarily overriding HOME='D:\a\_temp\cc6d73b6-0e47-45aa-9dde-d611d5664d46' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]"C:\Program Files\Git\bin\git.exe" config --global --add safe.directory D:\a\airlock-db\airlock-db
Deleting the contents of 'D:\a\airlock-db\airlock-db'
▸ Determining repository object format
▸ Initializing the repository
[command]"C:\Program Files\Git\bin\git.exe" init D:\a\airlock-db\airlock-db
Initialized empty Git repository in D:/a/airlock-db/airlock-db/.git/
[command]"C:\Program Files\Git\bin\git.exe" remote add origin https://github.com/Narayan201120/airlock-db
▸ Disabling automatic garbage collection
[command]"C:\Program Files\Git\bin\git.exe" config --local gc.auto 0
▸ Setting up auth
Removing SSH command configuration
[command]"C:\Program Files\Git\bin\git.exe" config --local --name-only --get-regexp core\.sshCommand
[command]"C:\Program Files\Git\bin\git.exe" submodule foreach --recursive "sh -c \"git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :\""
Removing HTTP extra header
[command]"C:\Program Files\Git\bin\git.exe" config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
[command]"C:\Program Files\Git\bin\git.exe" submodule foreach --recursive "sh -c \"git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :\""
Removing includeIf entries pointing to credentials config files
[command]"C:\Program Files\Git\bin\git.exe" config --local --name-only --get-regexp ^includeIf\.gitdir:
[command]"C:\Program Files\Git\bin\git.exe" submodule foreach --recursive "git config --local --show-origin --name-only --get-regexp remote.origin.url"
[command]"C:\Program Files\Git\bin\git.exe" config --file D:\a\_temp\git-credentials-b642432a-4d7f-416b-93a1-af92b4ab4753.config http.https://github.com/.extraheader "AUTHORIZATION: basic ***"
[command]"C:\Program Files\Git\bin\git.exe" config --local includeIf.gitdir:D:/a/airlock-db/airlock-db/.git.path D:\a\_temp\git-credentials-b642432a-4d7f-416b-93a1-af92b4ab4753.config
[command]"C:\Program Files\Git\bin\git.exe" config --local includeIf.gitdir:D:/a/airlock-db/airlock-db/.git/worktrees/*.path D:\a\_temp\git-credentials-b642432a-4d7f-416b-93a1-af92b4ab4753.config
[command]"C:\Program Files\Git\bin\git.exe" config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-b642432a-4d7f-416b-93a1-af92b4ab4753.config
[command]"C:\Program Files\Git\bin\git.exe" config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-b642432a-4d7f-416b-93a1-af92b4ab4753.config
▸ Fetching the repository
[command]"C:\Program Files\Git\bin\git.exe" -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +670a9562622f7100623edddaf896abe142fd8bf6:refs/remotes/pull/1/merge
From https://github.com/Narayan201120/airlock-db
* [new ref] 670a9562622f7100623edddaf896abe142fd8bf6 -> pull/1/merge
▸ Determining the checkout info
[command]"C:\Program Files\Git\bin\git.exe" sparse-checkout disable
[command]"C:\Program Files\Git\bin\git.exe" config --local --unset-all extensions.worktreeConfig
▸ Checking out the ref
[command]"C:\Program Files\Git\bin\git.exe" checkout --progress --force refs/remotes/pull/1/merge
Note: switching to 'refs/remotes/pull/1/merge'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 670a956 Merge 36e76cdca133bf71070213931239e835cd4f1570 into b630a06b5e882585234fb367b34195e27b38f145
[command]"C:\Program Files\Git\bin\git.exe" log -1 --format=%H
670a9562622f7100623edddaf896abe142fd8bf6
▸ Run actions/setup-python@v7
with:
python-version: 3.12
check-latest: false
token: ***
mirror: https://raw.githubusercontent.com/actions/python-versions/main
update-environment: true
allow-prereleases: false
freethreaded: false
▸ Installed versions
Successfully set up CPython (3.12.10)
▸ Run python -m pip install .
python -m pip install .
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Processing .\.
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting pydantic<3,>=2.6 (from airlock-db==0.4.0)
Downloading pydantic-2.14.1-py3-none-any.whl.metadata (133 kB)
Collecting PyYAML<7,>=6 (from airlock-db==0.4.0)
Downloading pyyaml-6.0.3-cp312-cp312-win_amd64.whl.metadata (2.4 kB)
Collecting annotated-types>=0.6.0 (from pydantic<3,>=2.6->airlock-db==0.4.0)
Downloading annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.50.1 (from pydantic<3,>=2.6->airlock-db==0.4.0)
Downloading pydantic_core-2.50.1-cp312-cp312-win_amd64.whl.metadata (6.7 kB)
Collecting typing-extensions>=4.16.0 (from pydantic<3,>=2.6->airlock-db==0.4.0)
Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)
Collecting typing-inspection>=0.4.4 (from pydantic<3,>=2.6->airlock-db==0.4.0)
Downloading typing_inspection-0.4.4-py3-none-any.whl.metadata (2.6 kB)
Downloading pydantic-2.14.1-py3-none-any.whl (488 kB)
Downloading pydantic_core-2.50.1-cp312-cp312-win_amd64.whl (2.2 MB)
---------------------------------------- 2.2/2.2 MB 20.3 MB/s 0:00:00
Downloading pyyaml-6.0.3-cp312-cp312-win_amd64.whl (154 kB)
Downloading annotated_types-0.8.0-py3-none-any.whl (13 kB)
Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)
Downloading typing_inspection-0.4.4-py3-none-any.whl (14 kB)
Building wheels for collected packages: airlock-db
Building wheel for airlock-db (pyproject.toml): started
Building wheel for airlock-db (pyproject.toml): finished with status 'done'
Created wheel for airlock-db: filename=airlock_db-0.4.0-py3-none-any.whl size=113144 sha256=b2788c55df665c15953058f6b58233604dabbd87974aefda3b573604d03dd0f9
Stored in directory: C:\Users\runneradmin\AppData\Local\Temp\pip-ephem-wheel-cache-mfj1kjq1\wheels\e4\fa\cf\c67290d3f064e1488d8f2921d218c094fd8e23b4f676040810
Successfully built airlock-db
Installing collected packages: typing-extensions, PyYAML, annotated-types, typing-inspection, pydantic-core, pydantic, airlock-db
Successfully installed PyYAML-6.0.3 airlock-db-0.4.0 annotated-types-0.8.0 pydantic-2.14.1 pydantic-core-2.50.1 typing-extensions-4.16.0 typing-inspection-0.4.4
▸ Run python -m compileall -q src
python -m compileall -q src
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
▸ Run set +e
set +e
python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --anonymize --output-dir ci-builtin
code=$?
set -e
test "$code" -eq 1
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
WARNING: Validation issue for source-bf37581e59afb173 record 5: missing
WARNING: Validation issue for source-bf37581e59afb173 record 6: missing
WARNING: Validation issue for source-bf37581e59afb173 record 7: missing
WARNING: Validation issue for source-bf37581e59afb173 record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for source-bf37581e59afb173 record 10: string_too_short
WARNING: Validation issue for source-bf37581e59afb173 record 12: string_too_short
WARNING: Validation issue for source-bf37581e59afb173 record 13: value_error
WARNING: Validation issue for source-bf37581e59afb173 record 14: value_error
WARNING: Validation issue for source-bf37581e59afb173 record 15: value_error
WARNING: Validation issue for source-bf37581e59afb173 record 16: value_error
WARNING: Validation issue for source-bf37581e59afb173 record 17: value_error
WARNING: Validation issue for source-bf37581e59afb173 record 18: string_too_long
WARNING: Validation issue for source-bf37581e59afb173 record 19: greater_than
WARNING: Validation issue for source-bf37581e59afb173 record 20: greater_than
WARNING: Validation issue for source-bf37581e59afb173 record 21: decimal_max_places
WARNING: Validation issue for source-bf37581e59afb173 record 22: decimal_max_digits
WARNING: Validation issue for source-bf37581e59afb173 record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for source-bf37581e59afb173 record 26: enum
WARNING: Validation issue for source-bf37581e59afb173 record 27: enum
WARNING: Validation issue for source-bf37581e59afb173 record 28: value_error
WARNING: Validation issue for source-bf37581e59afb173 record 29: string_pattern_mismatch
WARNING: Validation issue for source-bf37581e59afb173 record 30: string_too_long
WARNING: Validation issue for source-bf37581e59afb173 record 31: string_too_long
WARNING: Validation issue for source-bf37581e59afb173 record 32: is_instance_of
Records checked: 32
Valid: 8; invalid: 24
SQLite: target_migration.db (committed)
Report: airlock_report.html
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-builtin \
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-builtin \
--expected-checked 32 --expected-valid 8 --expected-invalid 24 --expected-rows 8 \
--anonymized-field account_id --expect-type-mismatch-note
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
{
"anonymized_field_token_violations": {
"account_id": 0
},
"invalid_records": 24,
"jsonl_rows": null,
"posted_at_index": true,
"records_checked": 32,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 8,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": true,
"valid_records": 8
}
▸ Run python main.py --input examples/real_data/online_retail_sample.jsonl \
python main.py --input examples/real_data/online_retail_sample.jsonl \
--config examples/real_data/online_retail_schema.json --anonymize --output-dir ci-real
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Records checked: 10
Valid: 10; invalid: 0
SQLite: target_migration.db (committed)
Report: airlock_report.html
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-real \
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-real \
--expected-checked 10 --expected-valid 10 --expected-invalid 0 --expected-rows 10 \
--anonymized-field customer_id
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
{
"anonymized_field_token_violations": {
"customer_id": 0
},
"invalid_records": 0,
"jsonl_rows": null,
"posted_at_index": null,
"records_checked": 10,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 10,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": false,
"valid_records": 10
}
▸ Run python main.py --input examples/real_data/online_retail_sample.jsonl \
python main.py --input examples/real_data/online_retail_sample.jsonl \
--config examples/real_data/online_retail_schema.json --anonymize \
--output-format jsonl --output-dir ci-jsonl
test ! -f ci-jsonl/target_migration.db
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-jsonl \
--skip-sqlite --expected-checked 10 --expected-valid 10 --expected-invalid 0 \
--expected-jsonl-rows 10
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Records checked: 10
Valid: 10; invalid: 0
SQLite: not used (--output-format jsonl)
JSONL: target_migration.jsonl (10 records)
Report: airlock_report.html
{
"anonymized_field_token_violations": null,
"invalid_records": 0,
"jsonl_rows": 10,
"posted_at_index": null,
"records_checked": 10,
"report_standalone": true,
"sqlite_integrity": null,
"sqlite_rows": null,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": false,
"valid_records": 10
}
▸ Run python - <<'PY'
python - <<'PY'
import csv
header = ["transaction_id", "account_id", "posted_at", "amount", "currency",
"transaction_type", "status", "counterparty", "description"]
rows = [
["3f8a1c2e-4b6d-4e9a-8f1c-2d5e7a9b0c11", "ACC-1001", "2026-01-15T09:30:00Z",
"125.50", "USD", "DEBIT", "POSTED", "Northwind, Ltd", "Monthly supplies"],
["8b2d4f6a-1c3e-4a5b-9d7e-0f1a2b3c4d5e", "ACC_2200", "2026-02-03T16:45:00+02:00",
"89.99", "EUR", "CREDIT", "POSTED", "Blue Yonder Airlines", ""],
["not-a-uuid", "ACC-1001", "2026-03-01T10:00:00Z", "10.00", "USD", "DEBIT",
"POSTED", "Example Co", ""],
]
with open("ci-basic.csv", "w", encoding="utf-8-sig", newline="") as stream:
writer = csv.writer(stream)
writer.writerow(header)
writer.writerows(rows)
PY
python main.py --input ci-basic.csv --output-dir ci-csv || test $? -eq 1
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-csv \
--expected-checked 3 --expected-valid 2 --expected-invalid 1 --expected-rows 2
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
WARNING: Validation issue for ci-basic.csv record 3: value_error
Records checked: 3
Valid: 2; invalid: 1
SQLite: ci-csv\target_migration.db (committed)
Report: ci-csv\airlock_report.html
{
"anonymized_field_token_violations": null,
"invalid_records": 1,
"jsonl_rows": null,
"posted_at_index": true,
"records_checked": 3,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 2,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": false,
"valid_records": 2
}
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_archive_input.py ci-archives
python .cursor/skills/verify-airlock-db/scripts/verify_archive_input.py ci-archives
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
archive_input_ok scenarios=6 evidence=D:\a\airlock-db\airlock-db\ci-archives\archive_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_schema_infer.py ci-infer
python .cursor/skills/verify-airlock-db/scripts/verify_schema_infer.py ci-infer
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
schema_infer_ok scenarios=8 evidence=D:\a\airlock-db\airlock-db\ci-infer\schema_infer_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_handoff.py ci-handoff
python .cursor/skills/verify-airlock-db/scripts/verify_handoff.py ci-handoff
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
verify_handoff_ok scenarios=10 evidence=D:\a\airlock-db\airlock-db\ci-handoff\verify_handoff_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_target.py ci-jsonl-verify
python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_target.py ci-jsonl-verify
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
jsonl_target_ok scenarios=10 evidence=D:\a\airlock-db\airlock-db\ci-jsonl-verify\jsonl_target_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_source_manifest.py ci-source-manifest
python .cursor/skills/verify-airlock-db/scripts/verify_source_manifest.py ci-source-manifest
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
source_manifest_ok scenarios=9 evidence=D:\a\airlock-db\airlock-db\ci-source-manifest\source_manifest_verification.json
▸ Run python - <<'PY'
python - <<'PY'
import sqlite3
columns = ("transaction_id TEXT, account_id TEXT, posted_at TEXT, amount TEXT, "
"currency TEXT, transaction_type TEXT, status TEXT, counterparty TEXT, "
"description TEXT")
connection = sqlite3.connect("ci-multi.db")
connection.execute(f"CREATE TABLE a ({columns})")
connection.execute(f"CREATE TABLE b ({columns})")
connection.execute(
"INSERT INTO a VALUES ('3f8a1c2e-4b6d-4e9a-8f1c-2d5e7a9b0c11', 'ACC-1001', "
"'2026-01-15T09:30:00Z', '125.50', 'USD', 'DEBIT', 'POSTED', 'Northwind', NULL)")
connection.execute(
"INSERT INTO b VALUES ('8b2d4f6a-1c3e-4a5b-9d7e-0f1a2b3c4d5e', 'ACC_2200', "
"'2026-02-03T16:45:00+02:00', '89.99', 'EUR', 'CREDIT', 'POSTED', 'Blue Yonder', NULL)")
connection.execute(
"INSERT INTO b VALUES ('not-a-uuid', 'ACC-1001', '2026-03-01T10:00:00Z', "
"'10.00', 'USD', 'DEBIT', 'POSTED', 'Example', NULL)")
connection.commit()
connection.close()
PY
python main.py --source-db ci-multi.db --source-table a --source-table b --output-dir ci-multi || test $? -eq 1
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-multi \
--expected-checked 3 --expected-valid 2 --expected-invalid 1 --expected-rows 2
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
WARNING: Validation issue for ci-multi.db (b) record 2: value_error
Records checked: 3
Valid: 2; invalid: 1
SQLite: ci-multi\target_migration.db (committed)
Report: ci-multi\airlock_report.html
{
"anonymized_field_token_violations": null,
"invalid_records": 1,
"jsonl_rows": null,
"posted_at_index": true,
"records_checked": 3,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 2,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": false,
"valid_records": 2
}
▸ Run python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-repair || test $? -eq 1
python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-repair || test $? -eq 1
printf 'd\nd\nq\n' | python main.py repair --error-log ci-repair/airlock_errors.jsonl --constraints examples/constraints.json | grep -q '0 corrected, 2 dropped'
printf 'q\n' | python main.py repair --error-log ci-repair/airlock_errors.jsonl --constraints examples/constraints.json | grep -q 'Resumed: 2'
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
WARNING: Validation issue for examples\messy_transactions.json record 5: missing
WARNING: Validation issue for examples\messy_transactions.json record 6: missing
WARNING: Validation issue for examples\messy_transactions.json record 7: missing
WARNING: Validation issue for examples\messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for examples\messy_transactions.json record 10: string_too_short
WARNING: Validation issue for examples\messy_transactions.json record 12: string_too_short
WARNING: Validation issue for examples\messy_transactions.json record 13: value_error
WARNING: Validation issue for examples\messy_transactions.json record 14: value_error
WARNING: Validation issue for examples\messy_transactions.json record 15: value_error
WARNING: Validation issue for examples\messy_transactions.json record 16: value_error
WARNING: Validation issue for examples\messy_transactions.json record 17: value_error
WARNING: Validation issue for examples\messy_transactions.json record 18: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 19: greater_than
WARNING: Validation issue for examples\messy_transactions.json record 20: greater_than
WARNING: Validation issue for examples\messy_transactions.json record 21: decimal_max_places
WARNING: Validation issue for examples\messy_transactions.json record 22: decimal_max_digits
WARNING: Validation issue for examples\messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for examples\messy_transactions.json record 26: enum
WARNING: Validation issue for examples\messy_transactions.json record 27: enum
WARNING: Validation issue for examples\messy_transactions.json record 28: value_error
WARNING: Validation issue for examples\messy_transactions.json record 29: string_pattern_mismatch
WARNING: Validation issue for examples\messy_transactions.json record 30: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 31: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 32: is_instance_of
Records checked: 32
Valid: 8; invalid: 24
SQLite: ci-repair\target_migration.db (committed)
Repair log: ci-repair\airlock_errors.jsonl
Report: ci-repair\airlock_report.html
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_repair_summary.py ci-repair-summary
python .cursor/skills/verify-airlock-db/scripts/verify_repair_summary.py ci-repair-summary
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
repair_summary_ok scenarios=8 evidence=D:\a\airlock-db\airlock-db\ci-repair-summary\repair_summary_verification.json
▸ Run python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-decisions || test $? -eq 1
python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --error-log --output-dir ci-decisions || test $? -eq 1
printf '{"entry": 1, "action": "drop"}\n{"entry": 2, "action": "set", "field": "amount", "value": "5.00"}\n{"entry": 3, "action": "set", "field": "status", "value": "POSTED"}\n' > ci-decisions.jsonl
python main.py repair --error-log ci-decisions/airlock_errors.jsonl --constraints examples/constraints.json --decisions ci-decisions.jsonl
python main.py report --output-dir ci-decisions | grep -q 'Repair outcomes: 2 corrected, 1 dropped'
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
WARNING: Validation issue for examples\messy_transactions.json record 5: missing
WARNING: Validation issue for examples\messy_transactions.json record 6: missing
WARNING: Validation issue for examples\messy_transactions.json record 7: missing
WARNING: Validation issue for examples\messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for examples\messy_transactions.json record 10: string_too_short
WARNING: Validation issue for examples\messy_transactions.json record 12: string_too_short
WARNING: Validation issue for examples\messy_transactions.json record 13: value_error
WARNING: Validation issue for examples\messy_transactions.json record 14: value_error
WARNING: Validation issue for examples\messy_transactions.json record 15: value_error
WARNING: Validation issue for examples\messy_transactions.json record 16: value_error
WARNING: Validation issue for examples\messy_transactions.json record 17: value_error
WARNING: Validation issue for examples\messy_transactions.json record 18: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 19: greater_than
WARNING: Validation issue for examples\messy_transactions.json record 20: greater_than
WARNING: Validation issue for examples\messy_transactions.json record 21: decimal_max_places
WARNING: Validation issue for examples\messy_transactions.json record 22: decimal_max_digits
WARNING: Validation issue for examples\messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for examples\messy_transactions.json record 26: enum
WARNING: Validation issue for examples\messy_transactions.json record 27: enum
WARNING: Validation issue for examples\messy_transactions.json record 28: value_error
WARNING: Validation issue for examples\messy_transactions.json record 29: string_pattern_mismatch
WARNING: Validation issue for examples\messy_transactions.json record 30: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 31: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 32: is_instance_of
Records checked: 32
Valid: 8; invalid: 24
SQLite: ci-decisions\target_migration.db (committed)
Repair log: ci-decisions\airlock_errors.jsonl
Report: ci-decisions\airlock_report.html
Repair log: ci-decisions\airlock_errors.jsonl
Schema: FinancialTransaction; target: ci-decisions\target_migration.db
Each rejected row will be reviewed interactively. Type q to finish this session.
Corrected record passed validation and was staged with its resume checkpoint.
Corrected record passed validation and was staged with its resume checkpoint.
Repair complete: 2 corrected, 1 dropped, 0 non-repairable entries.
SQLite: ci-decisions\target_migration.db (2 inserted, 0 duplicates, 0 updated; 3 repair decisions saved)
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_decisions_dry_run.py ci-decisions-dry-run
python .cursor/skills/verify-airlock-db/scripts/verify_decisions_dry_run.py ci-decisions-dry-run
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
decisions_dry_run_ok scenarios=5 evidence=D:\a\airlock-db\airlock-db\ci-decisions-dry-run\decisions_dry_run_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_dry_run.py ci-dry-run
python .cursor/skills/verify-airlock-db/scripts/verify_dry_run.py ci-dry-run
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
dry_run_ok scenarios=8 evidence=D:\a\airlock-db\airlock-db\ci-dry-run\dry_run_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_config_check.py ci-config-check
python .cursor/skills/verify-airlock-db/scripts/verify_config_check.py ci-config-check
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
config_check_ok scenarios=7 evidence=D:\a\airlock-db\airlock-db\ci-config-check\config_check_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_input_encoding.py ci-input-encoding
python .cursor/skills/verify-airlock-db/scripts/verify_input_encoding.py ci-input-encoding
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
input_encoding_ok scenarios=9 evidence=D:\a\airlock-db\airlock-db\ci-input-encoding\input_encoding_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_run_compare.py ci-run-compare
python .cursor/skills/verify-airlock-db/scripts/verify_run_compare.py ci-run-compare
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
run_compare_ok scenarios=7 evidence=D:\a\airlock-db\airlock-db\ci-run-compare\run_compare_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_dynamic_constraints.py ci-dynamic-constraints
python .cursor/skills/verify-airlock-db/scripts/verify_dynamic_constraints.py ci-dynamic-constraints
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
dynamic_constraints_ok scenarios=7 evidence=D:\a\airlock-db\airlock-db\ci-dynamic-constraints\dynamic_constraints_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_xml_equivalence.py \
python .cursor/skills/verify-airlock-db/scripts/verify_xml_equivalence.py \
examples/messy_transactions.json --constraints examples/constraints.json
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
records=8
table=transactions
xml_equals_json=true
▸ Run python - <<'PY'
python - <<'PY'
import json
import sqlite3
rows = json.load(open("examples/messy_transactions.json", encoding="utf-8"))
chosen = [rows[0], rows[3], rows[4], rows[8]]
connection = sqlite3.connect("legacy-source.db")
connection.execute(
"CREATE TABLE transactions (transaction_id TEXT, account_id TEXT, "
"posted_at TEXT, amount TEXT, currency TEXT, transaction_type TEXT, "
"status TEXT, counterparty TEXT, description TEXT)"
)
for row in chosen:
amount = row.get("amount")
if isinstance(amount, float):
amount = repr(amount)
connection.execute(
"INSERT INTO transactions VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
(
row.get("transaction_id"),
row.get("account_id"),
row.get("posted_at"),
amount,
row.get("currency"),
row.get("transaction_type"),
row.get("status"),
row.get("counterparty"),
row.get("description"),
),
)
connection.commit()
connection.close()
PY
python main.py --source-db legacy-source.db --output-dir ci-source-db || test $? -eq 1
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-source-db \
--expected-checked 4 --expected-valid 2 --expected-invalid 2 --expected-rows 2
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
WARNING: Validation issue for legacy-source.db (transactions) record 3: uuid_type (type mismatch in transaction_id; no automatic conversion applied)
WARNING: Validation issue for legacy-source.db (transactions) record 4: value_error
Records checked: 4
Valid: 2; invalid: 2
SQLite: ci-source-db\target_migration.db (committed)
Report: ci-source-db\airlock_report.html
{
"anonymized_field_token_violations": null,
"invalid_records": 2,
"jsonl_rows": null,
"posted_at_index": true,
"records_checked": 4,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 2,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": true,
"valid_records": 2
}
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_cli_wins.py ci-cli-wins
python .cursor/skills/verify-airlock-db/scripts/verify_cli_wins.py ci-cli-wins
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
cli_wins_ok scenarios=11 evidence=D:\a\airlock-db\airlock-db\ci-cli-wins\cli_wins_verification.json
▸ Run printf '{"ticket_id": "TKT-000001", "customer_name": "Alice", "priority": "HIGH", "opened_at": "2026-01-05T08:00:00Z"}\n' > ci-ticket.jsonl
printf '{"ticket_id": "TKT-000001", "customer_name": "Alice", "priority": "HIGH", "opened_at": "2026-01-05T08:00:00Z"}\n' > ci-ticket.jsonl
python main.py --input ci-ticket.jsonl --config examples/schema_config.yaml --output-dir ci-yaml
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Records checked: 1
Valid: 1; invalid: 0
SQLite: ci-yaml\target_migration.db (committed)
Report: ci-yaml\airlock_report.html
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_transforms.py ci-transforms
python .cursor/skills/verify-airlock-db/scripts/verify_transforms.py ci-transforms
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
transforms_ok scenarios=7 evidence=D:\a\airlock-db\airlock-db\ci-transforms\transforms_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_fixed_width.py ci-fixed-width
python .cursor/skills/verify-airlock-db/scripts/verify_fixed_width.py ci-fixed-width
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
fixed_width_ok scenarios=9 evidence=D:\a\airlock-db\airlock-db\ci-fixed-width\fixed_width_verification.json
▸ Run python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_reader.py ci-reader-edges
python .cursor/skills/verify-airlock-db/scripts/verify_jsonl_reader.py ci-reader-edges
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
jsonl_csv_reader_ok checks=73
▸ Run python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --commit-every 4 --output-dir ci-checkpoint || test $? -eq 1
python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --commit-every 4 --output-dir ci-checkpoint || test $? -eq 1
python main.py --input examples/messy_transactions.json --constraints examples/constraints.json --commit-every 4 --resume --output-dir ci-checkpoint > ci-resume.log || test $? -eq 1
grep -q 'Resumed: 32' ci-resume.log
python .cursor/skills/verify-airlock-db/scripts/verify_migration_output.py ci-checkpoint \
--expected-checked 32 --expected-valid 8 --expected-invalid 24 --expected-rows 8
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
WARNING: Validation issue for examples\messy_transactions.json record 5: missing
WARNING: Validation issue for examples\messy_transactions.json record 6: missing
WARNING: Validation issue for examples\messy_transactions.json record 7: missing
WARNING: Validation issue for examples\messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for examples\messy_transactions.json record 10: string_too_short
WARNING: Validation issue for examples\messy_transactions.json record 12: string_too_short
WARNING: Validation issue for examples\messy_transactions.json record 13: value_error
WARNING: Validation issue for examples\messy_transactions.json record 14: value_error
WARNING: Validation issue for examples\messy_transactions.json record 15: value_error
WARNING: Validation issue for examples\messy_transactions.json record 16: value_error
WARNING: Validation issue for examples\messy_transactions.json record 17: value_error
WARNING: Validation issue for examples\messy_transactions.json record 18: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 19: greater_than
WARNING: Validation issue for examples\messy_transactions.json record 20: greater_than
WARNING: Validation issue for examples\messy_transactions.json record 21: decimal_max_places
WARNING: Validation issue for examples\messy_transactions.json record 22: decimal_max_digits
WARNING: Validation issue for examples\messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for examples\messy_transactions.json record 26: enum
WARNING: Validation issue for examples\messy_transactions.json record 27: enum
WARNING: Validation issue for examples\messy_transactions.json record 28: value_error
WARNING: Validation issue for examples\messy_transactions.json record 29: string_pattern_mismatch
WARNING: Validation issue for examples\messy_transactions.json record 30: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 31: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 32: is_instance_of
Records checked: 32
Valid: 8; invalid: 24
SQLite: ci-checkpoint\target_migration.db (committed)
Report: ci-checkpoint\airlock_report.html
WARNING: Validation issue for examples\messy_transactions.json record 5: missing
WARNING: Validation issue for examples\messy_transactions.json record 6: missing
WARNING: Validation issue for examples\messy_transactions.json record 7: missing
WARNING: Validation issue for examples\messy_transactions.json record 9: datetime_type (type mismatch in posted_at; no automatic conversion applied)
WARNING: Validation issue for examples\messy_transactions.json record 10: string_too_short
WARNING: Validation issue for examples\messy_transactions.json record 12: string_too_short
WARNING: Validation issue for examples\messy_transactions.json record 13: value_error
WARNING: Validation issue for examples\messy_transactions.json record 14: value_error
WARNING: Validation issue for examples\messy_transactions.json record 15: value_error
WARNING: Validation issue for examples\messy_transactions.json record 16: value_error
WARNING: Validation issue for examples\messy_transactions.json record 17: value_error
WARNING: Validation issue for examples\messy_transactions.json record 18: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 19: greater_than
WARNING: Validation issue for examples\messy_transactions.json record 20: greater_than
WARNING: Validation issue for examples\messy_transactions.json record 21: decimal_max_places
WARNING: Validation issue for examples\messy_transactions.json record 22: decimal_max_digits
WARNING: Validation issue for examples\messy_transactions.json record 24: extra_forbidden,extra_forbidden,extra_forbidden
WARNING: Validation issue for examples\messy_transactions.json record 26: enum
WARNING: Validation issue for examples\messy_transactions.json record 27: enum
WARNING: Validation issue for examples\messy_transactions.json record 28: value_error
WARNING: Validation issue for examples\messy_transactions.json record 29: string_pattern_mismatch
WARNING: Validation issue for examples\messy_transactions.json record 30: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 31: string_too_long
WARNING: Validation issue for examples\messy_transactions.json record 32: is_instance_of
{
"anonymized_field_token_violations": null,
"invalid_records": 24,
"jsonl_rows": null,
"posted_at_index": true,
"records_checked": 32,
"report_standalone": true,
"sqlite_integrity": "ok",
"sqlite_rows": 8,
"status": "passed",
"summary_verified": true,
"type_mismatch_note_present": true,
"valid_records": 8
}
▸ Run python scripts/perf_budget.py --work-dir ci-perf-budget
python scripts/perf_budget.py --work-dir ci-perf-budget
shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
env:
pythonLocation: C:\hostedtoolcache\windows\Python\3.12.10\x64
PKG_CONFIG_PATH: C:\hostedtoolcache\windows\Python\3.12.10\x64/lib/pkgconfig
Python_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python2_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
Python3_ROOT_DIR: C:\hostedtoolcache\windows\Python\3.12.10\x64
valid-migration: exit=0 0.21s 9,399 records/s
invalid-migration: exit=1 0.22s
verify: exit=0 0.21s
perf_budget_ok workloads=3
Post job cleanup.
Post job cleanup.
[command]"C:\Program Files\Git\bin\git.exe" version
git version 2.56.0.windows.2
Temporarily overriding HOME='D:\a\_temp\1158b48c-2187-4a8c-8eac-7661de7104dc' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]"C:\Program Files\Git\bin\git.exe" config --global --add safe.directory D:\a\airlock-db\airlock-db
Removing SSH command configuration
[command]"C:\Program Files\Git\bin\git.exe" config --local --name-only --get-regexp core\.sshCommand
[command]"C:\Program Files\Git\bin\git.exe" submodule foreach --recursive "sh -c \"git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :\""
Removing HTTP extra header
[command]"C:\Program Files\Git\bin\git.exe" config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
[command]"C:\Program Files\Git\bin\git.exe" submodule foreach --recursive "sh -c \"git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :\""
Removing includeIf entries pointing to credentials config files
[command]"C:\Program Files\Git\bin\git.exe" config --local --name-only --get-regexp ^includeIf\.gitdir:
includeif.gitdir:D:/a/airlock-db/airlock-db/.git.path
includeif.gitdir:D:/a/airlock-db/airlock-db/.git/worktrees/*.path
includeif.gitdir:/github/workspace/.git.path
includeif.gitdir:/github/workspace/.git/worktrees/*.path
[command]"C:\Program Files\Git\bin\git.exe" config --local --get-all includeif.gitdir:D:/a/airlock-db/airlock-db/.git.path
D:\a\_temp\git-credentials-b642432a-4d7f-416b-93a1-af92b4ab4753.config
[command]"C:\Program Files\Git\bin\git.exe" config --local --unset includeif.gitdir:D:/a/airlock-db/airlock-db/.git.path D\:\\a\\_temp\\git\-credentials\-b642432a\-4d7f\-416b\-93a1\-af92b4ab4753\.config
[command]"C:\Program Files\Git\bin\git.exe" config --local --get-all includeif.gitdir:D:/a/airlock-db/airlock-db/.git/worktrees/*.path
D:\a\_temp\git-credentials-b642432a-4d7f-416b-93a1-af92b4ab4753.config
[command]"C:\Program Files\Git\bin\git.exe" config --local --unset includeif.gitdir:D:/a/airlock-db/airlock-db/.git/worktrees/*.path D\:\\a\\_temp\\git\-credentials\-b642432a\-4d7f\-416b\-93a1\-af92b4ab4753\.config
[command]"C:\Program Files\Git\bin\git.exe" config --local --get-all includeif.gitdir:/github/workspace/.git.path
/github/runner_temp/git-credentials-b642432a-4d7f-416b-93a1-af92b4ab4753.config
[command]"C:\Program Files\Git\bin\git.exe" config --local --unset includeif.gitdir:/github/workspace/.git.path \/github\/runner_temp\/git\-credentials\-b642432a\-4d7f\-416b\-93a1\-af92b4ab4753\.config
[command]"C:\Program Files\Git\bin\git.exe" config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path
/github/runner_temp/git-credentials-b642432a-4d7f-416b-93a1-af92b4ab4753.config
[command]"C:\Program Files\Git\bin\git.exe" config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path \/github\/runner_temp\/git\-credentials\-b642432a\-4d7f\-416b\-93a1\-af92b4ab4753\.config
[command]"C:\Program Files\Git\bin\git.exe" submodule foreach --recursive "git config --local --show-origin --name-only --get-regexp remote.origin.url"
Removing credentials config 'D:\a\_temp\git-credentials-b642432a-4d7f-416b-93a1-af92b4ab4753.config'
Cleaning up orphan processes