diff --git a/chat/pack_grounding.py b/chat/pack_grounding.py index 9769cb27..b326a82d 100644 --- a/chat/pack_grounding.py +++ b/chat/pack_grounding.py @@ -181,9 +181,13 @@ def build_pack_surface_candidate( # in its cached dict. Default to NOUN frame as the safest # fallback — most lemmas with glosses are nouns. gloss_pos = "NOUN" + # Use lowercase "pack-grounded" mid-sentence so existing + # substring assertions in tests/test_pack_grounding.py (and + # downstream) continue to match. The marker is a provenance + # tag, not a sentence-starting word. surface = ( f"{_frame_gloss(key, gloss_pos, gloss_text)} " - f"Pack-grounded ({resolved_pack_id})." + f"pack-grounded ({resolved_pack_id})." ) return PackSurfaceCandidate( surface=surface, diff --git a/language_packs/data/en_core_action_v1/glosses.jsonl b/language_packs/data/en_core_action_v1/glosses.jsonl new file mode 100644 index 00000000..2e451eba --- /dev/null +++ b/language_packs/data/en_core_action_v1/glosses.jsonl @@ -0,0 +1,26 @@ +{"lemma":"accomplish","gloss":"to complete a task or goal successfully","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"achieve","gloss":"to bring about a desired outcome through sustained effort","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"build","gloss":"to construct something by assembling its constituent parts","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"carry","gloss":"to bear or convey something from one place to another","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"change","gloss":"to make or become different in some respect","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"come","gloss":"to approach or arrive at a location or state","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"conduct","gloss":"to direct or carry through an organized activity","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"create","gloss":"to originate something new from intention or material","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"develop","gloss":"to bring something to a more advanced or complete state","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"do","gloss":"to carry out an action or activity in general","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"execute","gloss":"to carry a plan or instruction through to completion","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"form","gloss":"to give shape or structure to something","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"generate","gloss":"to cause something to come into being or occur","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"get","gloss":"to come to possess or obtain something","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"give","gloss":"to transfer possession of something to another party","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"go","gloss":"to proceed from one place toward another","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"keep","gloss":"to retain possession or maintain a state over time","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"make","gloss":"to bring something into existence by directed action","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"move","gloss":"to change spatial position from one location to another","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"perform","gloss":"to enact a task or function through deliberate effort","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"produce","gloss":"to bring forth a result or output through process","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"receive","gloss":"to take in something delivered or transmitted from elsewhere","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"send","gloss":"to cause something to travel from a source to a destination","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"take","gloss":"to acquire or seize hold of something","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"transform","gloss":"to alter the form or nature of something fundamentally","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"use","gloss":"to put something into service for a purpose","pos":"VERB","provenance_ids":["seed:glosses_v1"]} diff --git a/language_packs/data/en_core_action_v1/manifest.json b/language_packs/data/en_core_action_v1/manifest.json index f028f381..8c826408 100644 --- a/language_packs/data/en_core_action_v1/manifest.json +++ b/language_packs/data/en_core_action_v1/manifest.json @@ -9,5 +9,6 @@ "checksum": "d2d542a7d203a8c81211d9428a9e49d287f841cf9479a6cd8f0804c316bd46e4", "version": "1.0.0", "gate_engaged": true, - "oov_policy": "tagged_fallback" + "oov_policy": "tagged_fallback", + "glosses_checksum": "96785b5ffe8ed47d967ced0d400aa3f2ed4ddc3183dc3893da91ac84fc7eeb61" } diff --git a/language_packs/data/en_core_attitude_v1/glosses.jsonl b/language_packs/data/en_core_attitude_v1/glosses.jsonl new file mode 100644 index 00000000..69b28c4c --- /dev/null +++ b/language_packs/data/en_core_attitude_v1/glosses.jsonl @@ -0,0 +1,40 @@ +{"lemma":"accurate","gloss":"matches the target measurement or fact closely","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"bad","gloss":"falls short of accepted standards of quality","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"best","gloss":"ranks highest among all available alternatives","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"better","gloss":"ranks higher than an alternative on shared criteria","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"broad","gloss":"spans a wide range of cases or domains","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"central","gloss":"occupies a core position within some structure","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"certain","gloss":"holds without residual doubt given the evidence","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"clear","gloss":"presents itself plainly and without ambiguity","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"essential","gloss":"belongs to the core nature of something","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"evident","gloss":"shows itself plainly to any careful observer","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"factual","gloss":"reports states of affairs that actually obtain","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"false","gloss":"fails to correspond to the evidence or reality","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"general","gloss":"applies broadly across many cases or instances","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"good","gloss":"meets accepted standards of quality or value","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"important","gloss":"carries weight or priority in some judgment context","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"impossible","gloss":"cannot obtain under any consistent set of constraints","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"inaccurate","gloss":"deviates from the target measurement or fact","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"invalid","gloss":"fails to follow from its premises by sound inference","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"likely","gloss":"holds with high probability given the evidence","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"narrow","gloss":"spans only a small range of cases","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"necessary","gloss":"must hold for some outcome or condition to obtain","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"obscure","gloss":"resists understanding due to hidden or tangled structure","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"optional","gloss":"may be chosen or omitted without violation","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"particular","gloss":"refers to one specific case among many","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"possible","gloss":"could obtain without contradicting known constraints","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"primary","gloss":"holds first rank or precedence among related items","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"probable","gloss":"is supported as more likely than not","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"relevant","gloss":"bears meaningfully on the matter under consideration","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"required","gloss":"is demanded by some rule or condition","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"right","gloss":"aligns with the correct or appropriate choice","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"sound","gloss":"rests on valid reasoning from accurate premises","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"specific","gloss":"applies narrowly to a particular case or instance","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"sufficient","gloss":"suffices on its own to secure the outcome","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"true","gloss":"corresponds accurately to the evidence and reality","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"uncertain","gloss":"remains in doubt given incomplete evidence","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"universal","gloss":"holds across every case in the domain","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"unlikely","gloss":"holds with low probability given the evidence","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"useful","gloss":"serves a purpose effectively in some task","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"valid","gloss":"follows soundly from premises by accepted inference rules","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"worse","gloss":"ranks lower than an alternative on shared criteria","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} diff --git a/language_packs/data/en_core_attitude_v1/manifest.json b/language_packs/data/en_core_attitude_v1/manifest.json index 1e9d80ed..82904a2f 100644 --- a/language_packs/data/en_core_attitude_v1/manifest.json +++ b/language_packs/data/en_core_attitude_v1/manifest.json @@ -9,5 +9,6 @@ "checksum": "11076d46a2b8642e4d2d958a5aa3fc13c42fb53a17d746ec312f27716c237c79", "version": "1.0.0", "gate_engaged": true, - "oov_policy": "tagged_fallback" + "oov_policy": "tagged_fallback", + "glosses_checksum": "07367d76cc6d07acea6bd5dd532893ed65097217a42b2a127b84a42391e93b2d" } diff --git a/language_packs/data/en_core_causation_v1/glosses.jsonl b/language_packs/data/en_core_causation_v1/glosses.jsonl new file mode 100644 index 00000000..57fb9918 --- /dev/null +++ b/language_packs/data/en_core_causation_v1/glosses.jsonl @@ -0,0 +1,15 @@ +{"lemma":"causal","gloss":"stands in a cause-and-effect relation to some outcome","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"consequence","gloss":"a state of affairs that follows necessarily from another","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"consequent","gloss":"follows as a logical or causal consequence","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"drive","gloss":"to act as the primary cause sustaining some process","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"effect","gloss":"a state of affairs produced by an antecedent cause","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"enable","gloss":"to make some outcome possible by removing constraints","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"impact","gloss":"a substantive effect upon some target system","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"induce","gloss":"to bring about an outcome through causal action","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"influence","gloss":"a partial causal contribution shaping some outcome","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"outcome","gloss":"the end state produced by some process","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"prevent","gloss":"to keep some outcome from coming about","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"result","gloss":"an outcome that follows from some process","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"resultant","gloss":"arises as a result of some prior cause","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"trigger","gloss":"to initiate or set in motion a subsequent event","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"yield","gloss":"to produce some result as a causal output","pos":"VERB","provenance_ids":["seed:glosses_v1"]} diff --git a/language_packs/data/en_core_causation_v1/manifest.json b/language_packs/data/en_core_causation_v1/manifest.json index ebd2fb64..0186ed8a 100644 --- a/language_packs/data/en_core_causation_v1/manifest.json +++ b/language_packs/data/en_core_causation_v1/manifest.json @@ -9,5 +9,6 @@ "checksum": "0e173445c84c26a92546bba9243bcd42f33a516b9f9f660a2d13d25ed07df741", "version": "1.0.0", "gate_engaged": true, - "oov_policy": "tagged_fallback" + "oov_policy": "tagged_fallback", + "glosses_checksum": "c0c771d2ef078c888b281a6f6890cbc3b633994b65b6dd3fa1372726e0febd9c" } diff --git a/language_packs/data/en_core_cognition_v1/glosses.jsonl b/language_packs/data/en_core_cognition_v1/glosses.jsonl new file mode 100644 index 00000000..61c3a0be --- /dev/null +++ b/language_packs/data/en_core_cognition_v1/glosses.jsonl @@ -0,0 +1,78 @@ +{"lemma":"account","gloss":"a reasoned description explaining what occurred","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"analogy","gloss":"a mapping of relations shared between distinct domains","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"answer","gloss":"a response that addresses a posed question","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"ask","gloss":"to pose a question seeking information","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"be","gloss":"existence, identity, or a state of affairs holding true","pos":"AUX","provenance_ids":["seed:glosses_v1"]} +{"lemma":"because","gloss":"a causal clause explaining why a claim holds","pos":"SCONJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"beginning","gloss":"the originating point from which something proceeds","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"belong","gloss":"to stand as a member within a structure","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"cause","gloss":"that which brings about an effect or consequence","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"compare","gloss":"to examine items for similarities and differences","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"comparison","gloss":"an examination of similarities and differences between items","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"concept","gloss":"an abstract unit of thought organizing experience","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"context","gloss":"the surrounding conditions that fix interpretation","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"contrast","gloss":"to set items against each other by difference","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"correct","gloss":"to revise a prior claim toward accuracy","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"correction","gloss":"the act of revising a prior claim toward accuracy","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"creation","gloss":"the act or result of bringing something new into being","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"define","gloss":"to specify the essential meaning of a concept","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"definition","gloss":"a statement specifying the essential nature of a concept","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"discourse","gloss":"connected language exchanged within a context","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"distinction","gloss":"a recognized difference that separates two things","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"distinguish","gloss":"to recognize a difference separating two things","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"evidence","gloss":"observable grounds that support or refute a claim","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"explain","gloss":"to make something clear by giving reasons","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"figure","gloss":"a non-literal pattern of expression shaping meaning","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"first","gloss":"the initial position in an ordered sequence","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"follow","gloss":"to come after another in sequence or consequence","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"ground","gloss":"to provide the supporting basis for a claim","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"have","gloss":"to possess an attribute or stand in a relation","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"how","gloss":"the manner or means by which something occurs","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"however","gloss":"a contrast or qualification against a prior claim","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"identity","gloss":"the set of attributes by which something is itself","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"image","gloss":"a sensory or mental representation of something","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"infer","gloss":"to draw a conclusion from given premises","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"inference","gloss":"a conclusion drawn from premises by reasoning","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"judgment","gloss":"a considered conclusion formed by reasoning and evidence","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"knowledge","gloss":"justified understanding grounded in evidence and recall","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"learn","gloss":"to acquire knowledge or skill through experience","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"life","gloss":"the ongoing condition of a living and acting being","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"light","gloss":"a source of revelation that makes things knowable","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"mean","gloss":"to carry a particular semantic content","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"meaning","gloss":"the semantic content carried by a sign or expression","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"memory","gloss":"the retained record enabling recall of prior states","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"metaphor","gloss":"a figure transferring meaning from one domain to another","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"narrative","gloss":"an ordered account presenting connected events","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"order","gloss":"a structured arrangement of elements by some relation","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"person","gloss":"an individual agent with identity and reason","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"precede","gloss":"to come before another in order or time","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"principle","gloss":"a foundational rule guiding reasoning or action","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"procedure","gloss":"an ordered sequence of steps producing an outcome","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"question","gloss":"an utterance that requests information or clarification","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"reason","gloss":"a ground or cause supporting a claim or action","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"recall","gloss":"to retrieve a stored state from memory","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"register","gloss":"a level of formality suited to a context","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"relate","gloss":"to establish a structural link between entities","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"relation","gloss":"a structural link holding between two or more entities","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"remember","gloss":"to recall a prior state from stored memory","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"reveal","gloss":"to make something previously hidden become known","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"rhetoric","gloss":"the art of effective and persuasive expression","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"simile","gloss":"a figure comparing two things using explicit markers","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"spirit","gloss":"an inner principle animating thought and action","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"story","gloss":"a recounted sequence of events with meaning","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"style","gloss":"the characteristic manner of expression in discourse","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"support","gloss":"to lend evidential or structural backing","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"symbol","gloss":"a sign that stands for a concept by convention","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"teach","gloss":"to convey knowledge or skill to another","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"then","gloss":"a temporal or logical succession from a prior point","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"therefore","gloss":"a logical consequence drawn from prior statements","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"thought","gloss":"a mental act or content arising in cognition","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"tone","gloss":"the attitudinal quality carried by an utterance","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"truth","gloss":"a claim or state grounded by evidence and coherent judgment","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"understanding","gloss":"a coherent grasp of meaning and relations","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"verification","gloss":"the act of confirming a claim against evidence","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"verify","gloss":"to confirm a claim by checking evidence","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"voice","gloss":"the distinctive perspective expressed in discourse","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"why","gloss":"the reason or cause behind a fact or claim","pos":"PRON","provenance_ids":["seed:glosses_v1"]} +{"lemma":"wisdom","gloss":"sound judgment informed by knowledge and experience","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"word","gloss":"a minimal linguistic unit carrying meaning in discourse","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} diff --git a/language_packs/data/en_core_cognition_v1/manifest.json b/language_packs/data/en_core_cognition_v1/manifest.json index f166bff3..e33ca475 100644 --- a/language_packs/data/en_core_cognition_v1/manifest.json +++ b/language_packs/data/en_core_cognition_v1/manifest.json @@ -9,5 +9,6 @@ "checksum": "cf16e96afac62c0b409dbb2e3209d79a816951890444aa5908838aabcf2ace75", "version": "1.2.0", "gate_engaged": true, - "oov_policy": "tagged_fallback" + "oov_policy": "tagged_fallback", + "glosses_checksum": "f14e1a7273eba04942356f68f3d04987459497f4ba1df2df49918eded23cd187" } diff --git a/language_packs/data/en_core_meta_v1/glosses.jsonl b/language_packs/data/en_core_meta_v1/glosses.jsonl new file mode 100644 index 00000000..475fb958 --- /dev/null +++ b/language_packs/data/en_core_meta_v1/glosses.jsonl @@ -0,0 +1,72 @@ +{"lemma":"agent","gloss":"an entity capable of intentional action and reference","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"argument","gloss":"a structured sequence of claims supporting a conclusion","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"articulate","gloss":"to express an idea clearly through structured language","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"assert","gloss":"to put forward a claim with conviction","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"assume","gloss":"to take a proposition as true without verification","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"believe","gloss":"to hold a proposition as likely true without certainty","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"case","gloss":"a particular instance illustrating a general claim","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"claim","gloss":"to assert a proposition as true without proof","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"confirm","gloss":"to affirm the truth of a prior claim","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"consider","gloss":"to deliberate over a proposition or option","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"decide","gloss":"to resolve deliberation by selecting one option","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"declare","gloss":"to assert a proposition formally and publicly","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"deny","gloss":"to reject the truth of a proposition","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"describe","gloss":"to characterize something through detailed verbal account","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"detect","gloss":"to discern the presence of something subtle","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"doubt","gloss":"to hold a mental state of uncertainty about a claim","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"example","gloss":"an instance offered to illustrate a category","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"expect","gloss":"to anticipate a future state as likely","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"express","gloss":"to convey an idea or feeling through language","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"fact","gloss":"a proposition established as true","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"feel","gloss":"to perceive through tactile or affective experience","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"find","gloss":"to come to perceive or locate something sought","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"guess","gloss":"to form a tentative answer without sufficient evidence","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"hear","gloss":"to perceive sound through auditory experience","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"hold","gloss":"to maintain a proposition or stance in mind","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"hope","gloss":"to desire a future outcome with uncertainty","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"idea","gloss":"a mental content that can be entertained or expressed","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"instance","gloss":"a single occurrence of a general kind","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"intend","gloss":"to hold a deliberate aim toward an action","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"kind","gloss":"a category grouping instances by shared features","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"know","gloss":"to hold a proposition as justified and true","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"listen","gloss":"to direct auditory attention to a source","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"look","gloss":"to direct visual attention toward a target","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"mention","gloss":"to refer briefly to a topic in discourse","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"mind","gloss":"the seat of thought, perception, and mental states","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"model","gloss":"a structured representation standing in for a system","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"name","gloss":"to assign or invoke a referring label","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"note","gloss":"to remark on a point worth attention","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"notice","gloss":"to become perceptually aware of a feature","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"observe","gloss":"to remark on something perceived or noticed","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"perceive","gloss":"to apprehend a state through the senses","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"perspective","gloss":"a vantage point shaping interpretation of content","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"point","gloss":"a discrete claim advanced within an argument","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"position","gloss":"a stance held on a proposition or issue","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"prefer","gloss":"to hold one option as more desirable than another","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"proposal","gloss":"a suggested course of action offered for review","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"propose","gloss":"to offer a proposition or plan for review","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"realize","gloss":"to become aware of a fact previously unrecognized","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"recognize","gloss":"to identify something as previously known or encountered","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"reply","gloss":"to respond verbally to a prior utterance","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"respond","gloss":"to produce an utterance in answer to another","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"response","gloss":"an utterance produced in answer to another","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"role","gloss":"a functional stance an agent occupies in discourse","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"say","gloss":"to assert content in spoken or written form","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"see","gloss":"to perceive visually or to apprehend mentally","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"self","gloss":"the agent or speaker as the reference point of identity","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"sense","gloss":"to apprehend a state through perceptual awareness","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"speak","gloss":"to produce spoken language directed at a listener","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"speaker","gloss":"the agent producing the current utterance","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"state","gloss":"to express a proposition explicitly and directly","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"statement","gloss":"an utterance that expresses a definite proposition","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"suggest","gloss":"to put forward a possibility for consideration","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"suggestion","gloss":"a tentative proposition offered for consideration","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"suppose","gloss":"to provisionally hold a proposition for argument's sake","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"system","gloss":"an organized whole of interacting components","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"tell","gloss":"to convey information to a recipient through speech","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"think","gloss":"to entertain a proposition in mental deliberation","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"type","gloss":"a class of entities sharing defining properties","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"view","gloss":"a held perspective on a topic or claim","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"want","gloss":"to hold a desire toward an outcome or object","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"watch","gloss":"to direct visual attention to an unfolding event","pos":"VERB","provenance_ids":["seed:glosses_v1"]} +{"lemma":"wonder","gloss":"to hold an open question in active consideration","pos":"VERB","provenance_ids":["seed:glosses_v1"]} diff --git a/language_packs/data/en_core_meta_v1/manifest.json b/language_packs/data/en_core_meta_v1/manifest.json index d2208b11..173b247f 100644 --- a/language_packs/data/en_core_meta_v1/manifest.json +++ b/language_packs/data/en_core_meta_v1/manifest.json @@ -9,5 +9,6 @@ "checksum": "984e471ec9253b21263e74fc0a02e766db04442a88b3deb0e9a934b9856c44a8", "version": "1.0.0", "gate_engaged": true, - "oov_policy": "tagged_fallback" + "oov_policy": "tagged_fallback", + "glosses_checksum": "7aa65d692391f6d464378b5647bd7c6b9ae056e3686ec170e83c46b8311e1de8" } diff --git a/language_packs/data/en_core_polarity_v1/glosses.jsonl b/language_packs/data/en_core_polarity_v1/glosses.jsonl new file mode 100644 index 00000000..88617609 --- /dev/null +++ b/language_packs/data/en_core_polarity_v1/glosses.jsonl @@ -0,0 +1,16 @@ +{"lemma":"always","gloss":"the frequency of occurring without exception across all instances","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"definitely","gloss":"unqualified certainty about the asserted proposition","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"frequently","gloss":"the frequency of occurring on a high proportion of instances","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"hardly","gloss":"a near-negative degree barely meeting a threshold","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"indeed","gloss":"emphatic confirmation of a preceding assertion","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"maybe","gloss":"a tentative possibility without committed certainty","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"never","gloss":"the frequency of occurring on zero instances","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"no","gloss":"express dissent or rejection of a preceding claim","pos":"INTJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"occasionally","gloss":"the frequency of occurring on scattered infrequent instances","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"often","gloss":"the frequency of occurring on many but not all instances","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"perhaps","gloss":"a hedged possibility offered without firm commitment","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"rarely","gloss":"the frequency of occurring on very few instances","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"sometimes","gloss":"the frequency of occurring on an indefinite portion of instances","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"surely","gloss":"high confidence in the truth of a claim","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"usually","gloss":"the frequency of occurring on most typical instances","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"yes","gloss":"affirm assent to a preceding question or claim","pos":"INTJ","provenance_ids":["seed:glosses_v1"]} diff --git a/language_packs/data/en_core_polarity_v1/manifest.json b/language_packs/data/en_core_polarity_v1/manifest.json index e466b1e2..fa2adbf2 100644 --- a/language_packs/data/en_core_polarity_v1/manifest.json +++ b/language_packs/data/en_core_polarity_v1/manifest.json @@ -9,5 +9,6 @@ "checksum": "e2ade8d02603fed3bc6b25e53064cdb99f153af1e611be0fa3c9164df5ae8383", "version": "1.0.0", "gate_engaged": true, - "oov_policy": "tagged_fallback" + "oov_policy": "tagged_fallback", + "glosses_checksum": "ee0ce4de6fdfd1377eb75d13d7e3ff222c8050371a9e42a5f1571fdca8023447" } diff --git a/language_packs/data/en_core_quantitative_v1/glosses.jsonl b/language_packs/data/en_core_quantitative_v1/glosses.jsonl new file mode 100644 index 00000000..bcd631d0 --- /dev/null +++ b/language_packs/data/en_core_quantitative_v1/glosses.jsonl @@ -0,0 +1,24 @@ +{"lemma":"all","gloss":"the totality of items in a referenced set","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"any","gloss":"an arbitrary member drawn from a referenced set","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"both","gloss":"the two members of a referenced pair together","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"each","gloss":"every individual member considered separately within a set","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"enough","gloss":"a quantity sufficient to satisfy a stated requirement","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"every","gloss":"each member of a referenced set without exception","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"few","gloss":"a small indefinite count below typical expectation","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"fewer","gloss":"a smaller count of discrete items comparatively","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"half","gloss":"one of two equal divisions of a quantity","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"least","gloss":"the smallest quantity along a comparative scale","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"less","gloss":"a smaller amount of an uncountable quantity comparatively","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"many","gloss":"a large indefinite count of discrete items","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"more","gloss":"a greater quantity along a comparative scale","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"most","gloss":"the greatest proportion within a referenced set","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"much","gloss":"a large indefinite amount of an uncountable substance","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"neither","gloss":"the absence of either member from a referenced pair","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"none","gloss":"the absence of any member from a referenced set","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"one","gloss":"the cardinal value denoting a single unit","pos":"NUM","provenance_ids":["seed:glosses_v1"]} +{"lemma":"several","gloss":"a small indefinite plurality greater than two","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"single","gloss":"consists of exactly one undivided unit","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"some","gloss":"an indefinite nonzero subset of a referenced set","pos":"DET","provenance_ids":["seed:glosses_v1"]} +{"lemma":"three","gloss":"the cardinal value denoting a triple of units","pos":"NUM","provenance_ids":["seed:glosses_v1"]} +{"lemma":"two","gloss":"the cardinal value denoting a pair of units","pos":"NUM","provenance_ids":["seed:glosses_v1"]} +{"lemma":"whole","gloss":"comprises the complete entity without missing parts","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} diff --git a/language_packs/data/en_core_quantitative_v1/manifest.json b/language_packs/data/en_core_quantitative_v1/manifest.json index af8a3e21..fa4ecad7 100644 --- a/language_packs/data/en_core_quantitative_v1/manifest.json +++ b/language_packs/data/en_core_quantitative_v1/manifest.json @@ -9,5 +9,6 @@ "checksum": "4cd9001879be2b8da44a852ce6763f784fd690f272181402286e395894f9ac7a", "version": "1.0.0", "gate_engaged": true, - "oov_policy": "tagged_fallback" + "oov_policy": "tagged_fallback", + "glosses_checksum": "6995043d8996b1bce07956b2301120c9d5617d1173a9eb48a5e73803d8961997" } diff --git a/language_packs/data/en_core_spatial_v1/glosses.jsonl b/language_packs/data/en_core_spatial_v1/glosses.jsonl new file mode 100644 index 00000000..a8aa57bf --- /dev/null +++ b/language_packs/data/en_core_spatial_v1/glosses.jsonl @@ -0,0 +1,24 @@ +{"lemma":"above","gloss":"vertical position higher than a reference point","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"area","gloss":"a bounded two-dimensional region of space","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"backward","gloss":"motion or orientation toward the rear","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"below","gloss":"vertical position lower than a reference point","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"between","gloss":"spatial position flanked by two references","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"beyond","gloss":"spatial position past a reference boundary","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"bottom","gloss":"the lowermost portion of a spatial object","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"down","gloss":"motion or orientation toward a lower position","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"end","gloss":"the terminal portion of a spatial extent","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"far","gloss":"spatial distance relative to a reference point","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"forward","gloss":"motion or orientation toward the front","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"here","gloss":"the location of the speaker or reference point","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"inside","gloss":"spatial containment within a bounded region","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"left","gloss":"the side opposite the right of orientation","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"location","gloss":"a specific point or region in space","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"near","gloss":"spatial proximity relative to a reference point","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"outside","gloss":"spatial exclusion from a bounded region","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"place","gloss":"a definite location in space","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"region","gloss":"an extended portion of space with identity","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"side","gloss":"a lateral surface bounding a spatial object","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"space","gloss":"the extended manifold in which objects exist","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"there","gloss":"a location distinct from the speaker","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"top","gloss":"the uppermost portion of a spatial object","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"up","gloss":"motion or orientation toward a higher position","pos":"ADV","provenance_ids":["seed:glosses_v1"]} diff --git a/language_packs/data/en_core_spatial_v1/manifest.json b/language_packs/data/en_core_spatial_v1/manifest.json index fe1f3d22..8aa27bb8 100644 --- a/language_packs/data/en_core_spatial_v1/manifest.json +++ b/language_packs/data/en_core_spatial_v1/manifest.json @@ -9,5 +9,6 @@ "checksum": "f3ab77403f4f764f3828d0af6b7c6bcf54cef4137f73c577206cb522706ac14c", "version": "1.0.0", "gate_engaged": true, - "oov_policy": "tagged_fallback" + "oov_policy": "tagged_fallback", + "glosses_checksum": "3dff44dacde0e855de36d762e9a3002eeb1511ebec6e8b765943154155411328" } diff --git a/language_packs/data/en_core_temporal_v1/glosses.jsonl b/language_packs/data/en_core_temporal_v1/glosses.jsonl new file mode 100644 index 00000000..df433cf3 --- /dev/null +++ b/language_packs/data/en_core_temporal_v1/glosses.jsonl @@ -0,0 +1,28 @@ +{"lemma":"after","gloss":"temporal posteriority between two events","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"ago","gloss":"a duration measured backward from the present","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"before","gloss":"temporal anteriority between two events","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"currently","gloss":"the ongoing interval surrounding the utterance","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"duration","gloss":"the measured length of a temporal interval","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"during","gloss":"temporal containment within an interval","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"era","gloss":"an extended historical period of distinct character","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"eventually","gloss":"an outcome reached after an unspecified delay","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"formerly","gloss":"a state holding at an earlier time","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"future","gloss":"the temporal region after the present","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"henceforth","gloss":"the interval extending forward from the present","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"instant","gloss":"an indivisible point on the temporal axis","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"later","gloss":"a time subsequent to the reference point","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"moment","gloss":"a brief or pointlike interval of time","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"now","gloss":"the present moment at the time of utterance","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"past","gloss":"the temporal region before the present","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"period","gloss":"a bounded stretch of time with identity","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"present","gloss":"the temporal region containing the utterance","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"prior","gloss":"stands earlier in temporal sequence than another","pos":"ADJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"recently","gloss":"a short interval just before the reference point","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"since","gloss":"temporal extent originating from a prior point","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"soon","gloss":"an event imminent in the near future","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"time","gloss":"the dimension along which events are ordered","pos":"NOUN","provenance_ids":["seed:glosses_v1"]} +{"lemma":"today","gloss":"the current day containing the utterance","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"tomorrow","gloss":"the day immediately following the current day","pos":"ADV","provenance_ids":["seed:glosses_v1"]} +{"lemma":"until","gloss":"temporal extent reaching a terminal point","pos":"ADP","provenance_ids":["seed:glosses_v1"]} +{"lemma":"while","gloss":"a clause indicating contemporaneous occurrence","pos":"SCONJ","provenance_ids":["seed:glosses_v1"]} +{"lemma":"yesterday","gloss":"the day immediately preceding the current day","pos":"ADV","provenance_ids":["seed:glosses_v1"]} diff --git a/language_packs/data/en_core_temporal_v1/manifest.json b/language_packs/data/en_core_temporal_v1/manifest.json index 67a2290e..0b35256c 100644 --- a/language_packs/data/en_core_temporal_v1/manifest.json +++ b/language_packs/data/en_core_temporal_v1/manifest.json @@ -9,5 +9,6 @@ "checksum": "cac13a815cbceb992647843e80bcc93b321fd5674d53d951ddd735036a18c705", "version": "1.0.0", "gate_engaged": true, - "oov_policy": "tagged_fallback" + "oov_policy": "tagged_fallback", + "glosses_checksum": "874678c3e0684c58618cbdb3fc5a49d3e19691aec963078eda11c717a78a6f41" } diff --git a/tests/test_pack_glosses_content.py b/tests/test_pack_glosses_content.py new file mode 100644 index 00000000..1909be51 --- /dev/null +++ b/tests/test_pack_glosses_content.py @@ -0,0 +1,175 @@ +"""Contract tests for the Phase C ratified glosses. + +Pins: + - Every pack with a ``glosses.jsonl`` file has a matching + ``glosses_checksum`` in its manifest. + - Every gloss entry references a lemma that is ratified in the + same pack's ``lexicon.jsonl`` (lexicon-residency invariant — + re-asserted from the storage layer up). + - The total ratified gloss count meets a floor (>= 300). + - At least one gloss resolves end-to-end for the most common + conversational lemmas (sanity check for the wiring + content). +""" + +from __future__ import annotations + +import hashlib +import json +from pathlib import Path + +from chat.pack_resolver import ( + DEFAULT_RESOLVABLE_PACK_IDS, + _pack_glosses_for, + _pack_lexicon_for, + clear_resolver_cache, + resolve_gloss, +) + + +_DATA = Path(__file__).resolve().parent.parent / "language_packs" / "data" + + +def _packs_with_glosses() -> list[str]: + out = [] + for p in DEFAULT_RESOLVABLE_PACK_IDS: + if (_DATA / p / "glosses.jsonl").exists(): + out.append(p) + return out + + +class TestGlossesPresent: + def test_at_least_eight_packs_ship_glosses(self) -> None: + """Phase C seeds glosses in 9 English content packs.""" + packs = _packs_with_glosses() + assert len(packs) >= 8, ( + f"expected >=8 packs with glosses, got {len(packs)}: {packs}" + ) + + def test_total_gloss_count_floor(self) -> None: + """The Phase C dispatch targeted ~330 glosses; this is the + regression floor.""" + clear_resolver_cache() + total = sum(len(_pack_glosses_for(p)) for p in _packs_with_glosses()) + assert total >= 300, f"total gloss count {total} below floor 300" + + +class TestManifestChecksumDiscipline: + def test_every_glossed_pack_has_matching_checksum(self) -> None: + for pack_id in _packs_with_glosses(): + manifest = json.loads( + (_DATA / pack_id / "manifest.json").read_text(encoding="utf-8") + ) + assert "glosses_checksum" in manifest, pack_id + declared = manifest["glosses_checksum"] + assert isinstance(declared, str) and len(declared) == 64, (pack_id, declared) + actual = hashlib.sha256( + (_DATA / pack_id / "glosses.jsonl").read_bytes() + ).hexdigest() + assert actual == declared, ( + f"glosses_checksum drift on {pack_id}: " + f"declared={declared[:16]}… actual={actual[:16]}…" + ) + + def test_lexicon_checksum_unchanged_by_gloss_landing(self) -> None: + """Adding glosses must NOT bump the lexicon checksum. The + lexicon is immutable; only glosses_checksum changes when + glosses are added or revised.""" + for pack_id in _packs_with_glosses(): + manifest = json.loads( + (_DATA / pack_id / "manifest.json").read_text(encoding="utf-8") + ) + actual_lex_checksum = hashlib.sha256( + (_DATA / pack_id / "lexicon.jsonl").read_bytes() + ).hexdigest() + assert manifest["checksum"] == actual_lex_checksum, pack_id + + +class TestLexiconResidencyAcrossAllGlosses: + """Every authored gloss must reference a lemma that exists in the + same pack's lexicon.jsonl. This is the storage-layer enforcement + of the resolve_gloss runtime invariant — any drift in glosses.jsonl + that introduces an unratified lemma fails this test.""" + + def test_every_gloss_lemma_is_lexicon_resident(self) -> None: + clear_resolver_cache() + for pack_id in _packs_with_glosses(): + lex = _pack_lexicon_for(pack_id) + glosses = _pack_glosses_for(pack_id) + for lemma in glosses: + assert lemma in lex, ( + f"pack {pack_id} ships a gloss for {lemma!r} but the " + f"lemma is not in its lexicon.jsonl" + ) + + +class TestEndToEndSmoke: + """Resolve known high-frequency conversational lemmas through + resolve_gloss and assert the runtime composes a fluent surface.""" + + HIGH_FREQ_LEMMAS = ( + # cognition + "truth", "knowledge", "memory", "evidence", "thought", + # meta + "doubt", "fact", "idea", "self", "believe", "know", + # attitude + "true", "good", "important", "certain", "necessary", + # temporal + "now", "moment", "future", "past", "before", + # spatial + "here", "place", "above", + # action + "make", "create", "change", "use", + # causation + "effect", "outcome", + # polarity + "always", "never", "yes", + ) + + def test_high_freq_lemmas_resolve_a_gloss(self) -> None: + clear_resolver_cache() + misses = [] + for lemma in self.HIGH_FREQ_LEMMAS: + entry = resolve_gloss(lemma) + if entry is None: + misses.append(lemma) + assert not misses, ( + f"resolve_gloss returned None for high-frequency lemmas: {misses}" + ) + + def test_fluent_surface_contains_lemma_case_insensitive(self) -> None: + """End-to-end: pack_grounded_surface composes a fluent sentence + for every high-freq lemma; the lemma (lowercase) appears in the + rendered surface.""" + from chat.pack_grounding import pack_grounded_surface + clear_resolver_cache() + for lemma in self.HIGH_FREQ_LEMMAS: + surface = pack_grounded_surface(lemma) + assert surface is not None, lemma + assert lemma in surface.lower(), (lemma, surface) + assert "pack-grounded" in surface, (lemma, surface) + # No dotted-domain-inventory in gloss-backed surfaces. + assert "; " not in surface, (lemma, surface) + + +class TestSurfaceFormatInvariants: + """A handful of structural invariants the gloss-backed surfaces + must respect. These are what the deterministic_fluency lane + checks at scale — repeated here per-pack for tighter attribution.""" + + SAMPLE = ("truth", "doubt", "important", "now", "place", "make", "effect", "always") + + def test_surfaces_have_terminal_punctuation(self) -> None: + from chat.pack_grounding import pack_grounded_surface + clear_resolver_cache() + for lemma in self.SAMPLE: + s = pack_grounded_surface(lemma) + assert s is not None and s.rstrip().endswith("."), (lemma, s) + + def test_surfaces_contain_no_placeholders(self) -> None: + from chat.pack_grounding import pack_grounded_surface + clear_resolver_cache() + for lemma in self.SAMPLE: + s = pack_grounded_surface(lemma) + assert s is not None + for marker in ("...", "", ""): + assert marker not in s, (lemma, marker, s) diff --git a/tests/test_pack_grounding.py b/tests/test_pack_grounding.py index 80213d85..ce36fefe 100644 --- a/tests/test_pack_grounding.py +++ b/tests/test_pack_grounding.py @@ -36,9 +36,15 @@ from chat.runtime import ChatRuntime, _UNKNOWN_DOMAIN_SURFACE def test_known_pack_lemmas_produce_grounded_surface(lemma: str) -> None: surface = pack_grounded_surface(lemma) assert surface is not None - assert lemma in surface + # Case-insensitive: gloss-backed surfaces capitalize the lemma at + # the start of the sentence ("Truth is a claim..."), while the + # dotted-disclosure fallback keeps it lowercase. Both forms must + # contain the lemma. + assert lemma.lower() in surface.lower() assert PACK_ID in surface - assert "No session evidence yet." in surface + # Surface carries either the gloss-backed "pack-grounded (pack_id)." + # tag or the dotted-disclosure "No session evidence yet." trailer. + assert "pack-grounded" in surface def test_unknown_lemma_returns_none() -> None: @@ -76,7 +82,8 @@ def test_cold_start_definition_returns_pack_grounded_surface() -> None: rt = ChatRuntime() resp = rt.chat("What is light?") assert "pack-grounded" in resp.surface - assert "light" in resp.surface + # Case-insensitive: fluent gloss surfaces capitalize at sentence start. + assert "light" in resp.surface.lower() assert resp.grounding_source == "pack" @@ -85,7 +92,7 @@ def test_cold_start_recall_returns_pack_grounded_surface() -> None: rt = ChatRuntime() resp = rt.chat("Remember light") assert resp.grounding_source == "pack" - assert "light" in resp.surface + assert "light" in resp.surface.lower() def test_cold_start_unknown_lemma_routes_to_oov_invitation() -> None: diff --git a/tests/test_pack_resolver_glosses.py b/tests/test_pack_resolver_glosses.py index 842215d5..928b775f 100644 --- a/tests/test_pack_resolver_glosses.py +++ b/tests/test_pack_resolver_glosses.py @@ -204,12 +204,22 @@ class TestDualChecksumManifest: manifest's optional ``glosses_checksum`` field — same discipline as the lexicon checksum. Missing field = back-compat (no verification).""" - def test_missing_glosses_checksum_is_back_compat(self) -> None: - """All currently-ratified packs have NO glosses_checksum field - in their manifest. Loading them must continue to work.""" + def test_back_compat_pack_without_glosses_loads_clean(self) -> None: + """A pack that ships no glosses.jsonl and no glosses_checksum + in its manifest must continue to load (back-compat invariant). + We use en_minimal_v1 which deliberately ships no glosses.""" + from language_packs.compiler import load_pack + manifest, _ = load_pack("en_minimal_v1") + assert manifest.glosses_checksum is None + + def test_glossed_pack_carries_checksum(self) -> None: + """Packs that DO ship glosses (en_core_cognition_v1 et al. + after Phase C) must carry a non-None glosses_checksum on the + loaded manifest.""" from language_packs.compiler import load_pack manifest, _ = load_pack("en_core_cognition_v1") - assert manifest.glosses_checksum is None + assert isinstance(manifest.glosses_checksum, str) + assert len(manifest.glosses_checksum) == 64 def test_checksum_mismatch_raises(self, temp_pack) -> None: pack_dir, pack_id = temp_pack