Repository navigation
v0.26.2
Changed
-
The
and N morehint no longer quotes the command it suggests. A
trailing dot is no shell metacharacter, and quoting it there taught the habit
everywhere else. -
A phrase in your own words finds more than it used to. Three rules widen
what counts as covering one of its words:Where a schema names something in its own vocabulary and describes it in the
user's, the description now bridges them —current userreaches
Query.viewer("The currently authenticated user"), which its name alone
never did.The words a question is built from (
who,what,does,has,this,
my) named nothing in any schema, so each one a record happened to echo
lifted its word count and buried the records matching the words you meant.
They're dropped before scoring now, like the other stopwords, so a question
asked as a sentence narrows about as well as the keywords inside it.A word matching nothing at all is retried as its singular, one tier
below a direct match:typesnever reachedpokemon_v2_type, because the
trailingshas nowhere to land in a subsequence and a prefixed name is far
outside the typo budget. The other direction already worked, sincetype
lands insidetypeson its own.A description word counts toward how much of a phrase a record covers, but
the bar to clear is still the best coverage by name — prose can reach it,
never raise it, so a record whose description happens to mention a word can't
displace the one named after it. Single-word queries are matched against
names only and are untouched by all three.Measured, each against the labelled sets in
script/eval/: the description
rule took MRR from 0.43 to 0.47 on 49 GitHub queries, rescuing five and
losing none; dropping question words took it from 0.06 to 0.13 on 30 queries
written as full questions by someone other than their author, leaving the
shorter-phrase sets unchanged; the singular retry took the held-out set from
0.22 to 0.27, and four of six sampled PokeAPI root fields from unreachable to
found. -
A generated schema's boilerplate ranks below what it wraps. Hasura and
PostGraphile surround every real table with a dozen derived types — filters,
aggregates, sort orders, insert shapes,_streamsubscriptions — each
carrying the table's name, so each matches everything the table matches. On
PokeAPI's schema they are 22,667 of 26,218 records, and they filled the whole
first page of every answer:list of egg groupshad 50 of them above the
table it named. Relay'sConnectionandEdgeare the same shape in the
other spelling —RepositoryRulesetEdgewas the top answer for "programming
languages used by a repo" — and now rank below the type they wrap too. Both
lists are suffix conventions their generators own, so a hand-written schema
is untouched, and a type actually calledEdgeis left alone.
Fixed
- A truncated wildcard said so twice. A query compiles its filters once to
search and once to explain, and the warning lived in the matcher. - A cache location gqls can't use is said aloud. A relative or empty
XDG_CACHE_HOMEis ignored (the XDG spec's rule, and what keeps
--clear-cacheout of your cwd) — but silently, so a run cached somewhere
other than where you pointed it. It now says which variable it ignored. - Having nowhere to cache no longer reports an empty cache.
--clear-cachewith neitherXDG_CACHE_HOMEnorHOMEset said
cleared 0 cached file(s), which reads as "the cache was already empty". - A qualifier naming no type leads with what it searched. The line read
no type named "Repo" — matching …, which looks like a failure above an
answer that is usually right (Repo.ownerfindsRepository.owner).