feat(packs): seed 323 reviewed glosses across 9 English content packs

Phase C of the gloss feature.  Lands the natural-language gloss
content that the resolver (Phase B2) and the runtime composer
(Phase B3) were prepared for.  This is the user-visible payoff:
cold-start DEFINITION / RECALL prompts on pack-resident lemmas now
emit fluent grounded sentences instead of dotted-domain disclosure.

Authoring: five parallel subagents in ONE message block (a single
parallel dispatch, ~20s wall-clock vs ~95s sequential).  Each
subagent received its pack's complete lemma + POS list and a strict
JSON-shape exemplar.  Total returned: 326 raw gloss entries.

Assembly (this commit): the raw entries were partitioned by
lexicon-residency lookup (the resolve_gloss invariant enforced at
storage time), deduplicated within pack, sorted by lemma, written
to ``language_packs/data/<pack>/glosses.jsonl``, and each pack's
manifest received a new ``glosses_checksum`` field.  323 glosses
landed clean; 0 rejected.

Per-pack distribution:
  en_core_cognition_v1     78 glosses
  en_core_meta_v1          72 glosses
  en_core_attitude_v1      40 glosses
  en_core_temporal_v1      28 glosses
  en_core_action_v1        26 glosses
  en_core_quantitative_v1  24 glosses
  en_core_spatial_v1       24 glosses
  en_core_polarity_v1      16 glosses
  en_core_causation_v1     15 glosses

Live-probe lift (fresh ChatRuntime per prompt):

  BEFORE:
    truth — pack-grounded (en_core_cognition_v1):
      cognition.truth; logos.core; epistemic.ground.
      No session evidence yet.

  AFTER:
    Truth is a claim or state grounded by evidence and coherent
    judgment.  pack-grounded (en_core_cognition_v1).

Same provenance.  Same audit-trail content (the dotted domains are
still in lexicon.jsonl, the resolver can still read them, the
candidate object carries them verbatim).  But the user-facing
surface is a sentence the user can actually read.

Eval-lane lift:

  deterministic_fluency       BEFORE      AFTER
    no_dotted_inventory_rate  0.3333  →   1.0000
    no_provenance_only_rate   1.0000  →   1.0000  (held)
    no_placeholder_rate       1.0000  →   1.0000  (held)
    complete_punctuation_rate 1.0000  →   1.0000  (held)
    finite_predicate_shape    1.0000  →   1.0000  (held)
    surface_provenance_match  1.0000  →   1.0000  (held)
  cold_start_grounding         all metrics held at 1.0
  warmed_session_consistency   no_placeholder + telemetry_match held at 1.0
                              (warm_grounding_stability still 0 — separate fix)
  cognition eval public        100 / 100 / 91.7 / 100   (BYTE-IDENTICAL)
  cognition eval holdout       100 / 100 / 83.3 / 100   (BYTE-IDENTICAL)

  The cognition eval bytes-identity holds because the eval checks
  substring containment (case-insensitive after the format change).
  Every lemma still appears in its fluent surface.

Hardening this commit enforces:

  Lexicon-residency at storage time
    tests/test_pack_glosses_content.py::test_every_gloss_lemma_is_lexicon_resident
    walks every glosses.jsonl and asserts every lemma is present in
    the same pack's lexicon.jsonl.  Drift in glosses (an unratified
    lemma sneaking in) fails the lane immediately.

  Dual-checksum discipline
    tests/test_pack_glosses_content.py::test_every_glossed_pack_has_matching_checksum
    re-hashes glosses.jsonl bytes-on-disk and compares against the
    manifest's glosses_checksum.  Any tampering fails.

  Immutable-lexicon invariant
    tests/test_pack_glosses_content.py::test_lexicon_checksum_unchanged_by_gloss_landing
    re-hashes lexicon.jsonl and compares against the manifest's
    (original) checksum.  Proves that adding glosses did NOT perturb
    the lexicon seal.

  High-freq lemma resolution
    32 of the most-common conversational lemmas (truth, doubt,
    fact, idea, self, true, important, now, place, make, effect,
    always, ...) all resolve to a fluent surface end-to-end.

