# openCypher TCK — Full-Corpus Parser Baseline

*Auto-generated by `cargo test -p cyrs-tck --features full-tck` (equivalent: `cargo xtask tck-baseline`).  Do not hand-edit.*

This file records the rolling parser-acceptance rate of the
`cyrs-db` front-end against the vendored openCypher TCK corpus
under `crates/cyrs-tck/tck/full/` (see `VENDORED.md` for the
pinned upstream revision).  Every Scenario Outline is expanded
against its `Examples:` table, so the counts below are
per-example, not per-outline.

"Accepted" means the parser emits zero syntax errors for the
query extracted from the scenario's `When executing query:`
step; it does **not** yet assert that the query's runtime result
matches the TCK's `Then` expectations (the frontend does no
execution, spec §1.3 N1).  Scenarios whose expected outcome is
`Expected::Error` are still untriaged (`Expected::Ignored`), so
acceptance is not yet equivalent to pass-rate.

## Summary

| Metric | Value |
|---|---|
| Feature files scanned | **220** |
| Scenario cases (outline rows expanded) | **3897** |
| Accepted by parser | **3632** (93.2 %) |
| Rejected by parser | **265** (6.8 %) |

## Per-area pass counts

| Area | Accepted | Total | % |
|---|---|---|---|
| `clauses/call` | 49 | 52 | 94.2 % |
| `clauses/create` | 76 | 78 | 97.4 % |
| `clauses/delete` | 37 | 41 | 90.2 % |
| `clauses/match` | 367 | 381 | 96.3 % |
| `clauses/match-where` | 29 | 34 | 85.3 % |
| `clauses/merge` | 62 | 75 | 82.7 % |
| `clauses/remove` | 33 | 33 | 100.0 % |
| `clauses/return` | 47 | 63 | 74.6 % |
| `clauses/return-orderby` | 31 | 35 | 88.6 % |
| `clauses/return-skip-limit` | 24 | 31 | 77.4 % |
| `clauses/set` | 46 | 53 | 86.8 % |
| `clauses/union` | 12 | 12 | 100.0 % |
| `clauses/unwind` | 14 | 14 | 100.0 % |
| `clauses/with` | 21 | 29 | 72.4 % |
| `clauses/with-orderBy` | 277 | 292 | 94.9 % |
| `clauses/with-skip-limit` | 8 | 9 | 88.9 % |
| `clauses/with-where` | 17 | 19 | 89.5 % |
| `expressions/aggregation` | 34 | 35 | 97.1 % |
| `expressions/boolean` | 148 | 150 | 98.7 % |
| `expressions/comparison` | 72 | 72 | 100.0 % |
| `expressions/conditional` | 13 | 13 | 100.0 % |
| `expressions/existentialSubqueries` | 0 | 10 | 0.0 % |
| `expressions/graph` | 52 | 61 | 85.2 % |
| `expressions/list` | 179 | 185 | 96.8 % |
| `expressions/literals` | 101 | 131 | 77.1 % |
| `expressions/map` | 39 | 44 | 88.6 % |
| `expressions/mathematical` | 5 | 6 | 83.3 % |
| `expressions/null` | 40 | 44 | 90.9 % |
| `expressions/path` | 7 | 7 | 100.0 % |
| `expressions/pattern` | 38 | 50 | 76.0 % |
| `expressions/precedence` | 121 | 121 | 100.0 % |
| `expressions/quantifier` | 536 | 604 | 88.7 % |
| `expressions/string` | 29 | 32 | 90.6 % |
| `expressions/temporal` | 1001 | 1004 | 99.7 % |
| `expressions/typeConversion` | 47 | 47 | 100.0 % |
| `useCases/countingSubgraphMatches` | 3 | 11 | 27.3 % |
| `useCases/triadicSelection` | 17 | 19 | 89.5 % |

## Next steps

- Triage scenarios one area at a time by classifying their
`Expected` outcome (`Supported` / `Error`).  Once triaged,
`accepted` becomes directly comparable to `expected`.
- Gate regressions on this number in CI once a sub-area
stabilises at 100 %.
