{
  "verified_on": "2026-09-25",
  "run_window_utc": [
    "2026-09-25T06:22:24.688Z",
    "2026-09-25T06:27:29.907Z"
  ],
  "ptah": {
    "0.8.1": {
      "commit": "1a82c18b9251f913e4069c67987f9318a2bd8421",
      "release": "https://github.com/stokaro/ptah/releases/tag/v0.8.1",
      "checksums_txt_sha256": "a43d5184dbdf2899c9bf9b78f00d6bf3a13a2efe17daa6e70ba31357fae65144",
      "linux_amd64": {
        "archive": "ptah_0.8.1_linux_amd64.tar.gz",
        "archive_sha256": "1a7e2313823a375b048f1a50857958be63c6d54f3caf7843dc6df4925cd862d4",
        "ptah_sha256": "5fe4128edd6c3ace5eb3927e676e97fc12c44a76de6f95360f0f7b78c3e18e80",
        "ptah_compat_sha256": "18bb2930fa3b39794f3c5c9f752d14e8178c13bd1c5bc10ca8832ccd7669194a"
      }
    },
    "0.8.0": {
      "commit": "061fac0c6b2607f9442b440168fb45c3dfe5ba39",
      "release": "https://github.com/stokaro/ptah/releases/tag/v0.8.0",
      "checksums_txt_sha256": "50dedfd99fbf32acffd290ebb65a3ee57ebc08570daf8ffe499f462b0d36a0d4",
      "linux_amd64": {
        "archive": "ptah_0.8.0_linux_amd64.tar.gz",
        "archive_sha256": "524daaf3caff9f6894a613e481bdda2d724e455af1c2913e7485c09bc158b871",
        "ptah_sha256": "238e4929a3ca0e88957fd3317caec159b0b89f3565e3c8c0a0476a7ec26bf2e0",
        "ptah_compat_sha256": "b4257013677f51d43017880f1815514a36a2b4d58b5cc358fc8739df8e72e745"
      },
      "used_for": "the comparisons with 0.8.0, from /opt/ptah-0.8.0/"
    }
  },
  "atlas": {
    "edition": "Atlas CE",
    "version": "v1.3.0",
    "source_commit": "9a6bc601212130aaaefcbc8dd36c710baf9716ff",
    "source_archive_sha256": "15f14b25db8e32f6fc91343c77a3e624507a1b051f91fecbcfc643cb596c0321",
    "build": "GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath in cmd/atlas, with the version stamped as in stokaro/ptah scripts/build-atlas-ce-reference.sh; go1.27.1 darwin/arm64",
    "binary_sha256": "b32983ccad90e90461bb0a63eb0153f4fb14ee527ec65b59bad36b7abda1b348"
  },
  "postgres": {
    "version": "18.6",
    "image": "postgres@sha256:1957b2ff3137e4ef7f3bc813e74fff50b1e1ffddc85c8b9d6f14ade972be8687",
    "used_for": "online, lint and known"
  },
  "timescaledb": {
    "version": "2.30.1",
    "postgres": "18.6",
    "image": "timescale/timescaledb@sha256:9dede0e3ccc071cf71935b17f76bf243331df0b1575338c8ac294640fcf12a36",
    "tag_pulled": "timescale/timescaledb:latest-pg18",
    "used_for": "atlas"
  },
  "docker_context": "remote-dev-container",
  "checks": [
    "online generate with diff.online_alter: exit 0; no_transaction, ADD CONSTRAINT ... NOT VALID, VALIDATE CONSTRAINT",
    "lint, default rules, latest 1: exit 0; No lint findings",
    "lint, online: require, latest 1: exit 0; No lint findings",
    "online mode, up --dry-run: exit 2; lock timeout required on PostgreSQL",
    "online mode, up --dry-run --tx-mode none: exit 2; the same message",
    "online mode, up --dry-run --lock-timeout 3s: exit 0; SET lock_timeout = '3000ms', both ALTERs, RESET lock_timeout",
    "read before the migration: 0.691 ms",
    "pg_stat_activity during the wait: ALTER TABLE ... ADD CONSTRAINT waiting on Lock",
    "read during the wait with lock_timeout 5s: exit 0 after 544.052 ms",
    "up --lock-timeout 3s behind a 10-second blocking transaction: exit 2; canceling statement due to lock timeout; log 06:22:43.090280Z to 06:22:46.100550Z",
    "after the timeout: no constraint; status --exit-code: exit 1, dirty, applied=0/2, names --allow-dirty",
    "plain retry: exit 2, migration is dirty",
    "retry with --allow-dirty after the blocker: exit 0; compare --exit-code 0; status --exit-code 0; accounts_plan_known convalidated t",
    "lint --format json on DROP COLUMN: exit 1 on both; 0.8.1 report on stdout and note on stderr; 0.8.0 the other way round",
    "ptah-compat 0.8.0 migrate apply on TimescaleDB: exit 1; found schema _timescaledb_cache",
    "ptah-compat 0.8.1 migrate apply: exit 0; revisions 001, 002; Atlas CE status OK, 0 pending",
    "migrate lint --dev-url: 0.8.0 exit 1 (_timescaledb_catalog); 0.8.1 exit 0 with PG101 on 002; Atlas CE exit 0, no diagnostics",
    "dev databases afterwards: 0.8.0 and 0.8.1 still have timescaledb; Atlas CE's has plpgsql only",
    "ptah-compat 0.8.0 with --allow-dirty recorded 1, 2; 0.8.1 status OK, apply nothing to execute; Atlas CE status OK at version 2",
    "native 0.8.1 up --dir-format atlas --revision-format atlas: exit 0; revisions 001, 002 in atlas_schema_revisions; Atlas CE status OK",
    "native 0.8.0 up with the same flags: table in public; 0.8.1 status exit 2 naming --migrations-schema public; with it and --exit-code: exit 1, both rows missing (stokaro/ptah#3550)",
    "0.8.1 mcp --help: six reading tools; migrations data --help: no gating; schema export --to markdown: id nullable",
    "article-output: every titled block matches its file (npm run check:examples)"
  ],
  "output_files": {
    "rule": "A .txt, .json or .md file under measured/ is the command's standard output byte for byte, and a .stderr.txt file its standard error. One file is an excerpt, listed in excerpts.",
    "excerpts": {
      "online/measured/lock-timeout.txt": "the last two lines of online/measured/up-behind-blocker.stderr.txt"
    }
  },
  "scope": "No rows in the online example and no application workload. One blocking transaction and one read in the lock-queue measurement. Two migrations and an empty hypertable in the TimescaleDB example. No canceled CREATE INDEX CONCURRENTLY, no timeout refusal on SQLite or similar dialects, and no ptah sql lint run.",
  "files_sha256": {
    "README.md": "86dd70a079fc46799800a200208a63ac19507dd7d8957929456e880dd5f19522",
    "atlas/bootstrap.sql": "b5d8d031970cedb543a0b9df4a0d7e7e928a8803e286254fcbeb321741fc9afa",
    "atlas/measured/apply-0.8.0.stderr.txt": "305d20a2d2fa4034f4ef261fc1b0e82d402f96341e53d460e5553d3ea9993ad1",
    "atlas/measured/apply.txt": "95451dc4c256aad07401e479edc579c8b2373b808c3fc2f7dbec27fe0d4e19fe",
    "atlas/measured/atlas-status.txt": "00d4867087a9d006c3e3cf9332dba3f4bd19d7152182ca08e82919fee746451a",
    "atlas/measured/extensions-dev080.txt": "2e5defafa0a89c8ae6c6ef4829c86c0432d72985a1c77c7f739a3f0ab1b3a757",
    "atlas/measured/extensions-dev081.txt": "2e5defafa0a89c8ae6c6ef4829c86c0432d72985a1c77c7f739a3f0ab1b3a757",
    "atlas/measured/extensions-devatlas.txt": "aa965a0cca3a3862c7d8ddb12023267a823872c4483e256033c2d4f4d82462f3",
    "atlas/measured/lint-0.8.0.stderr.txt": "521d49f83fc0676a4f9f330fd4b5ea992ac1d89a8de36b5a05e4deea763e1cfa",
    "atlas/measured/lint-atlas.txt": "703dcaebcc001d6fdf5bd4d9af9e8acd0e44769bc959149084cc542f40b86454",
    "atlas/measured/lint.txt": "96e34e81cf87eb9b313ed8d5ad9e6e54354a708152e4c7bd20cc9b82f6bc2687",
    "atlas/measured/native-atlas-status.txt": "00d4867087a9d006c3e3cf9332dba3f4bd19d7152182ca08e82919fee746451a",
    "atlas/measured/native-revisions.txt": "13b9ae598d979fb283c83a75879ef677265e1d87421dca702d0da29bd18a0ba2",
    "atlas/measured/native-up.txt": "0eb8c6b514d0f3a84a51e93dc15012c7baa80c020da21e63962fb9ca72522189",
    "atlas/measured/native080-status-schema.txt": "bd5354a58d5b0261a16e25dc47cf396d635265ece2538a95acbfb5b45c69b8e4",
    "atlas/measured/native080-status.stderr.txt": "042bb8d0330a159465b728c365fa2b0810e354cff36334a857582d5abba21b4c",
    "atlas/measured/native080-table.txt": "393d0fb74a82734129dc3c85ee59c54c9b99e8a7bb1a3ef613a85ceccac4a20e",
    "atlas/measured/native080-up-0.8.0.txt": "a5fe39e4bf0d9dc51b4c8eab4a83c74d4618ca9647e2d8cdd30753095e853bbd",
    "atlas/measured/older-apply-0.8.0.txt": "d6fb8e137316972b11751c9a6ade4c1c5b6e635aa63d423449bb162ba560e8e0",
    "atlas/measured/older-apply.txt": "68c0fb7f444ddd20653f5c28da654af56a6bff5283f3eac20383167ca81f0d12",
    "atlas/measured/older-atlas-status.txt": "e021ca31f3845d096ce008a106afdb407054aeb0a13c944f152ba74e3a100b94",
    "atlas/measured/older-revisions.txt": "c6282940cf5a18f7820c4167413e12f6f725e04934540904cbae3773f4bd2071",
    "atlas/measured/older-status.txt": "00d4867087a9d006c3e3cf9332dba3f4bd19d7152182ca08e82919fee746451a",
    "atlas/measured/revisions.txt": "13b9ae598d979fb283c83a75879ef677265e1d87421dca702d0da29bd18a0ba2",
    "atlas/migrations/001_events.sql": "41746f2f4d861f669fba2a771eda095ef33c068922ae5fae6b8d696655aea89f",
    "atlas/migrations/002_events_kind.sql": "17e18181f22346e56a89b17e92c816267baf157b9ec52ab5c245f3bb9bc6a99c",
    "atlas/migrations/atlas.sum": "869b9a6574ab426fa86c47309e55a82d8f146aa9d4263df868ebb69355fe8d47",
    "atlas/revisions.sql": "f08cd3513d0f57e38b4ea533733ce7142801a0299fcdbd9ce318f45ef106d76d",
    "commands.json": "e86a46932d1a45077f487a126338592e33be0f81feaf2f5a1db33b8d6746edc7",
    "known/measured/data-help.txt": "eef324e22a5e3c5644599915b56068cf59dee39709ad583280f3fe7937996ec2",
    "known/measured/export.txt": "b947af3f4cb84270f4330c09ad15109a16c079261035d96a9e5c34f1e9dad022",
    "known/measured/mcp-help.txt": "20ce24fdbc3c48cd303a0f676bfc96d3c8d80c522acba1103a5edc14d30abf74",
    "known/measured/notes.md": "3df0860fab23bceac8bd118404a0db3df92cbc3d5eb85f6364023fc45b258689",
    "known/schema.sql": "d46d5796677f2169faa2030419d690e03750351df0f8cdb51a6dfc77129fe482",
    "lint/measured/report-0.8.0.stderr.txt": "c2405cf7ffdf80b9b18749f96cd45a4fb52cf906352e78fa4e48efeffa2b6250",
    "lint/measured/report-0.8.0.txt": "7bab3bcbdf7a7271bab1e3a35f5f29818632d104175d46d00a80b77c21f4e385",
    "lint/measured/report-0.8.1.json": "c2405cf7ffdf80b9b18749f96cd45a4fb52cf906352e78fa4e48efeffa2b6250",
    "lint/measured/report-0.8.1.stderr.txt": "7bab3bcbdf7a7271bab1e3a35f5f29818632d104175d46d00a80b77c21f4e385",
    "lint/migrations/1790100000_drop_bio.down.sql": "f32d6304cb5e8f3a527e6856e32e0528602fede3b0630f7315911f6a2f37f673",
    "lint/migrations/1790100000_drop_bio.up.sql": "ba17da5371ad6e7d9381179a1a2b2bbdeb753f9aa71d1ae9fd3815b3cc6ac6c8",
    "online/blocker.sql": "9babeeb7d3d57cd8ff06c9a642fec2089cca6c11c447cc3f0175a4bb77d922b1",
    "online/constraint.sql": "1febae12e7a83fd65802f89ce853dd6683872efd9955375440f90369ffa66644",
    "online/measured/compare.txt": "b44e534fcc70af3b7c2b1c7e48c74f5f3378e01a2c98bed574f841f16633e040",
    "online/measured/constraint-after-timeout.txt": "da9ccefb2c53f806d464a8621df6ebde50305e3689afb35b3262f152643b17fa",
    "online/measured/constraint.txt": "4c9d69ef505aa043cce6cb5a50771d3cafab9725d1b23b1dc83233fc1377bd2c",
    "online/measured/lint-default.txt": "f95931b07fa07425ac5140eb84c1747a2dbe20ad049490b0d198289f3034758f",
    "online/measured/lint-online-mode.txt": "f95931b07fa07425ac5140eb84c1747a2dbe20ad049490b0d198289f3034758f",
    "online/measured/lock-timeout.txt": "c5b1eb62a552e8708a728e7deb278722a308e548c35462d01e5fa2e6181b79c3",
    "online/measured/log.json": "b68a0d6c5cc75aae1de9fe2561a3f62147994b0ffd533ce03198be85dde41eaf",
    "online/measured/log.txt": "10fac00a8fa9b9be575d58edf8c190da1dbf5eb4fc43f7f5a393d6f06c45ea5a",
    "online/measured/reader-before.txt": "9e7e3095c13be872c4c63c62133071a32c2c7affd8e45a16c8572e5a40d768cb",
    "online/measured/reader-during.txt": "00920704676b5155d4106227d41956e350b18657bf6cd7f8bf2600fe97d2a239",
    "online/measured/status-after-timeout.txt": "cc47c1e95927636ff51ea7b243f8a232ba2c6809949c16a8dc7151be0fb7ea36",
    "online/measured/status.txt": "07cd19fa96d7c646250095d594b493d42853fec404f30054538a931fe6655276",
    "online/measured/up-allow-dirty.stderr.txt": "f001e6b5497e1773cf80ac7d6fc12485579a1ae70db527f59a4c6e4629034bad",
    "online/measured/up-allow-dirty.txt": "6d13c3eb3aa34dc42fc156503efb66499cb3fd2be58a5a511d6f838cefc22b5a",
    "online/measured/up-behind-blocker.stderr.txt": "cb9f91cb1f77093de0a6f141b09c0fc4e606c35f7850d713d92ae79ecd5088e4",
    "online/measured/up-behind-blocker.txt": "9d89ffd62402c974d94022be924484bde2eb980199d39d8e5038310101c4334d",
    "online/measured/up-dry-run-lock-timeout.stderr.txt": "42b135810ef7d080f6098a1290c61472885f7ac23b708ec9efb4cb295e1ea597",
    "online/measured/up-dry-run-lock-timeout.txt": "c23b7c3a42ca2cc6875c70b64831a71528b81e72416ca8935447cce20203e751",
    "online/measured/up-dry-run-tx-none.stderr.txt": "3f51bf5eb3cc0309e30376e2c748702bc8ae379668a16b4ad80c61ff127cd622",
    "online/measured/up-dry-run.stderr.txt": "3f51bf5eb3cc0309e30376e2c748702bc8ae379668a16b4ad80c61ff127cd622",
    "online/measured/up-retry.stderr.txt": "736b6f1816c78377394b342b3cf0fdafaa8ac122b65350acad44b275e4420393",
    "online/measured/waiting.txt": "c00abbbbab62915e5ab6dd760b67d11ab9df6cd3507685b9ba1be9cf720def36",
    "online/migrations/1790100000_create_accounts.down.sql": "d2614c18fc0cdf5c1f5ed3bdfa125e8d8d8bb95f994663a5e3a68a04f1738ae9",
    "online/migrations/1790100000_create_accounts.up.sql": "3b33e2663cb1328fedf9cd691faac47630059f035c9d824d23cb9fc8ab1fd223",
    "online/migrations/1790317351_plan_known.down.sql": "1f45a3122191e2266c494bdfeae45ab56fe7a24f79ed195a77554e33c3a7c485",
    "online/migrations/1790317351_plan_known.up.sql": "9dd04ee6c7169be15b1a8ca95a276bb60f5dff284206eefb26f3104cf474f16e",
    "online/migrations/ptah.sum": "21a61c630d4ed67bd53002827ca844644ff8648ceebda60328c98a89609b7b6f",
    "online/online-lint.yaml": "e52dfee0c2002acb48b616c9a4b18a37f6739516645e2dba11284a5fdb2b2b86",
    "online/ptah.yaml": "be6d20bef2f5eca7606091ec6a1e25420204c9ecb3665a64b7ade91503418842",
    "online/reader-timed.sql": "2dc8393572b17fe3e88b6b19d981a76847895c0b01a357c64156d7a8ed1c2c53",
    "online/schema.sql": "76a3a46bbe035ef3fdea0429ac7dc2ac3bb0edbec3da5e7f40e1b286ab2bab7c",
    "online/waiting.sql": "f71fab448cc4063c48d4474d3d8711570c8693048ca86f26136ae426bedc0623"
  }
}