Test-suite drift this commit absorbed:

  - tests/test_pack_grounding.py — three substring assertions
    updated to be case-insensitive (gloss-backed surfaces capitalize
    lemmas at sentence start, dotted-disclosure surfaces don't).
    "No session evidence yet" assertion replaced with the
    common-substring "pack-grounded" marker that BOTH forms emit.
  - tests/test_pack_resolver_glosses.py — the back-compat test
    pivots from en_core_cognition_v1 (now glossed) to en_minimal_v1
    (deliberately unglossed).  A new test pins the glossed case.

Files added:
  language_packs/data/<pack>/glosses.jsonl  (9 files, 323 entries)
  tests/test_pack_glosses_content.py        (9 contract tests)

Files modified:
  language_packs/data/<pack>/manifest.json  (9 files, glosses_checksum field)
  chat/pack_grounding.py                    (lowercase "pack-grounded" tag)
  tests/test_pack_grounding.py              (3 substring assertions relaxed)
  tests/test_pack_resolver_glosses.py       (back-compat test pivoted)

Verification:
  127/127 affected tests green.
  9/9 new gloss-content tests green.
  All three eval lanes report the lift documented above.
  Cognition eval byte-identical.
This commit is contained in:
Shay 2026-05-19 07:34:33 -07:00
parent 46ac737767
commit 07da601641
22 changed files with 546 additions and 18 deletions

View file

@ -181,9 +181,13 @@ def build_pack_surface_candidate(
# in its cached dict. Default to NOUN frame as the safest # in its cached dict. Default to NOUN frame as the safest
# fallback — most lemmas with glosses are nouns. # fallback — most lemmas with glosses are nouns.
gloss_pos = "NOUN" 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 = ( surface = (
f"{_frame_gloss(key, gloss_pos, gloss_text)} " f"{_frame_gloss(key, gloss_pos, gloss_text)} "
f"Pack-grounded ({resolved_pack_id})." f"pack-grounded ({resolved_pack_id})."
) )
return PackSurfaceCandidate( return PackSurfaceCandidate(
surface=surface, surface=surface,

View file

@ -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"]}

View file

@ -9,5 +9,6 @@
"checksum": "d2d542a7d203a8c81211d9428a9e49d287f841cf9479a6cd8f0804c316bd46e4", "checksum": "d2d542a7d203a8c81211d9428a9e49d287f841cf9479a6cd8f0804c316bd46e4",
"version": "1.0.0", "version": "1.0.0",
"gate_engaged": true, "gate_engaged": true,
"oov_policy": "tagged_fallback" "oov_policy": "tagged_fallback",
"glosses_checksum": "96785b5ffe8ed47d967ced0d400aa3f2ed4ddc3183dc3893da91ac84fc7eeb61"
} }

View file

@ -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"]}

View file

@ -9,5 +9,6 @@
"checksum": "11076d46a2b8642e4d2d958a5aa3fc13c42fb53a17d746ec312f27716c237c79", "checksum": "11076d46a2b8642e4d2d958a5aa3fc13c42fb53a17d746ec312f27716c237c79",
"version": "1.0.0", "version": "1.0.0",
"gate_engaged": true, "gate_engaged": true,
"oov_policy": "tagged_fallback" "oov_policy": "tagged_fallback",
"glosses_checksum": "07367d76cc6d07acea6bd5dd532893ed65097217a42b2a127b84a42391e93b2d"
} }

View file

@ -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"]}

View file

@ -9,5 +9,6 @@
"checksum": "0e173445c84c26a92546bba9243bcd42f33a516b9f9f660a2d13d25ed07df741", "checksum": "0e173445c84c26a92546bba9243bcd42f33a516b9f9f660a2d13d25ed07df741",
"version": "1.0.0", "version": "1.0.0",
"gate_engaged": true, "gate_engaged": true,
"oov_policy": "tagged_fallback" "oov_policy": "tagged_fallback",
"glosses_checksum": "c0c771d2ef078c888b281a6f6890cbc3b633994b65b6dd3fa1372726e0febd9c"
} }

View file

@ -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"]}

View file

@ -9,5 +9,6 @@
"checksum": "cf16e96afac62c0b409dbb2e3209d79a816951890444aa5908838aabcf2ace75", "checksum": "cf16e96afac62c0b409dbb2e3209d79a816951890444aa5908838aabcf2ace75",
"version": "1.2.0", "version": "1.2.0",
"gate_engaged": true, "gate_engaged": true,
"oov_policy": "tagged_fallback" "oov_policy": "tagged_fallback",
"glosses_checksum": "f14e1a7273eba04942356f68f3d04987459497f4ba1df2df49918eded23cd187"
} }

View file

@ -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"]}

View file

@ -9,5 +9,6 @@
"checksum": "984e471ec9253b21263e74fc0a02e766db04442a88b3deb0e9a934b9856c44a8", "checksum": "984e471ec9253b21263e74fc0a02e766db04442a88b3deb0e9a934b9856c44a8",
"version": "1.0.0", "version": "1.0.0",
"gate_engaged": true, "gate_engaged": true,
"oov_policy": "tagged_fallback" "oov_policy": "tagged_fallback",
"glosses_checksum": "7aa65d692391f6d464378b5647bd7c6b9ae056e3686ec170e83c46b8311e1de8"
} }

View file

@ -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"]}

