Skip to content

Locate round G1+G2: places from the right words, regions never a point, two-place asks stop honestly - #514

Merged
SecureCloudGroup merged 1 commit into
mainfrom
round20/resolver-g1g2
Oct 14, 2026
Merged

SecureCloudGroup merged 1 commit into
mainfrom
round20/resolver-g1g2

Conversation

@SecureCloudGroup

Copy link
Copy Markdown
Owner

Locate round G1+G2: places from the right words, regions never a point, two-place asks stop honestly

Sealed set G (read 2026-10-12) found four silent wrongs in place resolution: "how many quakes … hit Alaska" ran the USGS near-a-place source at Many, Louisiana (the word "many" matched the town); "hurricanes in the Atlantic" ran the NWS point feed at Atlantic, Iowa; "is it warmer in Phoenix or Miami" and "humidity in Houston compared with New Orleans" sealed one city with no city named.

Rules (library_resolve.py, library_index.py)

  • G1b, a bare one-word alias needs a cue. A one-word place alias written lowercase names a place only when the ask capitalises it, names its own state, or a place-cue word (in, near, at, around, for, from, to, of) sits right before it. A prominent place (BARE_PLACE_RANK: the pack's rank ≈ log10 population, 5.0 = 100,000 people) is its own cue, so "seattle weather tomorrow" keeps its place; below it, "many", "normal", "hope", "winter", "gas" read as ordinary words first. ALL-CAPS short codes ("NYC") count as capitalised.
  • G1a, another state's town never resolves. When the ask names a state, a bare alias of a place in a different state is not the place ("mobile conditions across illinois"); the named state is (so "Alaska" serves through the state-scoped USGS source).
  • G1c, regions are never a point. A closed REGION_WORDS table (Atlantic, Pacific, Gulf of Mexico, Caribbean, Arctic, Great Lakes, Gulf Coast, East/West Coast, Midwest, Northeast, Southeast, Southwest, Pacific Northwest, New England …) is vetoed before scoring; "Midwest City" and "Atlantic City" are longer aliases and still resolve.
  • G2, compound asks. Two independently cued places (or a place and a state that does not contain it) joined by a comparison word (or, vs, versus, compared with/to, against, than) give named_place a "compound" status; candidates() offers nothing with a closed reason ("this compares two places; one source answers one place") and the flow stops honestly with links. The intent validator accepts place as a list of ≤ 3 short strings (set F's two compares failed at that stage) and routes to the same stop.
  • The intent's own place text is resolved with cued=True: the model named it, so a lowercase mid-size place copied as written ("galveston") still resolves.
  • Two latent bugs fixed on the way: named_place's retry rebuilt its text from the lowercased ask (defeating a later alias's capitalisation); _side_location read only best and missed an ambiguous reading (Charleston SC vs WV).

Measured (pack_f)

  • Labeled locate set (148 rows): admitted 103 / 108, forbidden 2 (pre-existing), controls 0, frames wrong 0 / 38 — byte-identical before and after.
  • Locate-only scan over the 350 asks of sets A–G: 25 rows change against main, every one a G1/G2 class (8 compounds now stop honestly, incl. set G feat(ingest): dedupe, non-blocking uploads, and a background indexer that actually drains #42/feat(vaults): export & import a vault — share knowledge with another person #44; "Alaska" and its Oklahoma twin move to the state-scoped USGS source; three "winter" asks move from the point to the state alert source; spurious words tornado/many/frost/gas/worth/outlook dropped from the place words); the only row that differs from the worker's run after the prominence rule is "aurora forecast for Fairbanks" (Aurora CO is prominent, so the word is read as on main: ambiguous, same source).
  • 61 constructed probes (common-word towns × case × state × cue, regions, every comparison word, controls): 43 / 61 on main → 61 / 61; a lead probe of 14 lowercase big-city asks ("seattle weather tomorrow", "is phoenix hot right now", "nyc subway delays" …) resolves every one with and without the intent's hint.

Gates

ruff clean; new tests/test_library_resolve_g1g2.py (79 tests) + the library/locate suites 458 passed; worker gate targeted 2,851, engine 497, --recorded / --chaos PASS, full 4,952 / 27 / 0 failed; landed gate re-run at landing.

…t, two-place asks stop honestly

Sealed set G found four silent wrongs in place resolution ("how many quakes … hit Alaska" ran at Many,
Louisiana; "hurricanes in the Atlantic" at Atlantic, Iowa; two-place compares sealed one city). G1b: a
bare one-word place alias written lowercase names a place only with a cue (capitalised, its own state
named, or a place-cue word before it); a prominent place (rank ≈ log10 population ≥ 5.0, 100k people)
is its own cue unless the ask names another state (G1a); the intent's own place text never needs a cue.
G1c: a closed REGION_WORDS table is vetoed before scoring. G2: two cued places joined by a comparison
word give named_place the status "compound" and locate stops honestly with a closed reason; the intent
validator accepts a short place list and routes to the same stop. Labeled locate set unchanged
(103/108); 25 of 350 development asks change, every one a G1/G2 class; 61/61 probes; 14 lowercase
big-city asks all resolve.
@SecureCloudGroup
SecureCloudGroup merged commit a332786 into main Oct 14, 2026
13 checks passed
@SecureCloudGroup
SecureCloudGroup deleted the round20/resolver-g1g2 branch October 14, 2026 02:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant