Current main a3b24fd still fails test_cypher_tck_scenario[match3-19] with TEST_POLARS=1 against pygraphistry a5b3e2c6e: expected whole-node column x, actual flat x.name. Query: MATCH (a {name: 'A'}), (b {name: 'B'}) MATCH (a)-->(x)<-->(b) RETURN x.
The fixture has unlabeled x1/x2 nodes. pandas returns identity/property columns plus whole-entity metadata. Polars returns correct x1/x2 property rows without metadata or label markers. _whole_entity_aliases therefore cannot distinguish RETURN x from RETURN x.name. The adapter heuristic dates to June27 structured-return integration.
Pressure controls preserve both rows with identical properties on different IDs, RETURN DISTINCT x preserves both identities, and count(DISTINCT x)=2 on pandas/Polars. This is a metadata/adapter contract gap, not demonstrated row-count corruption.
Acceptance:
- Whole-node projections reconstruct expected entities using explicit projection provenance or product metadata; scalar property projections remain scalar.
- Paired unlabeled/labeled, node/edge, null/empty, identical-properties/different-ID, multiplicity and DISTINCT controls.
- Current scenario runner passes this case without new xfail/skip or value-normalization shortcuts.
- Product changes, if needed, have corresponding pygraphistry tests and relevant cuDF/polars-gpu coverage.
PR #199 concerns alias-property restoration and product graphistry/pygraphistry#2072; that is a different reproducer and is not credited as this fix. The other 18 old review failures are already covered by merged #193/#194/#195/#197 and match4-4 fixture commit66fee100.
Tracked by graphistry/pygraphistry#2074
Current main a3b24fd still fails
test_cypher_tck_scenario[match3-19]with TEST_POLARS=1 against pygraphistry a5b3e2c6e: expected whole-node columnx, actual flatx.name. Query:MATCH (a {name: 'A'}), (b {name: 'B'}) MATCH (a)-->(x)<-->(b) RETURN x.The fixture has unlabeled x1/x2 nodes. pandas returns identity/property columns plus whole-entity metadata. Polars returns correct x1/x2 property rows without metadata or label markers.
_whole_entity_aliasestherefore cannot distinguish RETURN x from RETURN x.name. The adapter heuristic dates to June27 structured-return integration.Pressure controls preserve both rows with identical properties on different IDs, RETURN DISTINCT x preserves both identities, and count(DISTINCT x)=2 on pandas/Polars. This is a metadata/adapter contract gap, not demonstrated row-count corruption.
Acceptance:
PR #199 concerns alias-property restoration and product graphistry/pygraphistry#2072; that is a different reproducer and is not credited as this fix. The other 18 old review failures are already covered by merged #193/#194/#195/#197 and match4-4 fixture commit66fee100.
Tracked by graphistry/pygraphistry#2074