Real fork of ClickHouse/ClickHouse with the Hanzo overlay applied on top of the
26.5 release lineage (parent is upstream/26.5, so future upstream syncs are clean
3-way merges). Overlay: cmd/zap-bridge (:9999 ZAP duplex), Dockerfile.hanzo +
hanzoai/debian13 bases, hanzo/ config + schema, white-label hanzo-datastore
branding, arcd CI, hanzo-* packaging.
FOLLOW-UP: re-apply Phase-1 CMake decisions (single-binary ENABLE_DATASTORE_KEEPER=OFF;
disabled external engines) + full build on hanzo-build-linux-amd64.
- Add `tests/config/config.d/core_dump.yaml` to centralize `core_dump.size_limit` for all jobs
- Remove per-job `core.xml` generation from `clickhouse_proc.py` `install_fuzzer_config`
- Remove per-job `core.xml` generation and `sysctl kernel.core_pattern` from `run-fuzzer.sh`
- Remove `<core_dump><size_limit>` block from `stress_tests.lib` (keep `<core_path>/cores</core_path>`)
- Delete `attach_gdb.lib` (function was unused; sourced only in `upgrade_runner.sh`)
- Remove `attach_gdb.lib` source from `upgrade_runner.sh`
- Add `ClickHouseService.collect_cores` static method: compresses up to 3
`core.*` files with zstd, encrypts each with AES-256-CBC, wraps the AES
key with RSA-OAEP using `ci/defs/public.pem`
- Remove `collect_and_encrypt_cores` from `clickhouse_proc.py`; callers
(`ClickHouseProc._collect_core_dumps`, `ast_fuzzer_job`) now use
`ClickHouseService.collect_cores`
- Add `Utils.fix_ownership_after_docker` helper (replaces the ad-hoc
`sudo chown` / Docker-based chown in fuzzer and stress jobs)
- Wire core collection into `stress_job.py`: mount a dedicated `/cores`
volume, set `core_path` to `/cores` in the server config, call
`collect_cores` after the Docker run, attach encrypted files to the result
- Remove `tests/docker_scripts/utils.lib` and its `collect_core_dumps` bash
function; references removed from `stress_runner.sh`, `upgrade_runner.sh`,
and `attach_gdb.lib`
- Add `test_stress` end-to-end test to `ci/tests/test_e2e.py` alongside the
existing `test_fuzzer`, verifying that `.zst.enc` and `.rsa` files appear
in the result JSON