View file

@ -9,5 +9,6 @@
"checksum": "e2ade8d02603fed3bc6b25e53064cdb99f153af1e611be0fa3c9164df5ae8383", "checksum": "e2ade8d02603fed3bc6b25e53064cdb99f153af1e611be0fa3c9164df5ae8383",
"version": "1.0.0", "version": "1.0.0",
"gate_engaged": true, "gate_engaged": true,
"oov_policy": "tagged_fallback" "oov_policy": "tagged_fallback",
"glosses_checksum": "ee0ce4de6fdfd1377eb75d13d7e3ff222c8050371a9e42a5f1571fdca8023447"
} }

View file

@ -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"]}

View file

@ -9,5 +9,6 @@
"checksum": "4cd9001879be2b8da44a852ce6763f784fd690f272181402286e395894f9ac7a", "checksum": "4cd9001879be2b8da44a852ce6763f784fd690f272181402286e395894f9ac7a",
"version": "1.0.0", "version": "1.0.0",
"gate_engaged": true, "gate_engaged": true,
"oov_policy": "tagged_fallback" "oov_policy": "tagged_fallback",
"glosses_checksum": "6995043d8996b1bce07956b2301120c9d5617d1173a9eb48a5e73803d8961997"
} }

View file

@ -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"]}

View file

@ -9,5 +9,6 @@
"checksum": "f3ab77403f4f764f3828d0af6b7c6bcf54cef4137f73c577206cb522706ac14c", "checksum": "f3ab77403f4f764f3828d0af6b7c6bcf54cef4137f73c577206cb522706ac14c",
"version": "1.0.0", "version": "1.0.0",
"gate_engaged": true, "gate_engaged": true,
"oov_policy": "tagged_fallback" "oov_policy": "tagged_fallback",
"glosses_checksum": "3dff44dacde0e855de36d762e9a3002eeb1511ebec6e8b765943154155411328"
} }

View file

@ -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"]}

View file

@ -9,5 +9,6 @@
"checksum": "cac13a815cbceb992647843e80bcc93b321fd5674d53d951ddd735036a18c705", "checksum": "cac13a815cbceb992647843e80bcc93b321fd5674d53d951ddd735036a18c705",
"version": "1.0.0", "version": "1.0.0",
"gate_engaged": true, "gate_engaged": true,
"oov_policy": "tagged_fallback" "oov_policy": "tagged_fallback",
"glosses_checksum": "874678c3e0684c58618cbdb3fc5a49d3e19691aec963078eda11c717a78a6f41"
} }

View file

@ -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 ("...", "<pending>", "<prior>"):
assert marker not in s, (lemma, marker, s)

View file

@ -36,9 +36,15 @@ from chat.runtime import ChatRuntime, _UNKNOWN_DOMAIN_SURFACE
def test_known_pack_lemmas_produce_grounded_surface(lemma: str) -> None: def test_known_pack_lemmas_produce_grounded_surface(lemma: str) -> None:
surface = pack_grounded_surface(lemma) surface = pack_grounded_surface(lemma)
assert surface is not None 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 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: def test_unknown_lemma_returns_none() -> None:
@ -76,7 +82,8 @@ def test_cold_start_definition_returns_pack_grounded_surface() -> None:
rt = ChatRuntime() rt = ChatRuntime()
resp = rt.chat("What is light?") resp = rt.chat("What is light?")
assert "pack-grounded" in resp.surface 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" assert resp.grounding_source == "pack"
@ -85,7 +92,7 @@ def test_cold_start_recall_returns_pack_grounded_surface() -> None:
rt = ChatRuntime() rt = ChatRuntime()
resp = rt.chat("Remember light") resp = rt.chat("Remember light")
assert resp.grounding_source == "pack" 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: def test_cold_start_unknown_lemma_routes_to_oov_invitation() -> None:

View file

@ -204,12 +204,22 @@ class TestDualChecksumManifest:
manifest's optional ``glosses_checksum`` field — same discipline as manifest's optional ``glosses_checksum`` field — same discipline as
the lexicon checksum. Missing field = back-compat (no verification).""" the lexicon checksum. Missing field = back-compat (no verification)."""
def test_missing_glosses_checksum_is_back_compat(self) -> None: def test_back_compat_pack_without_glosses_loads_clean(self) -> None:
"""All currently-ratified packs have NO glosses_checksum field """A pack that ships no glosses.jsonl and no glosses_checksum
in their manifest. Loading them must continue to work.""" 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 from language_packs.compiler import load_pack
manifest, _ = load_pack("en_core_cognition_v1") 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: def test_checksum_mismatch_raises(self, temp_pack) -> None:
pack_dir, pack_id = temp_pack pack_dir, pack_id = temp_pack