Skip to content

NI locate: fold -ies plurals; a sibling source must explain every asked word (SET C words round) - #497

Merged
SecureCloudGroup merged 1 commit into
mainfrom
round19/locate-words
Oct 8, 2026
Merged

SecureCloudGroup merged 1 commit into
mainfrom
round19/locate-words

Conversation

@SecureCloudGroup

Copy link
Copy Markdown
Owner

NI locate: fold -ies plurals, and a sibling source must explain every asked word (SET C words round)

Round 19, after the SET C live read: three asks went to links that the Library could answer, and one tapped the wrong source. Re-running them through the live flow reproduced all four; the app's own classifier and candidate ranking explained each one.

What changed (library_index.py)

Plural fold. _fold now folds -ies to -y the way ni_flow._folded_words already does. "Heat advisories in Arizona" classified to nothing because "advisories" folded to "advisorie", never the keyword "advisory", and went to links; "coastal flood advisories for Long Island" did the same. Both now reach the NWS alerts sources (the state source for Arizona; the point source for Long Island, which the place table resolves).

Sibling subcategories. Locate admitted any source under the asked TOP category whose own words shared a word with the ask. "Any delays on the Washington Metro right now" routes to travel/transit_alerts and travel/transit; FAA airport status (travel/airport_delays) shares "delays", read "Washington" as its airport (DCA, cued by "delays"), and was tapped, showing an honest-empty card from the wrong source. A sibling source is now a different kind of data unless the ask gives evidence for it: its own words (name, description, examples, entity, answer labels and words) explain every word that named the asked subcategories, or it takes an entity the ask names outright (a spelled code, "delays at ORD"; a named team, "Dodgers score last night"), as opposed to one read off a city word. The Metro ask now offers links until a transit source exists; "how's the Nasdaq doing" keeps the Nasdaq Composite index (its name says the asked word).

The first two drafts of this rule each regressed a labeled row ("delays at ORD", a control; "Dodgers score last night"; then the Nasdaq unit test), which is how the evidence clauses were found. classify was refactored to share its matched-keyword list with the rule; ctx carries genuine (entities named outright) and asked_keywords.

Measured

  • Labeled locate set (148 rows, tests/fixtures/library_locate/labeled.json) against the pinned pack: main 103/108 admitted, 2 forbidden rows, 0 controls; this branch identical, row for row. The two forbidden rows and five misses pre-date this PR (they fail on main against the same pack).
  • Against the Library's words-round pack (sun rise, advisories/watches, GDP naming and kinds): identical again for both trees; the Library's lookup eval stays 46/46.
  • Locate unit tests: 323 passed (2 new: the fold; the Washington/DCA case with a spelled-code control).
  • Full Docker gate: ruff clean; locate and Library test files 382 passed; ni-flow-eval.py --recorded PASS; --chaos PASS; full suite 3,923 passed, 18 skipped..

Pairs with

Library PR SecureCloudGroup/SmartBrain_Library#10 (words round): sky/sun_moon keywords "sun rise", "sun rises", "sun up", "sunup"; weather/alerts "advisories", "watches"; the sunrise answers say "sun rise"/"sunup"; the GDP level record names "GDP", declares current_value, and the growth-rate record carries entity "GDP" so the bare entity lift no longer decides between them. With both: sun rise → open-meteo-sun, "US GDP growth trend" → the growth-rate series, "US GDP" → the level.

Not in this PR

  • A Washington Metro (WMATA) source: a keyed Library source for the authoring loop (decision 4).
  • The two pre-existing forbidden rows ("Chase bank hours", "Mountain Dew price": a place named where none is) and the five pre-existing misses on this pack.

…ed word

'heat advisories in Arizona' and 'coastal flood advisories for Long Island'
went to links because the keyword fold turned 'advisories' into 'advisorie',
never 'advisory'; _fold now folds -ies like ni_flow._folded_words. 'any delays
on the Washington Metro right now' tapped FAA airport status: locate only
checked the asked TOP category and FAA shares 'delays'; a source under a
sibling subcategory is now a different kind of data unless its own words
explain every word that named the asked subcategories, or it takes an entity
the ask names outright (a spelled code, a named team) rather than one read
off a city word. classify shares its matched-keyword list with the rule; ctx
carries genuine entities and the asked keywords. Labeled locate set: 103/108
on main and on this branch, row for row, on the pinned pack and on the
Library words-round pack; locate tests 323 (2 new). Full Docker gate: ruff,
382 locate tests, recorded PASS, chaos PASS, suite 3923 passed / 18 skipped.
@SecureCloudGroup
SecureCloudGroup merged commit a6f60ec into main Oct 8, 2026
13 checks passed
@SecureCloudGroup
SecureCloudGroup deleted the round19/locate-words branch October 8, 2026 15:53
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