Skip to content
cccskills
FreePublished on GitHub

recall-gate

Run the retrieval recall gate with dead-gold triage and the binary A/B regression test. Required before release tags; use after any retrieval-adjacent merge.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Recall Gate

Answers one question with evidence: did retrieval change? Numbers moving is NOT the answer — fixture drift and corpus drift both move numbers without any retrieval change. Classify before believing.

1. Run both splits

CQS_NO_DAEMON=1 cqs eval evals/queries/v3_test.v2.json 2>/dev/null | grep OVERALL
CQS_NO_DAEMON=1 cqs eval evals/queries/v3_dev.v2.json  2>/dev/null | grep OVERALL

Aggregate = mean of the two (equal n=109). Compare against the latest recorded gate in ~/training-data/research/eval.md — NEVER against numbers from memory. Run-to-run noise is ±1pp with an active daemon.

Pin the substrate. Eval numbers depend on WHICH index computed them — a bare cqs eval relays to the daemon's RESIDENT index (index_substrate: "resident" in --json), while CQS_NO_DAEMON=1 forces a fresh CLI-side build ("fresh-built"). The two differ within the ~1pp HNSW-reconstruction noise, so comparing a resident run against a fresh-built baseline manufactures a phantom delta. Either pin CQS_NO_DAEMON=1 on every run (as above — fresh-built always) OR assert the --json index_substrate marker is uniform across every run you compare (including the recorded baseline). The recorded gate must note which substrate it was taken on.

2. If any metric dropped: check dead golds FIRST

The matcher is (origin, name) — file moves, splits, renames, and deletions kill golds and cap R@K, looking exactly like a recall regression:

# per split: for each q['gold_chunk'], does the index hold a chunk with that (origin, name)?
sqlite3 .cqs/slots/gemma/index.db "SELECT 1 FROM chunks WHERE origin=? AND name=?"

Re-pin dead golds: moved function → same name, new origin. Deleted function → re-point to the nearest current equivalent that genuinely answers the query text (read the query!), and record a repinned_<date> note in the query's metadata. Re-run step 1.

3. If a delta survives re-pinning: same-corpus binary A/B (definitive)

git worktree add /tmp/cqs-ab <baseline-tag>
cd /tmp/cqs-ab && CARGO_TARGET_DIR=$HOME/.cargo-target/cqs-ab cargo build --release --features cuda-index
CQS_NO_DAEMON=1 $HOME/.cargo-target/cqs-ab/release/cqs eval <fixture>   # both splits
CQS_NO_DAEMON=1 cqs eval <fixture>                                       # both splits, new binary

Pin BOTH sides to CQS_NO_DAEMON=1 (daemon vs CLI path differences pollute the comparison). Bit-identical output = zero retrieval change; the inter-capture delta is corpus drift — say so and pass the gate. A real difference = regression; bisect the suspect PRs ("no ranking change" claims with pins are where to start). Clean up the worktree + target dir after.

4. Record and sync

  • Append the gate block to ~/training-data/research/eval.md (table, verdict, re-pins).
  • On release gates, sync the three public surfaces to the new snapshot: README TL;DR line, Cargo.toml description, gh repo edit --description.
  • Fixture re-pins commit with the gate (release branch or a docs PR).

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

archeo

Free

Comment-archaeology sweep - find work items hiding in TODO/FIXME/for-now comments and plan-doc ledgers, judge them, file issues, queue trivial fixes. Good idle-loop activity.

The English summary is being prepared. Showing the original description.

jamie8johnson/cqs17Updated Jul 14, 2026

audit

Free

Run a multi-category code audit on the cqs codebase. Spawns parallel agents per batch.

The English summary is being prepared. Showing the original description.

jamie8johnson/cqs17Updated Jul 14, 2026

Run before modifying a function — impact + test-map + explain in one pass, presented as a modification checklist.

The English summary is being prepared. Showing the original description.

jamie8johnson/cqs17Updated Jul 14, 2026

Trust-boundary security audit of cqs — fans out unbiddable-auditor agents across 6 categories (RT-INJ/RT-FS/RT-RES/RT-DATA/RT-RELAY/RT-EXFIL), attacker mindset, run-the-attack PoC + regression guard.

The English summary is being prepared. Showing the original description.

jamie8johnson/cqs17Updated Jul 14, 2026

Run after making changes, before committing — reviews the current git diff for impact and risk via cqs review.

The English summary is being prepared. Showing the original description.

jamie8johnson/cqs17Updated Jul 14, 2026

cqs

Free

Unified cqs CLI dispatcher — semantic code search, call graph navigation, impact analysis, quality tools, notes, and infrastructure. Use `/cqs <command> [args]` for any cqs operation.

The English summary is being prepared. Showing the original description.

jamie8johnson/cqs17Updated Jul 14, 2026

See all skills by jamie8johnson

Report a problem with this skill