Naming: this page is Hyperlexical (model / train / eval / E2 / name_gate claim). Harvest and live ingest are ne0l0gist. Repo Hyperlex is the transitional shell. Trained E2 passed on seed-morph78 (2026-09-24). Danny approved the name on 2026-09-24: seed-morph78 is Hyperlexical (name_gate true).
The Hermes skill is the current operator surface. This page is the model path: a learned encoder that starts as T0 and may become T1 after E2.
Not on Hyperlex API_V1. Not a Hugging Face model. Pin seed-morph78 is named Hyperlexical (trained E2 PASS + Danny name_gate yes). No other checkpoint is.
Specify is locked C1–C52 plus A5 milestones. Implement on main is the stub, harvest, eval harness, and gated Spark loop.
| Tier | Meaning | Name allowed | State today |
|---|---|---|---|
| Skill | Hermes CLI + package | Hyperlex (the skill) | Shipping v0.4.0 |
| T0 | Base encoder + classify heads | hyperlex-encoder-* only |
Specified. Not Hyperlexical. |
| T1 | Encoder + unbind heads; E2 vs Spec 004 | hyperlex-structure-* / Hyperlexical |
Earned by seed-morph78: trained E2 PASS + name_gate yes (2026-09-24). Card rename pending. |
| T2 | Separate generative LoRA | out of this cycle | Not an implement target |
name_gate is true for seed-morph78 (Danny yes). E2 PASS alone ≠ name. Classify volume ready ≠ T1.
| Surface | n | Notes |
|---|---|---|
| Local SoT | 4333 | 402 OBSERVED / 3931 INFERRED. Not in git. |
--include-live export |
6506 | classify 2437 · unbind 1345 · negatives 208 · gaps 0/0/0 |
Tracked seed civilian.v0.1.jsonl |
883 | Snapshot only. Not the train SoT. |
Danny ~2500 candidate bar: met. Hermes 913 / “gap to 2500” is superseded. Afternoon store family-labeled 1789 is the blanket-yes receipt figure.
| Gate | State |
|---|---|
| Classify volume | Ready — operator --include-live family classify 2437. |
name_gate |
true for seed-morph78 (Danny 2026-09-24, A6). Volume and E2 did not flip it; the sentence did. |
| E2 vs Spec 004 | FAIL on the stub (expected). Trained E2 PASS on Spark BEST seed-morph78 (updated 2026-09-24). Seed smoke is not a pass. |
| Hub | No upload. Skeleton only. Weights stay on Spark. |
| Families | 8. No ninth family. |
| Brier | null on every packet. |
PYTHONPATH=scripts/shadow python3 -m hyperlexical.infer --text rizz --offline
PYTHONPATH=scripts/shadow python3 -m hyperlexical.ingest_tap --dry-run
PYTHONPATH=scripts/shadow python3 -m hyperlexical.export
PYTHONPATH=scripts/shadow python3 -m hyperlexical.export --include-live
PYTHONPATH=scripts/shadow python3 -m hyperlexical.eval_unbind
PYTHONPATH=scripts/shadow python3 -m hyperlexical.preflight
PYTHONPATH=scripts/shadow python3 -m hyperlexical.train --offlineeval_unbind exit 3 on the stub is expected (E2 fail).
train without Spark env exits 2.
Bring-up is procedure, not a product card. A seed smoke that ends with E2 failing and a receipt written is a successful harness check — not a Hyperlexical name.
| Doc | Role |
|---|---|
| SPARK-BRINGUP.md | Box procedure (#28) |
| AARON-SPARK-TRAIN.md | Train spec (Danny) |
| HERMES-SPARK-RUN.md | Hermes run order |
| milestones.md | A5 name-gate / tier table (#33) |
Trunk: answerdotai/ModernBERT-base. Local snapshot only. Recipe default: last 2 layers trainable (climb pins such as seed-morph78 use LAST_TRAINABLE=8). Span aligner + val metrics. HF-shaped dump (config.json, model.safetensors or heads.pt). No Hub upload from the recipe. Card name stays hyperlex-encoder-modernbert-base-seed until name_gate yes.
| Gate | Status |
|---|---|
| E0 packet | PASS |
| E1 classify | NOT RUN |
| E2 vs Spec 004 | FAIL |
| E3 MiniLM control | NOT RUN |
| E4 restricted | PASS |
| E5 schema walls | PASS |
| E6 dialect | PASS |
pipeline_tag is text-classification.
Current slang atoms from pipeline / analyze / scan / inbox write INFERRED rows to ~/.hyperlex/hyperlexical/ingest_candidates.jsonl (local SoT; 4333 rows as of 2026-09-10 PT evening).
They do not become OBSERVED and do not mint Brier unless an operator settles them. Spec: ingest-tap.md.
Spark trains from this local store / --include-live, not from the tracked 883-row seed.
Live rows with an invalid split are coerced to a lexical train/val/test assignment (#38). That is export hygiene, not an E2 pass.