Automated summary
Verifies gochickpeas engine/gql changes end-to-end using a real-LDBC-data parity gate plus a hands-on drive of the public API.
Strengths
- Parity gate over the full parse → plan → exec pipeline with pinned row hashes on SF1/FinBench SF10 exports (~26M rels)
- The plan-shape golden catches planner-quality regressions that row parity cannot see
- The -cached-parity option exercises the auto-parameterized PlanCache path and exposes literal-vs-cached-plan divergence
- Provides a concrete shared-box lock protocol and an ABBA methodology for noisy timing comparisons
Limitations
- Assumes specific local paths (LDBC exports, repo root) and taskman tooling tied to this environment
- The full gate loads ~26M rels, takes several minutes, and needs an exclusive machine lock
- Its guidance on measurement noise and alloc counts is machine-specific rather than general
Use it before committing a nontrivial engine or gql change, especially one touching the planner or recognizer.
Avoid it for documentation-only or trivial changes, or when the LDBC data and machine lock are unavailable.
Security analysis
CautionThe skill is a developer verification runbook. It issues ordinary Go build/test/benchmark and lock-manager commands against a local repository and dataset, with no destructive, exfiltrating, or obfuscated actions and no instruction to bypass safety. It is classified caution only because it drives local shell/compilation tooling (including running repo code) for legitimate purposes.
- •Runs local shell operations (`go run ./cmd/gqlbench`, `go build ./...`, `go test ./...`, `taskman lock run`) that compile and execute code from the target repo — powerful tooling but legitimate for verification.
- •Depends on the agent having bash/terminal access; no `allowed-tools` are declared, so the skill itself does not constrain which tools the agent may use.
- •Contains developer-specific absolute paths (`/Users/efreeman/gochickpeas`, `~/rustychickpeas-ldbc/...`), which is not a security issue but assumes a specific machine layout.
- •Heavy invocation loads ~26M relations and runs multi-core builds/tests; resource contention is acknowledged and gated via the shared-box lock, not a risk to the host.
- •No exfiltration, no curl|sh, no `rm -rf`, no base64/obfuscated payloads, no safety-disabling instructions.
Examples
I changed the planner's VarExpand pushdown logic in gochickpeas. Run the full verification: parity gate with -cached-parity and -plans-golden, and tell me whether the plan-shape golden drifted.Set up a scratchpad module with a replace directive to /Users/efreeman/gochickpeas, build a small graph with chickpeas.NewBuilder, then run a few gql.Run queries and check gql.Explain output for the [mono ...] pushdown marker.Compare allocations before and after my recognizer change using gqlbench profiles, and if we need timing run the whole ABBA comparison inside one taskman lock run local-cpu session with -max-load 2.name: verify description: Verify gochickpeas engine/gql changes end-to-end -- parity gate against real LDBC data plus a public-API sample drive.
Verifying gochickpeas changes
The surface is the library's public API. Two handles, use both for nontrivial engine/gql changes:
1. Parity gate (real data, full pipeline)
go run ./cmd/gqlbench -manifest ~/rustychickpeas-ldbc/viz/data/gql_variants.tsv \
-verify-only -cached-parity \
-plans-golden cmd/gqlbench/testdata/plans_golden.txt
Expect 89/89 MATCH, 0 DIFF, 0 SKIP, plus plan-shape golden: 89 queries unchanged. This drives parse -> plan -> exec over SF1/FinBench SF10 exports
with pinned row hashes. Loads ~26M rels; takes a few minutes. Never emit
(-verify-only) from a dirty tree -- the append-only bench-out protocol stamps
engineCommit.
-
-cached-parityalso checks the auto-parameterized PlanCache path against the same reference hashes (catches literal-vs-cached-plan divergence). -
-plans-goldenguards plan QUALITY, which row parity cannot see: a planner change that stays correct still moves the plan, and drift here fails the run. For an INTENTIONAL planner change, review the drift, then regenerate the golden with-plans-golden-captureand commit it in the same change. Do a planner change WITHOUT this and a regression that stays row-correct lands invisibly. -
Run heavy invocations under the shared-box lock -- and not just the gate: full builds, full test runs, fuzz runs, and benchmarks are exactly the multi-core work that lands on top of an ldbc sweep mid-measurement.
taskman lock run -ttl 20m -wait 30m -reason "<what>" local-cpu -- go build ./... taskman lock run -ttl 20m -wait 30m -reason "<what>" local-cpu -- go test ./...Incremental builds,
go vet, and editor-driven builds are fine unlocked. A non-zero exit fromlock runmeans another session holds the box: wait or do unrelated work -- never run the job anyway.
2. Sample drive through the public export
Scratchpad module with a replace directive resolves the local repo:
module verifydrive
require github.com/freeeve/gochickpeas v0.0.0
replace github.com/freeeve/gochickpeas => /Users/efreeman/gochickpeas
Build a small graph with chickpeas.NewBuilder (AddNode/SetProp/AddRel/
SetRelPropAt, then Finalize("name")), run queries with gql.Run, and
inspect plans with gql.Explain (e.g. grep the [mono ...] marker on
VarExpand lines to see whether a pushdown fired). Probe near-miss
phrasings and malformed input; errors should be clean plan/bind errors.
Gotchas:
- Timing on this machine is very noisy; alloc counts (gqlbench profiles
output) are the most trustworthy A/B signal. For timing A/Bs, run the
whole comparison inside ONE
taskman lock run local-cpusession in ABBA order (new-old-old-new): interleaving alone does not cancel a load trend, only ABBA does. A run whose TIMING is the product must also pass-max-load 2and must not publish on a non-zero exit. gqlbenchmust run from the repo root (HeadStamp shells to git); point -out/-plans-out/-profiles-out at the scratchpad.- 45s of
go test ./gql -fuzz FuzzQuery -fuzztime 45sis cheap insurance after recognizer/planner changes.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/verify-gochickpeas-engine-gql-changes-mrwak9i9/download' --output '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md.part' && mv '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md.part' '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md' && test -s '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/verify' && cp -R '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9' '.claude/skills/verify'Cursor
test -f '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md' && test -s '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/verify' && cp -R '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9' '.cursor/skills/verify'Codex
test -f '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md' && test -s '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/verify' && cp -R '.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9' '.agents/skills/verify'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9'openskills read 'verify-gochickpeas-engine-gql-changes-mrwak9i9'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/verify-gochickpeas-engine-gql-changes-mrwak9i9/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
ClickHouse Performance Comparison
Testing
Evaluate ClickHouse performance test results, check PR performance changes, compare with history, and assess whether a result is actionable.
Analyze CI Performance Reports
Testing
Analyze CI performance comparison reports for a ClickHouse PR. Cross-references master history to distinguish real regressions from flaky tests.
Santa Method
Testing
Multi-agent adversarial verification with two independent reviewers. Output is checked twice and iteratively fixed until both pass before shipping.