Simplify Zig build targets and preserve subsystem test coverage - #657
Open
ajroetker wants to merge 10 commits into
Open
Simplify Zig build targets and preserve subsystem test coverage#657ajroetker wants to merge 10 commits into
ajroetker wants to merge 10 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Zig's build exposed duplicate and feature-specific test names, used
lib-*for Antfly code, and ran benchmarks through build targets. This consolidates the interface around code ownership:lib-*coverszig/lib, Antfly suites follow subsystem paths, and benchmark/tool targets install binaries for callers to execute.make zig-unit-testretains the CI gate across library, Antfly, and inference owners. Enrichment keeps the exact 220-case union, including all 62 formerly progress-only selections.antfly-storage-benchandscripts/run_db_query_matrix.py. Remove the DOCID and algebraic matrix scripts, seven algebraic targets, and the archive-evidence checker. Onestorage_benchexecutable provides DB/query, analytics, ingest, provisioned-ingest, HBC, and summary subcommands, sharing the compiled storage implementation. Analytics, adaptive coverage, cold/warm reads, graph traversal, and public schema comparisons remain available through the shared matrix. Planner ownership becomes a normal DB test; dynamic-template checks remain in the unit aggregate.antfly-storage-bench; API workloads build underantfly-api-bench.-Dapi-bench-standalone=truebuilds only the lightweight client of an existing production executable. WAL and derived-log retain their storage-owner benchmark targets. Remove the vector-write wrapper and document its exact arguments alongside the migrated smoke/stress presets inzig/BENCHMARKS.md.lib-<library>-conformancefetch missing fixtures, reuse cached corpora, and run verification. Support offline runs with-Dconformance-fetch=falseand custom caches with-Dconformance-fixtures. Remove separate fixture-setup aliases and scripts.Restored validation exposed existing defects fixed here:
nameandtypekeys. It now checks canonical names and preserved configuration semantically across reordered inputs and both response forms.CI also exposed a streaming connection-policy bug: the E2E client requests
Connection: close, but HTTP/1 streaming overwrote it withkeep-alivebefore closing the socket. A following table-cleanup request could race socket retirement and receive a reset. Streaming now shares the buffered-response connection policy, honors client/handler closure and server request limits, and advertises closure before committing headers. Socket-level regressions exercise each policy and reuse before the request limit; the failing E2E test also asserts its response policy.The retained benchmark drivers also used stale ownership and server APIs. Analytics now creates manager-owned indexes and uses public HLL reads with a dedicated root sketch. Public-query handler measurements call the typed query API; local HTTP measurements use the production registrar/listener instead of the removed executor. Standalone benchmarking reuses the production executable and its compiled runtime kernels. The sparse result-count oracle now includes sparse coordinate overlap and checks underfilled result sets even below k. HBC I/O counters preserve durability and atomic-rename capabilities; table reporting uses the version-aware offset accessor. The static provisioned catalog supplies routing projections. Concurrent query workers use standard thread stacks (LLDB confirmed the old 512 KiB reservation overflowed) and join all started workers on failure. Graph reporting takes a complete statistics snapshot. Churn comparisons match backend, profile, scale, and run identity, avoiding cross-workload baseline ratios.
Validation: