P9 open-type query evidence
This directory separates the P9 acceptance protocol from the measurements that
will evaluate it. The exact 65 Criterion cases and all acceptance limits were
committed in dd730b8 before any result files existed. The protocol fixes the
PostgreSQL fixture, warmup, sample, and Linux backend-count matrix.
The latency fixture also fixes graph.memory_limit_mb at 2,048 MiB and
graph.query_memory_mb at 512 MiB so its million-edge projection is measured
under an explicit bounded allowance instead of the smaller interactive default.
Its GQL and Cypher cases use the canonical typed one-hop :type_1 query, return
only v, and require exactly one non-null v._id.id equal to 2 before
digesting it. Relationship-object formatting and identity latency are outside
this benchmark’s scope; the high-cardinality correctness matrix covers them.
The evidence tooling is committed as a separate checkpoint. After that commit is clean, run the following commands from the recorded exact commit:
RUN_ID=<full-exact-commit> \
EVIDENCE_DIR=release/evidence/engine/2026-08-13-p9-open-type-query \
./graph/tests/heavy/run_open_type_query_criterion.sh
cd graph
PG_VERSION_FEATURE=pg17 \
RUN_ID=<full-exact-commit> \
OUTPUT_DIR=../release/evidence/engine/2026-08-13-p9-open-type-query \
./tests/heavy/open_type_query_latency.sh
cd ..
RUN_ID=<full-exact-commit> \
OUTPUT_DIR=release/evidence/engine/2026-08-13-p9-open-type-query \
./graph/tests/heavy/run_open_type_query_resources_docker.sh
python3 scripts/write_p9_open_type_run_metadata.py \
--repo-root . \
--evidence-dir release/evidence/engine/2026-08-13-p9-open-type-query \
--measurement-commit <full-exact-commit>
python3 release/evidence/engine/2026-08-13-p9-open-type-query/check_results.py \
--repo-root . \
--evidence-dir release/evidence/engine/2026-08-13-p9-open-type-query \
--budget-commit dd730b8
The frozen budget files still resolve from their original paths inside the
historical dd730b8 tree. The reconciler uses those historical Git objects;
the live retained evidence now belongs under release/evidence/engine/.
The cargo bench Criterion run measures internal production Rust seams. The PostgreSQL runner
measures the public SQL surfaces with same-backend warmups. The resource runner
measures real PostgreSQL backend RSS and Linux PSS inside Docker. These are
different evidence domains and their artifact-byte fields are not interchangeable.
Retained result
Exact commit: a07b662523180685af3bc65cbb56921a38fe21ec.
The deterministic checker passed all budgets frozen at dd730b8, verified the
measurement commit’s ancestry, and reconciled every raw input with its summary:
65 Criterion cases, eight PostgreSQL cases, and Linux resource runs with 1, 4,
and 8 backends. The 65,536-label resource fixture retained distinct real
PostgreSQL PIDs and nonzero PSS for every backend. Its 8-to-1 total query PSS
ratio was 5.86x and its baseline-subtracted ratio was 6.36x, both below the
9.0x limit. The immutable projection used 54.7 bytes per directed edge, below
the 64-byte limit.
The open_type_query_resources.sh resource image was built from git archive
for the exact commit. The
retained metadata binds its image revision and source-archive SHA-256 to that
commit. Each query-phase sample was accepted only while every exact backend PID
reported the marked traversal statement as active.
The first Criterion capture overlapped the PostgreSQL and Docker producers. One
case produced a 21.1% confidence-interval width against the frozen 20% limit,
so that attempt was inconclusive. Its raw and normalized outputs remain under
attempts/a07b662-parallel-inconclusive/. The retained result is the complete
65-case serial rerun from the same exact commit; no budget was changed.