---
title: "Script inventory"
description: "Generated ownership and stability index for pgGraph scripts."
---

{/* Generated by scripts/check_script_inventory.py; do not edit by hand. */}

This index lists every maintained shell and Python entry point. Public/stable
commands retain their documented arguments, environment variables, defaults, and
exit meanings throughout the pgGraph 1.x compatibility window.

| Path | Audience | Tier | Destructive | Timeout |
|---|---|---|---:|---:|
| `graph/tests/heavy/alpha_to_v1_fixture.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/background_job_lock_regression.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/backup_restore_validate.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/build_lock_regression.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/build_memory_stress.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/concurrency_stress.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/crash_recovery.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/cross_backend_durable_projection.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/docker_smoke.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/fresh_install_smoke.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/function_metadata_audit.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/gql_create_tx_lifecycle.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/gql_delete_tx_lifecycle.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/gql_isolation_matrix.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/gql_merge_race.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/gql_relationship_race.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/gql_set_tx_lifecycle.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/gql_write_recheck_race.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/measure_build_rss.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/measure_mmap_pss.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/measure_runtime_resources.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/named_graphs_heavy_gate.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/open_type_high_cardinality_query.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/open_type_package_smoke.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/open_type_query_latency.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/open_type_query_resources.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/open_type_release_matrix.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/package_install_matrix.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/package_validate.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/pg_upgrade_validate.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/phase3_update_smoke.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/playground_release_gate.py` | internal | rc | no | 3600s |
| `graph/tests/heavy/playground_release_gate.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/projection_recovery_gate.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/query_start_hot_path.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/read_latency_under_sync.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/relation_identity_concurrent_ddl.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/rls_large_table_baseline.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/run_crash_matrix.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/run_durable_projection_matrix.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/run_gql_write_matrix.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/run_memory_sanitizers.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/run_open_type_query_criterion.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/run_open_type_query_resource_matrix.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/run_open_type_query_resources_docker.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/run_pg_matrix.sh` | maintainer/stable | rc | no | 3600s |
| `graph/tests/heavy/run_pg_matrix_docker.sh` | maintainer/stable | rc | no | 3600s |
| `graph/tests/heavy/run_pg_upgrade_matrix.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/run_pgbench_sync.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/run_postgres_process_sanitizer.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/run_release_gate.sh` | maintainer/stable | rc | no | 3600s |
| `graph/tests/heavy/run_sqlstate_acl_boundary.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/run_synthetic_release_evidence.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/source_archive_smoke.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/synthetic_release_smoke.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/tx_delta_crash_recovery.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/tx_delta_lifecycle.sh` | internal | rc | no | 3600s |
| `graph/tests/heavy/v1_1_update_artifact_rollback.sh` | internal | rc | yes | 3600s |
| `graph/tests/heavy/v1_2_update_artifact_rollback.sh` | internal | rc | yes | 3600s |
| `sandbox/cleanup.sh` | public/stable | pr | yes | 600s |
| `sandbox/common/docker.sh` | internal | pr | no | 600s |
| `sandbox/common/python.sh` | internal | pr | no | 600s |
| `sandbox/common/requirements_satisfied.py` | internal | pr | no | 600s |
| `sandbox/common/run_benchmarks.py` | internal | pr | no | 600s |
| `sandbox/playground/app.py` | internal | pr | no | 600s |
| `sandbox/playground/bootstrap.py` | internal | pr | no | 600s |
| `sandbox/playground/catalog.py` | internal | pr | no | 600s |
| `sandbox/playground/client.py` | internal | pr | no | 600s |
| `sandbox/playground/config.py` | internal | pr | no | 600s |
| `sandbox/playground/execution.py` | internal | pr | no | 600s |
| `sandbox/playground/queries.py` | internal | pr | no | 600s |
| `sandbox/playground/results.py` | internal | pr | no | 600s |
| `sandbox/playground/test_catalog.py` | internal | pr | no | 600s |
| `sandbox/playground/test_cleanup.py` | internal | pr | yes | 600s |
| `sandbox/playground/test_dataframe_rendering.py` | internal | pr | no | 600s |
| `sandbox/playground/test_datasets.py` | internal | pr | no | 600s |
| `sandbox/playground/test_requirements_satisfied.py` | internal | pr | no | 600s |
| `sandbox/playground/test_shell_entrypoints.py` | internal | pr | no | 600s |
| `sandbox/run_benchmarks.sh` | public/stable | pr | no | 600s |
| `sandbox/start_playground.sh` | public/stable | pr | no | 600s |
| `scripts/build_docker_pggraph_package.sh` | internal | pr | no | 600s |
| `scripts/build_pgxn_dist.sh` | internal | pr | no | 600s |
| `scripts/check_cast_allowlist.py` | internal | pr | no | 600s |
| `scripts/check_dependency_updates.py` | internal | pr | no | 600s |
| `scripts/check_doc_references.py` | internal | pr | no | 600s |
| `scripts/check_docs_drift.sh` | maintainer/stable | rc | no | 600s |
| `scripts/check_external_links.py` | internal | pr | no | 600s |
| `scripts/check_fixture_integrity.py` | internal | pr | no | 600s |
| `scripts/check_public_docs.py` | internal | pr | no | 600s |
| `scripts/check_release_contract.py` | internal | pr | no | 600s |
| `scripts/check_rust_doc_map_drift.py` | internal | pr | no | 600s |
| `scripts/check_script_inventory.py` | internal | pr | no | 600s |
| `scripts/check_secrets.sh` | maintainer/stable | rc | no | 600s |
| `scripts/check_sql_api_drift.py` | internal | pr | no | 600s |
| `scripts/check_topology_security_inventory.py` | internal | pr | no | 600s |
| `scripts/check_unsafe_allowlist.py` | internal | pr | no | 600s |
| `scripts/clean_generated_artifacts.sh` | internal | pr | yes | 600s |
| `scripts/copy_pggraph_package_to_docker_postgres.sh` | internal | pr | no | 600s |
| `scripts/extract_p9_open_type_criterion.py` | internal | pr | no | 600s |
| `scripts/inspect_pggraph_artifact.py` | internal | pr | no | 600s |
| `scripts/install_into_docker_postgres.sh` | internal | pr | yes | 600s |
| `scripts/lib/pggraph-common.sh` | internal | pr | no | 600s |
| `scripts/prepare_release_bundle.py` | internal | pr | no | 600s |
| `scripts/quickstart.sh` | public/stable | pr | no | 600s |
| `scripts/run_release.py` | internal | pr | no | 600s |
| `scripts/summarize_p9_open_type_postgres.py` | internal | pr | no | 600s |
| `scripts/test_p9_open_type_evidence_tools.py` | internal | pr | no | 600s |
| `scripts/test_release_bundle.py` | internal | pr | no | 600s |
| `scripts/test_release_validation.py` | internal | pr | no | 600s |
| `scripts/test_run_release.py` | internal | pr | no | 600s |
| `scripts/validate_release.py` | maintainer/stable | rc | no | 600s |
| `scripts/verify_p9_measurement_source.py` | internal | pr | no | 600s |
| `scripts/verify_release_bundle.py` | internal | pr | no | 600s |
| `scripts/verify_release_evidence.py` | internal | pr | no | 600s |
| `scripts/with_disposable_postgres.sh` | internal | pr | no | 600s |
| `scripts/write_p9_open_type_run_metadata.py` | internal | pr | no | 600s |

The machine-readable source at `release/scripts.json` also records owners,
tools, inputs, outputs, platforms, CI/release usage, and keep/merge/replace/delete
decisions, including reviewed overlaps and the reason each wrapper or adapter remains.
Internal fixtures may have workflow-specific interfaces; stable public
and maintainer entry points use the shared validation and release-runner contracts.
