From 280eac95fe76f647a62feaf1f84fcd31c8567bba Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Thu, 24 Sep 2026 11:29:15 -0700 Subject: [PATCH 1/7] sync: graft personal name_gate yes (seed-morph78, A6) + morph78 promote receipts --- CHANGELOG.md | 4 ++++ NEXT_MOVES_007.md | 31 ++++++++++++------------------- README.md | 2 +- 3 files changed, 17 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e83453e..c26f2c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +- **`name_gate` yes (`seed-morph78`):** Danny `flip name_gate` — pin may be called + **Hyperlexical** (amendment A6; receipt `specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md`). Card IDs, packet/schema + field, Hub, and T13 unchanged. + - **Naming persistence lock:** `docs/NAMING.md` + Notion Naming lock page + Public Claims CLAIM-HLX-NAME-001/002/003. Operator Hub / Spine Owner / Core Model Spine updated. Org mirror stays lag (do not train from it). diff --git a/NEXT_MOVES_007.md b/NEXT_MOVES_007.md index a6ae1f8..f945db0 100644 --- a/NEXT_MOVES_007.md +++ b/NEXT_MOVES_007.md @@ -1,29 +1,22 @@ -# Spec 007 — next: soft_ceiling armed · #101 on main +# Spec 007 — next: morph78 is BEST and named Hyperlexical -`name_gate=false`. BEST=**morph65** (held). Upsample freeze = **11+**. Do not run SECOND_SLOT=4. +`name_gate` **true** for `seed-morph78` (Danny `flip name_gate`, 2026-09-24, amendment A6). BEST=**morph78**. Upsample freeze = **11+**. Do not run SECOND_SLOT=4. ## Done -- soft_ceiling **ARMED** · morph78/reprobe empty gold · `authorize val-settle` → **CANCELLED_EMPTY_GOLD**. -- **#100** + **#99** + **#101** on main (hygiene, name-gate plan, **ne0l0gist** naming lock, trends pins restored). -- **#95** rebased onto main tip; stays draft / UNQUALIFIED. +- morph78 named phrases settled · force/hard **236/277** · soft_ceiling train complete. +- **PROMOTE_BEST** (ceiling_escape): broad **0.9883** > PRIOR morph65 **0.8867** n=256 + E2 PASS. +- Danny **`flip name_gate`** → `seed-morph78` may be called **Hyperlexical** (receipt `specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md`). -## Gate (armed) +## Gate -**soft_ceiling_tiebreak:** force-fair <1.0 → classic; =1.0 → broad OBSERVED > PRIOR live + E2. +soft_ceiling **spent** for this climb (morph78 now PRIOR/BEST). Further climbs need a new authorize/acquire card. -## PR triage +## Next (each a separate operator sentence) -| PR | State | Action | -|----|-------|--------| -| **#101** hygiene + naming | **merged** | on main | -| **#95** HYPERLEX-Q1 | draft | Stay draft; UNQUALIFIED | -| **#100** / **#99** | merged | done | - -## Next - -1. Await authorize with **named phrases** on a live empty card, or a new `force_expand_safe` acquire. Do **not** re-settle morph77’s four. -2. Optional org mirror `push-org` only with explicit authorize (personal main now has naming lock). -3. Do not re-burn empty settles. Do not flip `name_gate`. +1. Card rename: `hyperlex-encoder-*` identifiers → Hyperlexical / `hyperlex-structure-149m` (C31) and packet/schema `name_gate` field. +2. Hub upload — still not authorized. +3. Optional T13 (promote `scripts/shadow/hyperlexical/` into `src/hyperlex/`). +4. HOLD morph78; no new climb without a new card. Qwen stays stopped unless re-enabled. diff --git a/README.md b/README.md index 089db4b..989b62d 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ Repo **Hyperlex** is the transitional monorepo shell. Do not use bare public **H | **ne0l0gist** | Slang ingest tool (zeros spelling) — operator-named 2026-09-24 | | **Hyperlex** (repo) | Transitional monorepo shell / paths / env | -`name_gate` stays **false**. Org mirror is not train SoT (`docs/remotes.md`). +`name_gate` is **true** for pin `seed-morph78` (Danny `flip name_gate`, 2026-09-24, amendment A6) — that pin may be called **Hyperlexical**. Card/package IDs stay `hyperlex-encoder-*`; Hub and T13 not authorized. Org mirror is not train SoT (`docs/remotes.md`). ## Install From 650863e71832e713cbdf9cb734bbfd5d8829022f Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Thu, 24 Sep 2026 11:31:48 -0700 Subject: [PATCH 2/7] sync: graft personal name_gate yes (seed-morph78, A6) + morph78 promote receipts --- ROADMAP.md | 8 +++++--- STATUS.md | 26 +++++++++++++------------- docs/CANONICAL.md | 7 +++++-- docs/NAMING.md | 10 +++++----- 4 files changed, 28 insertions(+), 23 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 4e81dfa..febdb44 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -3,7 +3,7 @@ ## Vision Hyperlex **ships today as a Hermes skill** (this Python package). Relevant Abraxas wire capabilities live under `hyperlex.compat.abraxas`; hosts import *from* Hyperlex. -The same project is on a **model path** (Spec 007): T0 encoder baseline, then T1 after eval gate E2. T1 is the first artifact that may be called Hyperlexical. Trained E2 can PASS on Spark without flipping `name_gate` — Danny yes is still required. No Hub card until then. +The same project is on a **model path** (Spec 007): T0 encoder baseline, then T1 after eval gate E2. T1 is the first artifact that may be called Hyperlexical. Trained E2 PASS alone did not flip `name_gate`; Danny's yes did (2026-09-24, `seed-morph78`). No Hub card yet. The skill remains the operator surface while the encoder stays SHADOW. @@ -81,11 +81,11 @@ The skill remains the operator surface while the encoder stays SHADOW. - [x] Live-split coerce to lexical train/val/test (#38) - [x] 8-family leaf unlock; classify volume ready (harvest receipt 2026-09-10) - [x] Spark bring-up runbooks on main (#28) -- [x] Trained trunk-forward E2 PASS on Spark (BEST=`seed-morph65`; stub still expected FAIL; seed smoke ≠ T1) +- [x] Trained trunk-forward E2 PASS on Spark (BEST=`seed-morph78`; stub still expected FAIL; seed smoke ≠ T1) - [ ] Hub upload (operator — not started) - [ ] T13 promote into `src/hyperlex/` -`name_gate` stays **false** until Danny yes (E2 PASS alone does not flip). Classify volume ≠ a Hyperlexical name. No ninth family. +`name_gate` is **true** for `seed-morph78` (Danny yes 2026-09-24; E2 PASS alone did not flip). Classify volume ≠ a Hyperlexical name. No ninth family. ## Milestones - v0.2.x: Phases 0–4 complete (Hermes skill production track) @@ -102,6 +102,8 @@ The skill remains the operator surface while the encoder stays SHADOW. See [SPEC.md](SPEC.md) and [DESIGN.md](DESIGN.md) for the historical spine. Current operator snapshot: [STATUS.md](STATUS.md). ## Recent +- 2026-09-24: Danny `flip name_gate` — `seed-morph78` named **Hyperlexical** (amendment A6). Card rename, Hub, T13 still separate. +- 2026-09-24: morph78 PROMOTE_BEST (soft_ceiling ceiling_escape; broad 0.9883 > 0.8867 n=256 + E2) after named-phrase settle. `name_gate` still false. - 2026-09-24: Hygiene — `pyproject.toml` aligned to `VERSION` 0.4.0; ROADMAP E2 line matches trained PASS; name_gate / named-phrases plan drafted. `#100` + `#99` on main. soft_ceiling ARMED; morph65 held. - 2026-09-10 PT evening: Spec 007 SoT 4333 / `--include-live` classify 2437; Danny ~2500 bar met; `name_gate` false. Hermes 913 / gap-to-2500 superseded. Spark bring-up (#28), A5 milestones (#33), lexical-split coerce (#38), 8-family unlock (#37). (E2 was Spark-blocked at that snapshot; trained E2 later PASS on morph65.) - 2026-09-09: Spec 007 SHADOW encoder harness on main (not a Hub card) diff --git a/STATUS.md b/STATUS.md index cf77af5..1c988c7 100644 --- a/STATUS.md +++ b/STATUS.md @@ -2,11 +2,11 @@ # Hyperlex status -**Naming:** repo **Hyperlex** is the transitional monorepo shell. Public products: **Hyperlexical** (Spec 007 model / train / eval / E2 / `name_gate` claim) and **ne0l0gist** (slang ingest — operator-named 2026-09-24, repo spelling). `name_gate` remains false. +**Naming:** repo **Hyperlex** is the transitional monorepo shell. Public products: **Hyperlexical** (Spec 007 model / train / eval / E2 / `name_gate` claim) and **ne0l0gist** (slang ingest — operator-named 2026-09-24, repo spelling). `name_gate` **true** for `seed-morph78` (Danny `flip name_gate`, 2026-09-24, amendment A6). **Version:** 0.4.0 **Observed:** 2026-09-24 -**Posture:** Hermes skill = current operator surface. Spec 007 = model path (SHADOW). Spark BEST = `seed-morph65`. soft_ceiling **ARMED**. Live broad **0.8867** n=256. morph78 GOLD empty. Ingest product named **ne0l0gist** (as in repo). Naming lock: `docs/NAMING.md` + Notion Naming lock. **#101** merged to main. Hyperlexical `name_gate` still false. +**Posture:** Hermes skill = current operator surface. Spec 007 = model path (SHADOW). Spark BEST = `seed-morph78` (soft_ceiling PROMOTE_BEST 2026-09-24; broad **0.9883** n=256). Ingest product named **ne0l0gist** (as in repo). Naming lock: `docs/NAMING.md` + Notion Naming lock. **#101** merged to main. Org naming graft **#14** merged. morph78 settled `have fun staying poor` + `fr fr no cap`; force **236**/hard **277**. `name_gate` **true** for `seed-morph78` (Danny `flip name_gate`, 2026-09-24, amendment A6). Card/package IDs stay `hyperlex-encoder-*`; Hub and T13 not authorized. **Install:** `bash install.sh` → `~/.hermes/skills/hyperlex` **Claude (optional):** `bash install.sh --claude` → `~/.claude/skills/hyperlex` **Track:** Phases 0–4 complete · Phase 5.0–5.3 · Pages static run history · Spec 007 SHADOW encoder on main @@ -19,11 +19,11 @@ This file is the operator snapshot. The docs site copies it to [status](https:// |-------|------|--------| | Hermes skill | What you run today (`SKILL.md`, CLI, `src/hyperlex/`) | Ready (v0.4.0) | | T0 | Encoder baseline; card `hyperlex-encoder-*` | Specified. Not named Hyperlexical. | -| T1 | First artifact that *may* be called Hyperlexical | Trained E2 PASS on Spark; still blocked on Danny yes for `name_gate` | -| `name_gate` | Name + publish wall | **false** | +| T1 | First artifact that *may* be called Hyperlexical | `seed-morph78`: trained E2 PASS + Danny `name_gate` yes (2026-09-24) — **named Hyperlexical** | +| `name_gate` | Name wall | **true** (`seed-morph78`, A6) · publish wall (Hub) still closed | | Hub | Operator upload | Not published | -Classify volume is ready. Volume does not flip `name_gate`. Seed smoke ≠ T1. +Classify volume is ready. Volume did not flip `name_gate`; Danny's sentence did. Seed smoke ≠ T1. ## Health @@ -37,7 +37,7 @@ PYTHONPATH=scripts/shadow python3 -m hyperlexical.infer --text rizz --offline ## Spec 007 — honest gates -SHADOW / advisory. Not on `API_V1`. Do **not** call the artifact Hyperlexical. Do **not** set `name_gate` true. +SHADOW / advisory. Not on `API_V1`. Pin `seed-morph78` may be called **Hyperlexical** (A6). Do not call any other checkpoint, stub, or seed smoke Hyperlexical. Operator scoreboard **2026-09-10 PT evening** (Danny-locked; matches [Notion Operator Hub](https://app.notion.com/p/3d73e8ba2f5c81ad89d7c2df8e931a83)): @@ -52,11 +52,11 @@ Danny ~2500 candidate bar: **met**. Hermes **913** / “gap to 2500” is **supe | Gate | State | |------|--------| | Classify volume | **Ready** — operator `--include-live` family classify **2437** (≥2k). name_gate gaps **0 / 0 / 0** on that surface. | -| `name_gate` | **false** — E2 PASS on Spark does **not** flip the gate. Danny yes still required. Volume ≠ name. | -| Spark BEST | **`seed-morph65`** — force fair **1.0** n=164. soft_ceiling **ARMED** (live prior broad 0.8867 n=256). morph78 acquire HOLD **empty gold**. E2 PASS. LAST=8. Upsample freeze **11+**. | +| `name_gate` | **true** for `seed-morph78` — Danny `flip name_gate` 2026-09-24 (A6; receipt `specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md`). E2 PASS alone did not flip it. | +| Spark BEST | **`seed-morph78`** — PROMOTE_BEST via soft_ceiling ceiling_escape: broad OBSERVED **0.9883** > morph65 **0.8867** n=256; E2 PASS; force fair 1.0 n=164 (advisory). LAST=8. Upsample freeze **11+**. | | E2 vs Spec 004 | Stub still FAIL (expected). **Trained trunk-forward E2 PASS** on morph19 (`unbind_exact=1.0`). Seed smoke ≠ T1. | | Hub publish | **No** — skeleton in-repo; weights stay on Spark. | -| T1 name | Not allowed. Card stays `hyperlex-encoder-*` until Danny yes on `name_gate`. | +| T1 name | **Hyperlexical** approved for `seed-morph78`. Card/package IDs still `hyperlex-encoder-*` until a separate card-rename change. | | Lineage families | **8** only. No ninth family. | | Brier | `null` on every 007 packet. | | Crawl | Crawl4AI **0.9.3** default. `--source firecrawl` aliases to `crawl4ai`. No paid Firecrawl without Danny yes. | @@ -103,9 +103,9 @@ Pages overview: [SHADOW encoder (007)](docs/shadow-hyperlexical.md) | Ingest routes + automatic pipeline | Ready | | Atomic multi-term seeds | Ready | | Analysis enrichment (compression_metrics, typology tags, signal_report, integrity header) | Ready | -| Local attractor store (`~/.hyperlex/signals/`) | Ready (`inbox list\|push\|clear`) | +| Local attractor store (`~/.hyperlex/signals/`) | Ready (`inbox list|push|clear`) | | Attractor candidate rune (`RUNE.HLX.ATTRACTOR_CANDIDATE`) | Ready (advisory only) | -| Spec 007 model path (T0→T1) | SHADOW · Spark BEST morph65 · soft_ceiling ARMED · force fair 1.0 n=164 · live broad prior 0.887 n=256 · E2 PASS · LAST=8 · upsample freeze 11+ · morph69–77 closed · next fresh acquire morph78 · `name_gate` false · no Hub · not named Hyperlexical | +| Spec 007 model path (T0→T1) | SHADOW · Spark BEST morph78 · broad 0.988 n=256 · force fair 1.0 n=164 · E2 PASS · LAST=8 · upsample freeze 11+ · morph69–78 closed · next climb needs new named-phrase card · `name_gate` **true** (morph78, A6) · named Hyperlexical · no Hub · T13 not authorized | | 007 live ingest tap | SHADOW · pipeline/analyze/scan fail-open → `~/.hyperlex/hyperlexical/ingest_candidates.jsonl` · INFERRED only | | Public PyPI | Not planned | | External system hard import | Never | @@ -144,9 +144,9 @@ data/backfill/2026/ ## Recommended next -1. Spark BEST = **morph65**. soft_ceiling **ARMED**. Await authorize with **named phrases** on a live empty card (not morph77’s already-settled four), or a new `force_expand_safe` acquire. Plan: `specs/007-hyperlexical-model/NAME-GATE-AND-NAMED-PHRASES.md`. +1. Spark BEST = **morph78**. Default **HOLD**. Operator review `specs/007-hyperlexical-model/HYPERLEXICAL-PRODUCT-PLAN.md`; a new climb needs a new named-phrase acquire card (compare vs morph78 broad 0.9883 n=256). `name_gate` yes recorded (A6); next are separate card-rename / Hub / T13 decisions. Plan: `specs/007-hyperlexical-model/NAME-GATE-AND-NAMED-PHRASES.md`. 2. Burn-in offline runs + settle path (this is how Brier becomes real). -3. Do not Hub-upload. Do not promote `scripts/shadow/hyperlexical/` into `src/hyperlex/` (T13). Do not flip `name_gate`. +3. Do not Hub-upload. Do not promote `scripts/shadow/hyperlexical/` into `src/hyperlex/` (T13) without a separate sentence. Do not extend `name_gate` to any checkpoint other than `seed-morph78`. ## README diff --git a/docs/CANONICAL.md b/docs/CANONICAL.md index 8c85d43..d5f69c4 100644 --- a/docs/CANONICAL.md +++ b/docs/CANONICAL.md @@ -26,9 +26,12 @@ see [Remotes](remotes.md). ## Current BEST receipt The pinned BEST promote receipt on `main` is -[20260915-morph36-promote-best.md](https://github.com/scrimshawlife-ctrl/Hyperlex/blob/main/specs/007-hyperlexical-model/receipts/20260915-morph36-promote-best.md). +[20260924-morph78-soft-ceiling-promote-best.md](https://github.com/scrimshawlife-ctrl/Hyperlex/blob/main/specs/007-hyperlexical-model/receipts/20260924-morph78-soft-ceiling-promote-best.md) +(`seed-morph78`, 2026-09-24). Earlier pins such as +[20260915-morph36-promote-best.md](https://github.com/scrimshawlife-ctrl/Hyperlex/blob/main/specs/007-hyperlexical-model/receipts/20260915-morph36-promote-best.md) +are history. -That receipt records **`name_gate=false`** and **no Hub** publish. +That receipt records **`name_gate=false`** at promote time and **no Hub** publish. Danny flipped `name_gate` for this pin later the same day: [20260924-name-gate-yes-morph78.md](https://github.com/scrimshawlife-ctrl/Hyperlex/blob/main/specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md). ## Public Claims & Boundaries diff --git a/docs/NAMING.md b/docs/NAMING.md index c702780..5962ca4 100644 --- a/docs/NAMING.md +++ b/docs/NAMING.md @@ -1,8 +1,8 @@ # Naming lock — Hyperlex / Hyperlexical / ne0l0gist **Status:** LOCKED · **Date:** 2026-09-24 -**Operator:** Danny `name neologist as in repo` -**Receipt:** `specs/007-hyperlexical-model/receipts/20260924-name-ne0l0gist-as-in-repo.md` +**Operator:** Danny `name neologist as in repo` · Danny `flip name_gate` +**Receipts:** `specs/007-hyperlexical-model/receipts/20260924-name-ne0l0gist-as-in-repo.md` · `specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md` This file is the **durable naming SoT** for agents and operators. Copy it; do not invent alternate product spellings. @@ -12,15 +12,15 @@ This file is the **durable naming SoT** for agents and operators. Copy it; do no |------|----------|------|--------| | **Hyperlex** | Hyperlex | Transitional **monorepo shell** only. GitHub repo, `~/.hyperlex/`, `HYPERLEX_*`, skill install path. Not a public product brand (collides with French legaltech CLM / DiliTrust). | shell only | | **ne0l0gist** | `ne` + `0` + `l` + `0` + `gist` (zeros, not letter O) | Public **slang ingest / harvest** product: Crawl4AI, `ingest_tap`, export/settle, civilian + live phrase harvest | **yes** (2026-09-24) | -| **Hyperlexical** | Hyperlexical | Spec 007 **model / train / eval / E2 / `name_gate`** product claim | **no** until Danny `name_gate` yes | +| **Hyperlexical** | Hyperlexical | Spec 007 **model / train / eval / E2 / `name_gate`** product claim | **yes** (2026-09-24) — pin `seed-morph78` only | -`name_gate` stays **false**. Naming **ne0l0gist** does **not** flip Hyperlexical `name_gate`, Hub, or T13. +`name_gate` is **true** for `seed-morph78` (amendment A6). Naming **ne0l0gist** was a separate sentence. Neither authorizes Hub, T13, or renaming card/package identifiers (`hyperlex-encoder-*`). ## Do not - Spell ingest `neologist`, `neOlogist`, or `ne0logist` (wrong zeros/letters) - Call the Hermes skill or repo “Hyperlexical” -- Call a stub, seed smoke, or harvest dump Hyperlexical-gated-true +- Call any checkpoint other than `seed-morph78`, a stub, seed smoke, or harvest dump Hyperlexical - Treat org mirror `Zero-State-LLC/Hyperlex` as work/train SoT (may lag personal `main`) - Rename paths / package / env (`hyperlex`, `hyperlexical`, `HYPERLEX_*`) without a separate hard-cut sentence From 7448ebdcf733ef45be0bc41dffbee20cb80dcfed Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Thu, 24 Sep 2026 11:35:13 -0700 Subject: [PATCH 3/7] sync: graft personal name_gate yes (seed-morph78, A6) + morph78 promote receipts --- docs/ROADMAP.md | 8 +++++--- docs/shadow-hyperlexical.md | 14 +++++++------- docs/specs/index.md | 6 +++--- docs/start/glossary.md | 12 ++++++------ docs/status.md | 28 +++++++++++++++------------- 5 files changed, 36 insertions(+), 32 deletions(-) diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 4e81dfa..febdb44 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -3,7 +3,7 @@ ## Vision Hyperlex **ships today as a Hermes skill** (this Python package). Relevant Abraxas wire capabilities live under `hyperlex.compat.abraxas`; hosts import *from* Hyperlex. -The same project is on a **model path** (Spec 007): T0 encoder baseline, then T1 after eval gate E2. T1 is the first artifact that may be called Hyperlexical. Trained E2 can PASS on Spark without flipping `name_gate` — Danny yes is still required. No Hub card until then. +The same project is on a **model path** (Spec 007): T0 encoder baseline, then T1 after eval gate E2. T1 is the first artifact that may be called Hyperlexical. Trained E2 PASS alone did not flip `name_gate`; Danny's yes did (2026-09-24, `seed-morph78`). No Hub card yet. The skill remains the operator surface while the encoder stays SHADOW. @@ -81,11 +81,11 @@ The skill remains the operator surface while the encoder stays SHADOW. - [x] Live-split coerce to lexical train/val/test (#38) - [x] 8-family leaf unlock; classify volume ready (harvest receipt 2026-09-10) - [x] Spark bring-up runbooks on main (#28) -- [x] Trained trunk-forward E2 PASS on Spark (BEST=`seed-morph65`; stub still expected FAIL; seed smoke ≠ T1) +- [x] Trained trunk-forward E2 PASS on Spark (BEST=`seed-morph78`; stub still expected FAIL; seed smoke ≠ T1) - [ ] Hub upload (operator — not started) - [ ] T13 promote into `src/hyperlex/` -`name_gate` stays **false** until Danny yes (E2 PASS alone does not flip). Classify volume ≠ a Hyperlexical name. No ninth family. +`name_gate` is **true** for `seed-morph78` (Danny yes 2026-09-24; E2 PASS alone did not flip). Classify volume ≠ a Hyperlexical name. No ninth family. ## Milestones - v0.2.x: Phases 0–4 complete (Hermes skill production track) @@ -102,6 +102,8 @@ The skill remains the operator surface while the encoder stays SHADOW. See [SPEC.md](SPEC.md) and [DESIGN.md](DESIGN.md) for the historical spine. Current operator snapshot: [STATUS.md](STATUS.md). ## Recent +- 2026-09-24: Danny `flip name_gate` — `seed-morph78` named **Hyperlexical** (amendment A6). Card rename, Hub, T13 still separate. +- 2026-09-24: morph78 PROMOTE_BEST (soft_ceiling ceiling_escape; broad 0.9883 > 0.8867 n=256 + E2) after named-phrase settle. `name_gate` still false. - 2026-09-24: Hygiene — `pyproject.toml` aligned to `VERSION` 0.4.0; ROADMAP E2 line matches trained PASS; name_gate / named-phrases plan drafted. `#100` + `#99` on main. soft_ceiling ARMED; morph65 held. - 2026-09-10 PT evening: Spec 007 SoT 4333 / `--include-live` classify 2437; Danny ~2500 bar met; `name_gate` false. Hermes 913 / gap-to-2500 superseded. Spark bring-up (#28), A5 milestones (#33), lexical-split coerce (#38), 8-family unlock (#37). (E2 was Spark-blocked at that snapshot; trained E2 later PASS on morph65.) - 2026-09-09: Spec 007 SHADOW encoder harness on main (not a Hub card) diff --git a/docs/shadow-hyperlexical.md b/docs/shadow-hyperlexical.md index 611d551..77a60a1 100644 --- a/docs/shadow-hyperlexical.md +++ b/docs/shadow-hyperlexical.md @@ -1,10 +1,10 @@ # SHADOW — Spec 007 model path -**Naming:** this page is **Hyperlexical** (model / train / eval / E2 / `name_gate` claim). Harvest and live ingest are **ne0l0gist**. Repo **Hyperlex** is the transitional shell. The earned Hub name still requires E2 (`name_gate` is **false**). +**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. Not named **Hyperlexical** until eval gate E2 passes on Spark. +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. @@ -14,10 +14,10 @@ Specify is locked C1–C52 plus A5 milestones. Implement on `main` is the stub, |------|---------|--------------|-------------| | 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 | **Not earned.** E2 Spark-blocked. | +| 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` stays **false** until E2. Classify volume ready ≠ T1. +`name_gate` is **true** for `seed-morph78` (Danny yes). E2 PASS alone ≠ name. Classify volume ready ≠ T1. ## Honest gates (2026-09-10 PT evening) @@ -32,8 +32,8 @@ Danny ~2500 candidate bar: **met**. Hermes 913 / “gap to 2500” is **supersed | Gate | State | |------|--------| | Classify volume | **Ready** — operator `--include-live` family classify **2437**. | -| `name_gate` | **false**. Volume does not name the model. Gate stays false until E2 passes on Spark. | -| E2 vs Spec 004 | **FAIL** on the stub (expected). A trained E2 is Spark-blocked. Seed smoke is not a pass. | +| `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. | @@ -64,7 +64,7 @@ Bring-up is procedure, not a product card. A seed smoke that ends with E2 failin | [HERMES-SPARK-RUN.md](https://github.com/scrimshawlife-ctrl/Hyperlex/blob/main/specs/007-hyperlexical-model/HERMES-SPARK-RUN.md) | Hermes run order | | [milestones.md](https://github.com/scrimshawlife-ctrl/Hyperlex/blob/main/specs/007-hyperlexical-model/milestones.md) | A5 name-gate / tier table (#33) | -Trunk: `answerdotai/ModernBERT-base`. Local snapshot only. Last 2 layers trainable. 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 E2. +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. ## Eval table (stub) diff --git a/docs/specs/index.md b/docs/specs/index.md index d2a6518..883c79a 100644 --- a/docs/specs/index.md +++ b/docs/specs/index.md @@ -2,7 +2,7 @@ Hyperlex **runs as a Hermes skill** today. Spec 007 is the **model path** (T0 → T1 after E2), still SHADOW. -**Naming:** **Hyperlexical** = Spec 007 model / train / eval / E2 / `name_gate` claim. **ne0l0gist** = slang ingest / harvest. Repo **Hyperlex** is the transitional monorepo shell. `name_gate` stays false. +**Naming:** **Hyperlexical** = Spec 007 model / train / eval / E2 / `name_gate` claim. **ne0l0gist** = slang ingest / harvest. Repo **Hyperlex** is the transitional monorepo shell. `name_gate` **true** for `seed-morph78` (Danny `flip name_gate`, 2026-09-24, amendment A6). Specs live under [`specs/`](https://github.com/scrimshawlife-ctrl/Hyperlex/tree/main/specs) in the repository. This page is the docs-site index. It does not add gates. @@ -17,11 +17,11 @@ Constitution: [`.specify/memory/constitution.md`](https://github.com/scrimshawli | 004 | Recoverable-structure probe | SPECIFY locked · implement SHADOW | `scripts/shadow/recoverable_structure/` | | 005 | Route labels | SPECIFY locked (Notion + branch `005-route-labels`) | not on main — [PR 18](https://github.com/scrimshawlife-ctrl/Hyperlex/pull/18) | | 006 | IsA | reserved — do not open from 007 | — | -| 007 | Hyperlexical model | SPECIFY locked C1–C52 · A5 milestones · SHADOW implement on main | `scripts/shadow/hyperlexical/` · E2 fail · `name_gate` false · no Hub | +| 007 | Hyperlexical model | SPECIFY locked C1–C52 · A5 milestones · SHADOW implement on main | `scripts/shadow/hyperlexical/` · stub E2 fail (expected) · trained E2 PASS on BEST `seed-morph78` · `name_gate` **true** (morph78) · no Hub | ## Spec 007 (SHADOW) -Not on `API_V1`. Not a Hugging Face model. Not named **Hyperlexical** until E2 passes on Spark. +Not on `API_V1`. Not a Hugging Face model. Pin `seed-morph78` is named **Hyperlexical** (Danny `name_gate` yes, 2026-09-24). No other checkpoint is. - Pages overview: [SHADOW encoder (007)](../shadow-hyperlexical.md) - Operator snapshot: [Status](../status.md) diff --git a/docs/start/glossary.md b/docs/start/glossary.md index c4b36fe..16b597a 100644 --- a/docs/start/glossary.md +++ b/docs/start/glossary.md @@ -86,7 +86,7 @@ surface until T13 promote — and T13 is not open. ### T0 / T1 Spec 007 encoder tiers. **T0** is a classify baseline (`hyperlex-encoder-*`). **T1** is the first artifact that *may* be called Hyperlexical, and only after -trained E2 PASS on Spark **and** Danny yes on `name_gate`. Neither tier is a Hub card today. +trained E2 PASS on Spark **and** Danny yes on `name_gate`. `seed-morph78` met both on 2026-09-24. Neither tier is a Hub card today. ### SHADOW An advisory lane that is **not** on `API_V1`. Mutation detect v0.2 and Spec 007 @@ -95,14 +95,14 @@ fails. ### Hyperlexical (name) Public **model** product claim for Spec 007 (train / eval / E2 / `name_gate`). -The earned Hub name still requires Danny `name_gate` yes (`name_gate` is **false**). -Until then the card is `hyperlex-encoder-*`. Do not call a stub, harvest dump, +Approved for pin `seed-morph78` (Danny `name_gate` yes, 2026-09-24). Card/package IDs +are still `hyperlex-encoder-*` until a separate rename. Do not call a stub, harvest dump, or seed smoke Hyperlexical-gated-true. Harvest / ingest is **ne0l0gist**. ### name_gate Name + publish wall before a T1 may be called Hyperlexical. Classify volume and -trained E2 PASS can be ready while `name_gate` stays **false**. Danny explicit -yes flips the gate — E2 alone does not. See [SHADOW encoder](../shadow-hyperlexical.md) +trained E2 PASS could be ready while `name_gate` stayed **false**. Danny explicit +yes flips the gate — E2 alone does not. Now **true** for `seed-morph78` only. See [SHADOW encoder](../shadow-hyperlexical.md) and [NAMING.md](../NAMING.md). ## Hard constraints @@ -111,7 +111,7 @@ and [NAMING.md](../NAMING.md). |------|---------| | No fabricated Brier | Open runs: `brier: null` | | Phase 5 speculative | Research only; not measurement | -| Spec 007 SHADOW | Classify volume ready; `name_gate` false; no Hub | +| Spec 007 SHADOW | `seed-morph78` named Hyperlexical (`name_gate` true); no Hub | | Naming split | **Hyperlexical** = model claim; **ne0l0gist** = ingest; repo **Hyperlex** is the shell ([NAMING.md](../NAMING.md)) | | Eight families only | Do not invent a ninth lineage family | | No Abraxas hard import | Hyperlex never imports Abraxas | diff --git a/docs/status.md b/docs/status.md index d9b230c..2fbd67b 100644 --- a/docs/status.md +++ b/docs/status.md @@ -1,10 +1,12 @@ +**Org mirror note:** this STATUS is grafted from personal tip for Spec 007 continuity. License SoT on this repo remains Proprietary (`LICENSE`). Train SoT remains personal `scrimshawlife-ctrl/Hyperlex`. + # Hyperlex status -**Naming:** repo **Hyperlex** is the transitional monorepo shell. Public products: **Hyperlexical** (Spec 007 model / train / eval / E2 / `name_gate` claim) and **ne0l0gist** (slang ingest — operator-named 2026-09-24, repo spelling). `name_gate` remains false. +**Naming:** repo **Hyperlex** is the transitional monorepo shell. Public products: **Hyperlexical** (Spec 007 model / train / eval / E2 / `name_gate` claim) and **ne0l0gist** (slang ingest — operator-named 2026-09-24, repo spelling). `name_gate` **true** for `seed-morph78` (Danny `flip name_gate`, 2026-09-24, amendment A6). **Version:** 0.4.0 **Observed:** 2026-09-24 -**Posture:** Hermes skill = current operator surface. Spec 007 = model path (SHADOW). Spark BEST = `seed-morph65`. soft_ceiling **ARMED**. Live broad **0.8867** n=256. morph78 GOLD empty. Ingest product named **ne0l0gist** (as in repo). Naming lock: `docs/NAMING.md` + Notion Naming lock. **#101** merged to main. Hyperlexical `name_gate` still false. +**Posture:** Hermes skill = current operator surface. Spec 007 = model path (SHADOW). Spark BEST = `seed-morph78` (soft_ceiling PROMOTE_BEST 2026-09-24; broad **0.9883** n=256). Ingest product named **ne0l0gist** (as in repo). Naming lock: `docs/NAMING.md` + Notion Naming lock. **#101** merged to main. Org naming graft **#14** merged. morph78 settled `have fun staying poor` + `fr fr no cap`; force **236**/hard **277**. `name_gate` **true** for `seed-morph78` (Danny `flip name_gate`, 2026-09-24, amendment A6). Card/package IDs stay `hyperlex-encoder-*`; Hub and T13 not authorized. **Install:** `bash install.sh` → `~/.hermes/skills/hyperlex` **Claude (optional):** `bash install.sh --claude` → `~/.claude/skills/hyperlex` **Track:** Phases 0–4 complete · Phase 5.0–5.3 · Pages static run history · Spec 007 SHADOW encoder on main @@ -17,11 +19,11 @@ This file is the operator snapshot. The docs site copies it to [status](https:// |-------|------|--------| | Hermes skill | What you run today (`SKILL.md`, CLI, `src/hyperlex/`) | Ready (v0.4.0) | | T0 | Encoder baseline; card `hyperlex-encoder-*` | Specified. Not named Hyperlexical. | -| T1 | First artifact that *may* be called Hyperlexical | Trained E2 PASS on Spark; still blocked on Danny yes for `name_gate` | -| `name_gate` | Name + publish wall | **false** | +| T1 | First artifact that *may* be called Hyperlexical | `seed-morph78`: trained E2 PASS + Danny `name_gate` yes (2026-09-24) — **named Hyperlexical** | +| `name_gate` | Name wall | **true** (`seed-morph78`, A6) · publish wall (Hub) still closed | | Hub | Operator upload | Not published | -Classify volume is ready. Volume does not flip `name_gate`. Seed smoke ≠ T1. +Classify volume is ready. Volume did not flip `name_gate`; Danny's sentence did. Seed smoke ≠ T1. ## Health @@ -35,7 +37,7 @@ PYTHONPATH=scripts/shadow python3 -m hyperlexical.infer --text rizz --offline ## Spec 007 — honest gates -SHADOW / advisory. Not on `API_V1`. Do **not** call the artifact Hyperlexical. Do **not** set `name_gate` true. +SHADOW / advisory. Not on `API_V1`. Pin `seed-morph78` may be called **Hyperlexical** (A6). Do not call any other checkpoint, stub, or seed smoke Hyperlexical. Operator scoreboard **2026-09-10 PT evening** (Danny-locked; matches [Notion Operator Hub](https://app.notion.com/p/3d73e8ba2f5c81ad89d7c2df8e931a83)): @@ -50,11 +52,11 @@ Danny ~2500 candidate bar: **met**. Hermes **913** / “gap to 2500” is **supe | Gate | State | |------|--------| | Classify volume | **Ready** — operator `--include-live` family classify **2437** (≥2k). name_gate gaps **0 / 0 / 0** on that surface. | -| `name_gate` | **false** — E2 PASS on Spark does **not** flip the gate. Danny yes still required. Volume ≠ name. | -| Spark BEST | **`seed-morph65`** — force fair **1.0** n=164. soft_ceiling **ARMED** (live prior broad 0.8867 n=256). morph78 acquire HOLD **empty gold**. E2 PASS. LAST=8. Upsample freeze **11+**. | +| `name_gate` | **true** for `seed-morph78` — Danny `flip name_gate` 2026-09-24 (A6; receipt `specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md`). E2 PASS alone did not flip it. | +| Spark BEST | **`seed-morph78`** — PROMOTE_BEST via soft_ceiling ceiling_escape: broad OBSERVED **0.9883** > morph65 **0.8867** n=256; E2 PASS; force fair 1.0 n=164 (advisory). LAST=8. Upsample freeze **11+**. | | E2 vs Spec 004 | Stub still FAIL (expected). **Trained trunk-forward E2 PASS** on morph19 (`unbind_exact=1.0`). Seed smoke ≠ T1. | | Hub publish | **No** — skeleton in-repo; weights stay on Spark. | -| T1 name | Not allowed. Card stays `hyperlex-encoder-*` until Danny yes on `name_gate`. | +| T1 name | **Hyperlexical** approved for `seed-morph78`. Card/package IDs still `hyperlex-encoder-*` until a separate card-rename change. | | Lineage families | **8** only. No ninth family. | | Brier | `null` on every 007 packet. | | Crawl | Crawl4AI **0.9.3** default. `--source firecrawl` aliases to `crawl4ai`. No paid Firecrawl without Danny yes. | @@ -101,9 +103,9 @@ Pages overview: [SHADOW encoder (007)](shadow-hyperlexical.md) | Ingest routes + automatic pipeline | Ready | | Atomic multi-term seeds | Ready | | Analysis enrichment (compression_metrics, typology tags, signal_report, integrity header) | Ready | -| Local attractor store (`~/.hyperlex/signals/`) | Ready (`inbox list\|push\|clear`) | +| Local attractor store (`~/.hyperlex/signals/`) | Ready (`inbox list|push|clear`) | | Attractor candidate rune (`RUNE.HLX.ATTRACTOR_CANDIDATE`) | Ready (advisory only) | -| Spec 007 model path (T0→T1) | SHADOW · Spark BEST morph65 · soft_ceiling ARMED · force fair 1.0 n=164 · live broad prior 0.887 n=256 · E2 PASS · LAST=8 · upsample freeze 11+ · morph69–77 closed · next fresh acquire morph78 · `name_gate` false · no Hub · not named Hyperlexical | +| Spec 007 model path (T0→T1) | SHADOW · Spark BEST morph78 · broad 0.988 n=256 · force fair 1.0 n=164 · E2 PASS · LAST=8 · upsample freeze 11+ · morph69–78 closed · next climb needs new named-phrase card · `name_gate` **true** (morph78, A6) · named Hyperlexical · no Hub · T13 not authorized | | 007 live ingest tap | SHADOW · pipeline/analyze/scan fail-open → `~/.hyperlex/hyperlexical/ingest_candidates.jsonl` · INFERRED only | | Public PyPI | Not planned | | External system hard import | Never | @@ -142,9 +144,9 @@ data/backfill/2026/ ## Recommended next -1. Spark BEST = **morph65**. soft_ceiling **ARMED**. Await authorize with **named phrases** on a live empty card (not morph77’s already-settled four), or a new `force_expand_safe` acquire. Plan: `specs/007-hyperlexical-model/NAME-GATE-AND-NAMED-PHRASES.md`. +1. Spark BEST = **morph78**. Default **HOLD**. Operator review `specs/007-hyperlexical-model/HYPERLEXICAL-PRODUCT-PLAN.md`; a new climb needs a new named-phrase acquire card (compare vs morph78 broad 0.9883 n=256). `name_gate` yes recorded (A6); next are separate card-rename / Hub / T13 decisions. Plan: `specs/007-hyperlexical-model/NAME-GATE-AND-NAMED-PHRASES.md`. 2. Burn-in offline runs + settle path (this is how Brier becomes real). -3. Do not Hub-upload. Do not promote `scripts/shadow/hyperlexical/` into `src/hyperlex/` (T13). Do not flip `name_gate`. +3. Do not Hub-upload. Do not promote `scripts/shadow/hyperlexical/` into `src/hyperlex/` (T13) without a separate sentence. Do not extend `name_gate` to any checkpoint other than `seed-morph78`. ## README From 84df3220ee9335e20108d1d17f179edd2c52c177 Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Thu, 24 Sep 2026 11:39:28 -0700 Subject: [PATCH 4/7] sync: graft personal name_gate yes (seed-morph78, A6) + morph78 promote receipts --- .../HYPERLEXICAL-PRODUCT-PLAN.md | 190 +++++++++--------- .../NAME-GATE-AND-NAMED-PHRASES.md | 141 ++++++------- .../007-hyperlexical-model/NEXT_MOVES_007.md | 26 ++- 3 files changed, 166 insertions(+), 191 deletions(-) diff --git a/specs/007-hyperlexical-model/HYPERLEXICAL-PRODUCT-PLAN.md b/specs/007-hyperlexical-model/HYPERLEXICAL-PRODUCT-PLAN.md index 583ee0f..e3f5968 100644 --- a/specs/007-hyperlexical-model/HYPERLEXICAL-PRODUCT-PLAN.md +++ b/specs/007-hyperlexical-model/HYPERLEXICAL-PRODUCT-PLAN.md @@ -1,131 +1,129 @@ # Hyperlexical model product — completion plan -**Status:** DRAFT (operator review) · **Date:** 2026-09-23 -**Naming:** repo **Hyperlex** = transitional shell. Public products: **Hyperlexical** (this plan) and **ne0l0gist** (ingest). Hermes skill ≠ Hyperlexical. -**Hard locks (unchanged):** `name_gate=false` until Danny yes · no Hub upload · no invented OBSERVED · upsample freeze **11+** · no `SECOND_SLOT=4` · schemes `positional|type_slot` only · Brier `null` on every 007 packet. +**Status:** DRAFT (operator review) · **Reconciled:** 2026-09-24 (PR #102) -This plan turns Spec 007 from a SHADOW Spark climb into a shippable Hyperlexical product. It does **not** flip `name_gate`. +**Naming:** repo **Hyperlex** = transitional shell. Public ingest = **ne0l0gist** (named). Public trained-model product = **Hyperlexical** — approved for pin `seed-morph78` (2026-09-24). Hermes skill ≠ Hyperlexical. SoT: `docs/NAMING.md`. ---- +**Hard locks:** `name_gate=true` for `seed-morph78` only (A6) · no Hub upload · no invented OBSERVED · upsample freeze **11+** · no `SECOND_SLOT=4` · schemes `positional|type_slot` only · Brier `null` on every 007 packet. -## Current honest state (2026-09-23) +This plan supersedes the 2026-09-23 draft (morph65 BEST, soft_ceiling ARMED, morph78 acquire empty). That draft was accurate on 2026-09-23 and remains in git history. Danny flipped `name_gate` for `seed-morph78` after this reconciliation (receipt `receipts/20260924-name-gate-yes-morph78.md`). -| Layer | State | -|-------|--------| -| Hermes skill (`SKILL.md`, CLI, `src/hyperlex/`) | **Ready** (v0.4.0; `pyproject.toml` aligned to `VERSION`) | -| Spec 007 shadow train/eval | **Ready enough to climb** — BEST=`seed-morph65`, E2 PASS on trained trunk | -| Force fair | **1.0** n=164 (classic promote wall) | -| soft_ceiling | **ARMED** — at fair 1.0, promote only if live broad OBSERVED **>** PRIOR morph65 (**0.88671875** n=256) + E2 | -| Gold path | morph78 acquire + residual reprobe → **empty gold**; `authorize val-settle` → **CANCELLED_EMPTY_GOLD** | -| Hyperlexical name / Hub / T13 promote into `src/hyperlex/` | **Blocked** | +## Current honest state -Verdict: skill is production-ready as a Hermes skill. The **Hyperlexical model product** is not — name wall, Hub, packaging, and live-gold path still open. +| Layer | State | Evidence | +|---|---|---| +| Hermes skill | **Ready** v0.4.0 | `VERSION`, `pyproject.toml` | +| Spec 007 lane | **SHADOW** | `spec.md`; code under `scripts/shadow/hyperlexical/` | +| Trained pin | **BEST=`seed-morph78`** | `receipts/morph78-val-settle-20260924/pin-promote-best.json` | +| Promotion | **PROMOTE_BEST**, soft_ceiling `ceiling_escape`, 2026-09-24 | `receipts/morph78-val-settle-20260924/GATE_LOCK.json` | +| Broad OBSERVED | **0.98828125** n=256 | `receipts/morph78-val-settle-20260924/broad-eval-morph78.json` | +| PRIOR | morph65 **0.88671875** n=256 (same live surface) | `receipts/morph78-val-settle-20260924/broad-eval-prior-morph65-at-finish.json` | +| E2 | **PASS** — trained trunk-forward, unbind_exact 1.0, n_unbind_eval 24 | `receipts/morph78-val-settle-20260924/e2-unbind-morph78.json` | +| Force fair (advisory at ceiling) | 1.0 n=164 | `receipts/morph78-val-settle-20260924/fair-eval-morph65-morph78.json` | +| Force/hard | **236 / 277** | `receipts/morph78-val-settle-20260924/ACQUIRE_SETTLE_SUMMARY.json` | +| soft_ceiling | **SPENT / CLOSED** for this climb | `receipts/20260924-morph78-soft-ceiling-promote-best.md` | +| E1 / E3 on `seed-morph78` | **NOT_COMPUTABLE** — no receipt | — | +| `name_gate` | **true** for `seed-morph78` (Danny 2026-09-24) | `receipts/20260924-name-gate-yes-morph78.md`, `amendments.md` A6 | +| Hub | unpublished | — | +| T13 | not authorized | — | ---- +Verdict: TRAIN and NAME are done for `seed-morph78`. What is left is card-identifier rename, publication, and integration authority. -## Product definition (what “complete” means) +## Product state machines -Hyperlexical is complete when all of the following are true: +These are independent. Do not collapse them into one "product ready" flag. -1. **Train artifact** — pinned BEST checkpoint on Spark with receipts (fair surface + E2 + soft_ceiling decide if armed). -2. **Eval gates** — E2 PASS on the pin; stub FAIL still expected; seed smoke ≠ T1. -3. **Dataset honesty** — OBSERVED only from settled/authorized gold; no invent; force-train / hard-atoms are operator JSONL, not SoT. -4. **Name** — Danny explicit yes flips `name_gate`; card may then be called Hyperlexical (not before). -5. **Publish** — Hub upload is a **named** operator action after name_gate; weights stay out of git until then. -6. **Operator surface** — infer CLI + packet schema + model card shipped; optional later T13 promote into `src/hyperlex/` (separate sentence). +| Machine | Path | Current | +|---|---|---| +| TRAIN | `UNTRAINED → TRAINED → E2_PASS → BEST_PINNED` | `BEST_PINNED(seed-morph78)` | +| NAME | `UNNAMED_PUBLICLY → NAME_GATE_APPROVED` | `NAME_GATE_APPROVED(seed-morph78)` | +| PUBLISH | `LOCAL_ONLY → CARD_READY → HUB_AUTHORIZED → HUB_PUBLISHED` | `LOCAL_ONLY` | +| INTEGRATION | `SHADOW → T13_AUTHORIZED → SRC_PROMOTED` | `SHADOW` | -Until (4), the artifact stays `hyperlex-encoder-*`. +Only an operator sentence advances NAME, PUBLISH past `CARD_READY`, or INTEGRATION. TRAIN advancing does not advance any other machine. ---- +## Definition of complete -## Workstreams - -### A. Climb / gold (Spark · soft_ceiling) +Hyperlexical is complete for this product cycle when: -| Step | Action | Exit | -|------|--------|------| -| A1 | Idle: do **not** re-burn empty settle / empty acquire | HOLD until named phrases | -| A2 | Operator `authorize morph78 …` or `authorize val-settle` **listing phrases**, **or** acquire that clears Jev `force_expand_safe` | Non-empty authorize card | -| A3 | Val-settle → force tip expand → fair baseline on new tip | Fair surface receipt | -| A4 | Train next morph under soft_ceiling; decide via `gate_soft_ceiling_decide.py` | PROMOTE or REJECT_VS_BEST | -| A5 | If PROMOTE: update BEST pin + PRIOR broad for next soft_ceiling compare | New BEST held | +1. a pinned BEST has receipts and E2 PASS; +2. dataset provenance remains honest (OBSERVED only from settled/authorized gold); +3. the model card reflects the live pin without inventing metrics; +4. Danny explicitly approves `name_gate`; +5. any Hub upload is separately authorized; +6. any T13 promotion is separately authorized and tested. -Constraints: upsample freeze 11+; no SECOND_SLOT=4; Qwen stopped unless re-enabled. +Item 4 is done. Card/package identifiers stay `hyperlex-encoder-*` until a separate rename change. -### B. Engineering hygiene (main / tip) +## Workstreams -| Step | Action | Exit | -|------|--------|------| -| B1 | Restore `apply_unbind_force_train` + tests on tip (#99 CI) | validate green (**done** · merged) | -| B2 | Align `VERSION` ↔ `pyproject.toml` version (0.4.0 vs 1.6.0 skew) | Single source of truth (**done** · 0.4.0) | -| B3 | Drop / quarantine stale probe files; scrub “E2 Spark-blocked” once trained E2 PASS is the pin | Docs match receipts (**done** on hygiene branch) | -| B4 | Keep force-train path env-only; val move ⇒ fair re-baseline | Receipt stats present | +### A. Training / gold — CLOSED FOR CURRENT CLIMB -### C. Product packaging (post–name_gate, separate authorize) +- [x] morph78 phrases settled OBSERVED `split=val`: `have fun staying poor`, `fr fr no cap` +- [x] force/hard 232/273 → 236/277 +- [x] broad comparison on the same n=256 surface: 0.98828125 > 0.88671875 +- [x] E2 PASS on `seed-morph78` +- [x] PROMOTE_BEST; Spark `BEST` → `seed-morph78` -| Step | Action | Exit | -|------|--------|------| -| C1 | Finalize `model-card.draft.md` / `hf-package/README.md` with pin metrics | Card ready, still no upload | -| C2 | Operator Hub upload sentence | Weights + card on Hub | -| C3 | Optional T13: promote shadow package into `src/hyperlex/` | Separate PR + tests | -| C4 | Flip `name_gate` only on Danny yes | Public Hyperlexical name | +**Rule:** do not start another climb without a new operator-authorized acquire/card. A future climb compares against morph78 as PRIOR. -### D. Adjacent Hyperlex PRs (skill track — not model name) +### B. Engineering hygiene -| PR | Role | Handle | -|----|------|--------| -| **#100** pytrends evidence | Skill route evidence | **Merged** to main. Independent of Hyperlexical name. | -| **#99** Spec 007 tip docs + climb | Model path | **Merged** to main. | -| **#95** HYPERLEX-Q1 | Epistemic interchange | Stay **draft**; rebase onto current `main`; remains UNQUALIFIED / pairwise BLOCKED. Spec-only. | +- [x] `VERSION` ↔ `pyproject.toml` = 0.4.0 +- [x] STATUS / NEXT_MOVES show morph78 +- [x] model-card publish shape updated from pre-train E2 wording (PR #102) +- [x] Notion Operator Hub has a 2026-09-24 morph78 block; 2026-09-23 block kept as history +- [x] operator-facing pages no longer present morph65 as current BEST (PR #102 audit) -Do **not** merge **#95** without explicit operator yes. +### C. Product packaging — post-`name_gate` ---- +- [ ] operator reviews this reconciled plan +- [x] Danny explicit `flip name_gate` (2026-09-24) +- [ ] card/package identifier rename (`hyperlex-encoder-*` → C31 `hyperlex-structure-149m` / Hyperlexical) + packet/schema `name_gate` field +- [ ] finalize public model card from pinned receipts +- [ ] separately authorize Hub upload, or explicitly close the cycle with no Hub +- [ ] optional T13 in a separate PR with tests -## Sequencing (recommended) +### D. Adjacent tracks (not product naming) -``` -B1 (CI fix) ──► #100 operator check + merge authorize - │ - ├──► A2–A5 climb under soft_ceiling (needs gold) - │ - ├──► B2–B3 hygiene on tip / follow-up PR - │ - └──► #95 rebase only (no qualify claim) +| Track | State | +|---|---| +| HYPERLEX-Q1 (#95) | draft · **UNQUALIFIED** until its own evidence/review gate clears | +| Hyperlex → Noesis pairwise qualification | **BLOCKED** on Q1 | +| #99 / #100 / #101 | merged | -When climb + packaging ready: - Danny name_gate yes ──► C1–C2 Hub ──► optional C3 T13 -``` +Q1 status is not a substitute for Spec 007 product completion, and Spec 007 progress does not qualify Q1. -Climb (A) and skill PR #100 can proceed in parallel. Name/Hub (C) never parallel-jumps ahead of Danny yes. +## Default recommendation ---- +**HOLD morph78.** NAME is done. Resolve card rename and PUBLISH before authorizing another training climb. ## Explicit non-goals -- Inventing OBSERVED fillers or empty-gold settles -- Hub upload or `name_gate` flip without Danny -- Warm-clone spam / upsample 11+ / SECOND_SLOT=4 -- Treating Hermes skill readiness as Hyperlexical product readiness -- Calling stub or seed smoke a T1 pass - ---- - -## Definition of done (product) - -- [ ] soft_ceiling path either PROMOTE’s a new BEST or operator closes climb with held morph65 -- [x] Tip CI green; force-train API present; version skew fixed -- [ ] Model card filled from live pin metrics -- [ ] Danny `name_gate` yes (or explicit hold) -- [ ] Hub upload done **or** explicit “no Hub this cycle” -- [x] STATUS / ROADMAP updated to match reality (no stale “E2 Spark-blocked” on operator ROADMAP once trained E2 PASS is the pin) - ---- +- restarting the completed morph78 climb +- inventing OBSERVED fillers or recycling settled phrases as new gold +- treating E2 PASS as naming authority +- Hub upload without a named operator action +- T13 without separate authorization +- changing Brier from `null` on 007 packets + +## Definition of done — current cycle + +- [x] BEST pinned: morph78 +- [x] trained E2 PASS +- [x] soft_ceiling climb closed +- [x] version hygiene +- [x] model card reflects live morph78 evidence (E1/E3 marked NOT_COMPUTABLE) +- [x] Notion Operator Hub parity +- [ ] operator product review +- [x] Danny `name_gate` decision — yes for `seed-morph78` +- [ ] card-rename decision +- [ ] Hub decision: upload authorized, or explicit no-Hub this cycle +- [ ] optional T13 decision ## Pointers -- Climb next: root `NEXT_MOVES_007.md` -- Name gate / named phrases: `NAME-GATE-AND-NAMED-PHRASES.md` -- Soft_ceiling receipts: `receipts/20260923-authorize-gate-soft-ceiling.md`, `receipts/gate-soft-ceiling-20260923/` -- Empty gold: `receipts/20260923-authorize-val-settle-cancelled-empty-gold.md` -- Gates: `milestones.md`, `spec.md`, `dual-use-gate.md` +- Name gate + phrases: `NAME-GATE-AND-NAMED-PHRASES.md` +- Next moves: root `NEXT_MOVES_007.md` +- Promote receipt: `receipts/20260924-morph78-soft-ceiling-promote-best.md` +- Historical gate authorize: `receipts/20260923-authorize-gate-soft-ceiling.md` diff --git a/specs/007-hyperlexical-model/NAME-GATE-AND-NAMED-PHRASES.md b/specs/007-hyperlexical-model/NAME-GATE-AND-NAMED-PHRASES.md index aaff553..cb00833 100644 --- a/specs/007-hyperlexical-model/NAME-GATE-AND-NAMED-PHRASES.md +++ b/specs/007-hyperlexical-model/NAME-GATE-AND-NAMED-PHRASES.md @@ -1,113 +1,84 @@ # Name gate + named phrases — operator plan -**Status:** DRAFT (does **not** flip `name_gate`) · **Date:** 2026-09-24 -**Locks:** `name_gate=false` · no Hub · no invented OBSERVED · upsample freeze **11+** · no `SECOND_SLOT=4` · soft_ceiling **ARMED** +**Status:** `name_gate` **FLIPPED** for `seed-morph78` (Danny, 2026-09-24, A6) · **Date:** 2026-09-24 +**Locks:** `name_gate=true` (morph78 only) · no Hub · no invented OBSERVED · upsample freeze **11+** · no `SECOND_SLOT=4` · soft_ceiling spent (morph78 BEST) -Companion to `HYPERLEXICAL-PRODUCT-PLAN.md` workstreams A (climb/gold) and C (post–name_gate packaging). +Companion to `HYPERLEXICAL-PRODUCT-PLAN.md`. -### Operator name (ingest) — 2026-09-24 +## Current product boundary — 2026-09-24 -Danny: **`name neologist as in repo`**. Public ingest product = **`ne0l0gist`** (repo spelling with zeros). Receipt: `receipts/20260924-name-ne0l0gist-as-in-repo.md`. This does **not** flip Hyperlexical `name_gate`. - ---- - -## Two walls (do not conflate) - -| Wall | What it gates | Current state | -|------|----------------|---------------| -| **Dataset name-gate buckets** (`milestones.md`) | Settled gold floors before *planning* a T1 name | Gaps **0 / 0 / 0** on operator `--include-live` (classify ≥2k / unbind ≥200 / negatives ≥200) | -| **`name_gate` flag** | Public **Hyperlexical** name + Hub/T13 packaging | **false** — Danny explicit yes required. Trained E2 PASS on Spark does **not** flip this. Ingest **`ne0l0gist`** is already named (separate product). | - -Volume readiness ≠ name. Seed smoke ≠ T1. Stub E2 FAIL remains expected. - ---- - -## Named phrases (gold authorize) - -Empty `authorize_card_phrases` → Jev **`cancel_empty_gold`**. Do not invent OBSERVED to fill a card. +- BEST = `seed-morph78` +- soft_ceiling climb = **CLOSED / SPENT** +- broad OBSERVED = **0.9883** n=256 +- PRIOR morph65 = **0.8867** n=256 +- trained trunk-forward E2 = **PASS** +- next climb = **not authorized** +- `name_gate=true` for `seed-morph78` (Danny `flip name_gate`) +- Hub = unpublished +- T13 = not authorized -### Last non-empty HOLD card (morph77 · already settled) +Receipt: `receipts/20260924-morph78-soft-ceiling-promote-best.md`. Do not re-run the completed morph78 climb as if it were pending work. -Receipt: `receipts/20260923-morph77-val-acquire-label-hold.md` · card `receipts/morph77-val-acquire-label-hold-20260923/HOLD_AUTHORIZE_CARD.json`. +### Operator name (ingest) -| # | phrase | lineage (card) | -|--:|--------|----------------| -| 1 | `we're so back` | brainrot-aura | -| 2 | `clutch up` | gaming-meta | -| 3 | `bet that up` | kinship-address | -| 4 | `real talk` | kinship-address | - -`authorize val-settle` on morph77 **kept** these as OBSERVED `split=val` and grew force/hard **224→232 / 265→273**. Train was **CANCELLED_FAIR_CEILING** (fair stayed 1.0 n=164). See `receipts/20260923-morph77-val-settle-cancelled-fair-ceiling.md`. - -**Do not re-authorize / re-settle these four** — they are already OBSERVED. Re-listing them as “new gold” would be inventing progress. - -### Empty cards (why morph78 settle cancelled) - -| card | `authorize_card_phrases` | -|------|--------------------------| -| morph78 fresh acquire | `[]` | -| morph65 live broad residual reprobe | `[]` | - -Operator bare `authorize val-settle` → **CANCELLED_EMPTY_GOLD** (`receipts/20260923-authorize-val-settle-cancelled-empty-gold.md`). Force tip remains morph77 **232/273**. Live broad prior **0.88671875** n=256. - -### Authorize sentence shapes (required) +Danny: **`name neologist as in repo`**. Public ingest product = **`ne0l0gist`** (repo spelling with zeros). Receipt: `receipts/20260924-name-ne0l0gist-as-in-repo.md`. This does **not** flip Hyperlexical `name_gate`. -One of: +## Two walls -1. **Named phrases on a live empty card** — operator lists exact norms from that card’s acquire/qualify pool (not from memory, not morph77’s already-settled four unless the new card independently contains them as unsettled AUTHORIZE): - - `authorize val-settle: , , …` - - `authorize morph78: , , …` -2. **New acquire** that clears Jev `force_expand_safe` with a non-empty `authorize_card_phrases` after `card_high_conf_new` (or equivalent), then explicit authorize listing those phrases. -3. **Climb without new force-only gold** — under soft_ceiling, fair = 1.0 path is **broad OBSERVED > PRIOR** live + E2 (`gate_soft_ceiling_decide.py`), not another force-only morph at n=164. +| Wall | Current state | +|------|---------------| +| Dataset readiness (`milestones.md`) | bucket gaps 0/0/0 on the operator `--include-live` surface | +| Public model name | **APPROVED** for `seed-morph78` (2026-09-24) | +| Publish (Hub) | **BLOCKED** — separate sentence | -Still forbidden: empty settle, invented OBSERVED, UPSAMPLE 11+, `SECOND_SLOT=4`. +Volume readiness ≠ public naming. E2 PASS ≠ public naming. Danny's sentence named it. ---- +## Gold / climb -## `name_gate` flip plan (Danny only) +morph78 is settled and promoted. Earlier empty-gold and morph77 cards are evidence, not reusable progress. -This section is a checklist. **No agent flips the flag.** +### Already OBSERVED — do not re-settle as new gold -### Preconditions (all must already be true or explicitly waved) +| phrase | settled by | receipt | +|--------|-----------|---------| +| `we're so back` | morph77 val-settle | `receipts/20260923-morph77-val-settle-cancelled-fair-ceiling.md` | +| `clutch up` | morph77 val-settle | same | +| `bet that up` | morph77 val-settle | same | +| `real talk` | morph77 val-settle | same | +| `have fun staying poor` | morph78 val-settle | `receipts/20260924-morph78-val-settle-soft-ceiling-inflight.md` | +| `fr fr no cap` | morph78 val-settle | same | -- [x] Dataset bucket gaps 0/0/0 on the harvest surface (met 2026-09-10) -- [x] Trained trunk-forward E2 PASS on pinned BEST (`seed-morph65`) -- [x] Soft_ceiling rule armed and documented; climb either PROMOTE’s a new BEST or operator closes on held morph65 -- [ ] Operator product review of `HYPERLEXICAL-PRODUCT-PLAN.md` -- [x] Hygiene B2–B3 landed (`VERSION` ↔ `pyproject.toml`; stale “E2 Spark-blocked” scrubbed from operator ROADMAP/STATUS copies) -- [ ] Danny sentence that explicitly says **`name_gate` yes** (or “name Hyperlexical”) +### Future climb (not authorized) -### On Danny yes (separate PRs / sentences) +A future climb needs a **new** acquire/authorize card and compares against morph78 as PRIOR (broad 0.9883 n=256 + E2). Accepted sentence shapes: -1. Set `name_gate` true in the locked operator surfaces only (STATUS / milestones note / dual-use gate as required by engineering.md) — not by silent agent edit. -2. Allow card rename path: `hyperlex-encoder-*` → Hyperlexical naming per `model-card.draft.md`. -3. Hub upload = **named** operator action (C2). Weights stay out of git until then. -4. Optional T13 promote of `scripts/shadow/hyperlexical/` into `src/hyperlex/` = separate authorize + tests. +1. Named phrases from that new card's acquire/qualify pool: `authorize val-settle: , , …` +2. A new acquire that clears Jev `force_expand_safe` with non-empty `authorize_card_phrases`, then explicit authorize listing those phrases. -### Explicit non-goals +Still forbidden: empty settle, invented OBSERVED, recycled settled phrases, UPSAMPLE 11+, `SECOND_SLOT=4`. -- Flipping `name_gate` because E2 PASS, volume, or soft_ceiling ARMED -- Treating morph77’s four settled phrases as a name_gate unlock -- Hub / T13 without Danny +## `name_gate` flip — done (Danny) ---- +Receipt: `receipts/20260924-name-gate-yes-morph78.md`. No agent flipped it without the sentence. -## Sequencing +- [x] Dataset bucket gaps 0/0/0 (met 2026-09-10) +- [x] Trained trunk-forward E2 PASS on `seed-morph78` +- [x] soft_ceiling climb closed with morph78 PROMOTE_BEST +- [x] Hygiene: `VERSION` ↔ `pyproject.toml`; stale "E2 Spark-blocked" current-state wording scrubbed (PR #102) +- [x] Product-state reconciliation drafted (PR #102) +- [ ] Operator product review of `HYPERLEXICAL-PRODUCT-PLAN.md` — not separately recorded; Danny flipped without it +- [x] Danny explicit `flip name_gate` (2026-09-24) -``` -Hygiene (this branch) ──► operator review product plan - │ - ├──► named-phrase authorize OR new force_expand_safe acquire ──► soft_ceiling decide - │ - └──► Danny name_gate yes (only when ready) ──► card / Hub / optional T13 -``` +Actions stay separate: ---- +1. change governed `name_gate` surfaces — **done** (A6); +2. update public card naming (`hyperlex-encoder-*` → Hyperlexical per `model-card.draft.md`); +3. Hub upload only on a separate named operator action; +4. optional T13 only on separate authorization + tests. ## Pointers - Product plan: `HYPERLEXICAL-PRODUCT-PLAN.md` -- Climb next: root `NEXT_MOVES_007.md` · this pack `NEXT_MOVES_007.md` -- morph77 card: `receipts/morph77-val-acquire-label-hold-20260923/` -- Empty morph78: `receipts/20260923-morph78-fresh-acquire-hold-empty.md` -- Soft ceiling: `receipts/20260923-authorize-gate-soft-ceiling.md` +- Current climb state: root `NEXT_MOVES_007.md` +- Naming SoT: `docs/NAMING.md` +- Historical (2026-09-23): `receipts/20260923-authorize-gate-soft-ceiling.md` · `receipts/20260923-morph78-fresh-acquire-hold-empty.md` · `receipts/morph77-val-acquire-label-hold-20260923/` diff --git a/specs/007-hyperlexical-model/NEXT_MOVES_007.md b/specs/007-hyperlexical-model/NEXT_MOVES_007.md index d24a363..f945db0 100644 --- a/specs/007-hyperlexical-model/NEXT_MOVES_007.md +++ b/specs/007-hyperlexical-model/NEXT_MOVES_007.md @@ -1,16 +1,22 @@ -# Spec 007 — next: soft_ceiling armed · #101 on main +# Spec 007 — next: morph78 is BEST and named Hyperlexical -`name_gate=false`. BEST=**morph65** (held). - -Mirror of root `NEXT_MOVES_007.md`. +`name_gate` **true** for `seed-morph78` (Danny `flip name_gate`, 2026-09-24, amendment A6). BEST=**morph78**. Upsample freeze = **11+**. Do not run SECOND_SLOT=4. ## Done -- **#101** merged to main (hygiene + ne0l0gist naming lock) -- **#95** stays draft/UNQUALIFIED +- morph78 named phrases settled · force/hard **236/277** · soft_ceiling train complete. +- **PROMOTE_BEST** (ceiling_escape): broad **0.9883** > PRIOR morph65 **0.8867** n=256 + E2 PASS. +- Danny **`flip name_gate`** → `seed-morph78` may be called **Hyperlexical** (receipt `specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md`). + +## Gate + +soft_ceiling **spent** for this climb (morph78 now PRIOR/BEST). Further climbs need a new authorize/acquire card. + +## Next (each a separate operator sentence) -## Next +1. Card rename: `hyperlex-encoder-*` identifiers → Hyperlexical / `hyperlex-structure-149m` (C31) and packet/schema `name_gate` field. +2. Hub upload — still not authorized. +3. Optional T13 (promote `scripts/shadow/hyperlexical/` into `src/hyperlex/`). +4. HOLD morph78; no new climb without a new card. -1. Named-phrase authorize or new `force_expand_safe` acquire -2. Optional `push-org` only with explicit authorize -3. No empty settles · no `name_gate` flip +Qwen stays stopped unless re-enabled. From adf3c3088f8c0737861cfd354c3b9ba2c3ebcfa9 Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Thu, 24 Sep 2026 11:41:59 -0700 Subject: [PATCH 5/7] sync: graft personal name_gate yes (seed-morph78, A6) + morph78 promote receipts --- specs/007-hyperlexical-model/amendments.md | 27 +++++++++++++++++++ specs/007-hyperlexical-model/engineering.md | 2 +- specs/007-hyperlexical-model/milestones.md | 2 +- .../model-card.draft.md | 9 +++++++ 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 specs/007-hyperlexical-model/amendments.md create mode 100644 specs/007-hyperlexical-model/model-card.draft.md diff --git a/specs/007-hyperlexical-model/amendments.md b/specs/007-hyperlexical-model/amendments.md new file mode 100644 index 0000000..43b158c --- /dev/null +++ b/specs/007-hyperlexical-model/amendments.md @@ -0,0 +1,27 @@ +# Amendments 007 + +## A1 — C6 ceiling 150M +T1 ≤ 150M. + +## A2 — freeze trunk ModernBERT-base +`answerdotai/ModernBERT-base`. + +## A3 — U3 specify lock +C33–C40. + +## A4 — keepable train layout (2026-09-09) +C41–C46. Freeze last-2. Classify + token-state unbind heads. Values still from Spark. + +## A5 — milestones + engineering guidelines (2026-09-10) +Notion-first, then disk. +- `milestones.md` — name-gate 2k/200/200, T0/T1/T2 pointer, R2 exit. Does not fork locked spec tiers. +- `engineering.md` — classify / files / merge / Spark-later rules. +- Notion: https://app.notion.com/p/3d73e8ba2f5c81e9aac1e7dc992e3481 · https://app.notion.com/p/3d73e8ba2f5c813db326e3f68ac77ee9 +Does not train. Does not set `name_gate`. Does not open 006 or 008. + +## A6 — `name_gate` yes for `seed-morph78` (2026-09-24) +Danny: **`flip name_gate`**. Receipt: `receipts/20260924-name-gate-yes-morph78.md`. +- Sets product-level `name_gate=true` for pin `seed-morph78` only. That pin may be called **Hyperlexical**. +- Basis: T1 tier (`milestones.md`) — ModernBERT-base trunk (A2, ≤150M per A1), unbind heads, trained E2 PASS vs Spec 004 probe; dataset buckets 0/0/0; soft_ceiling PROMOTE_BEST. +- Amends `engineering.md` merge rule: a PR may set `name_gate` true only when it records a Danny yes as an amendment (this one). +- Does not rename card/package identifiers (`hyperlex-encoder-*`; C31 target `hyperlex-structure-149m`), does not change SHADOW packet/schema `name_gate` fields, does not authorize Hub upload or T13, does not start a climb. diff --git a/specs/007-hyperlexical-model/engineering.md b/specs/007-hyperlexical-model/engineering.md index 71bbe7c..2678b27 100644 --- a/specs/007-hyperlexical-model/engineering.md +++ b/specs/007-hyperlexical-model/engineering.md @@ -35,7 +35,7 @@ Detector over generator. Dual-use wall copied from 001/003/007. ## Merge - Honesty PRs may lower counts. That is a pass, not a regression. -- Do not merge a PR that sets `name_gate` true. +- Do not merge a PR that sets `name_gate` true unless it records a Danny yes as an amendment (A6: `seed-morph78`, 2026-09-24). - Do not merge mock analyze as gold. - 008 stays a sibling. No sacred-object implement from a 007 classify branch. diff --git a/specs/007-hyperlexical-model/milestones.md b/specs/007-hyperlexical-model/milestones.md index b154286..d3789aa 100644 --- a/specs/007-hyperlexical-model/milestones.md +++ b/specs/007-hyperlexical-model/milestones.md @@ -22,7 +22,7 @@ Operator-settled gold only. | negatives | 200 | - OBSERVED only after settle. Harvest / tap / weak-tag mapper stay INFERRED. -- Dataset buckets above are the floor to *plan* a T1 name. The public `name_gate` flag stays false until Danny yes (E2 PASS alone does not flip). +- Dataset buckets above are the floor to *plan* a T1 name. The public `name_gate` flag stays false until Danny yes (E2 PASS alone does not flip). Danny yes recorded 2026-09-24 for `seed-morph78` (A6). - Weak harvest inflation is not progress against 2k. Minimum to *plan* implement remains 200 / 40 / 50 (`spec.md` dataset contract). diff --git a/specs/007-hyperlexical-model/model-card.draft.md b/specs/007-hyperlexical-model/model-card.draft.md new file mode 100644 index 0000000..7964f09 --- /dev/null +++ b/specs/007-hyperlexical-model/model-card.draft.md @@ -0,0 +1,9 @@ +# Model card + +Canonical draft for Hub shape: `hf-package/README.md`. + +**Current trained pin:** `seed-morph78` · soft_ceiling `PROMOTE_BEST` 2026-09-24 · broad OBSERVED **0.9883** n=256 vs PRIOR morph65 **0.8867** n=256 · trained trunk-forward E2 **PASS**. Receipt: `receipts/20260924-morph78-soft-ceiling-promote-best.md`. E1/E3 on this pin: NOT_COMPUTABLE. + +**Name:** `name_gate` **true** for `seed-morph78` (Danny `flip name_gate`, 2026-09-24, amendment A6). This pin may be called **Hyperlexical**. + +Do not upload (Hub not authorized). Publish-shape identifiers stay `hyperlex-encoder-*` until a separate card-rename change (locked C31 target: `hyperlex-structure-149m`). Weights stay off git. From 7e6922012de3ad926108c268cc92e970855a668c Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Thu, 24 Sep 2026 11:42:51 -0700 Subject: [PATCH 6/7] sync: graft personal name_gate yes (seed-morph78, A6) + morph78 promote receipts --- ...60924-morph78-soft-ceiling-promote-best.md | 32 +++++++++++++++++++ ...orph78-val-settle-soft-ceiling-inflight.md | 30 +++++++++++++++++ .../20260924-name-gate-yes-morph78.md | 27 ++++++++++++++++ .../morph78-val-settle-20260924/METHOD.md | 5 +++ .../PROMOTE_BEST.md | 4 +++ .../morph78-val-settle-20260924/STATUS.txt | 1 + specs/007-hyperlexical-model/status.md | 13 ++++---- specs/007-hyperlexical-model/tasks.md | 5 +-- 8 files changed, 109 insertions(+), 8 deletions(-) create mode 100644 specs/007-hyperlexical-model/receipts/20260924-morph78-soft-ceiling-promote-best.md create mode 100644 specs/007-hyperlexical-model/receipts/20260924-morph78-val-settle-soft-ceiling-inflight.md create mode 100644 specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md create mode 100644 specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/METHOD.md create mode 100644 specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/PROMOTE_BEST.md create mode 100644 specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/STATUS.txt diff --git a/specs/007-hyperlexical-model/receipts/20260924-morph78-soft-ceiling-promote-best.md b/specs/007-hyperlexical-model/receipts/20260924-morph78-soft-ceiling-promote-best.md new file mode 100644 index 0000000..93a839e --- /dev/null +++ b/specs/007-hyperlexical-model/receipts/20260924-morph78-soft-ceiling-promote-best.md @@ -0,0 +1,32 @@ +# morph78 soft_ceiling PROMOTE_BEST (2026-09-24) + +**Authority:** operator `name phrases` → settle → soft_ceiling train; finish completed 2026-09-24T16:11Z. + +## Verdict + +**PROMOTE_BEST** · gate `soft_ceiling_tiebreak` · mode `ceiling_escape` + +| Surface | Score | +|---------|------:| +| Force fair (advisory) | 1.0 n=164 | +| Train best unbind_exact | **1.0** (ep15) | +| E2 trunk-forward | **PASS** (unbind_exact 1.0) | +| PRIOR morph65 broad OBSERVED | 0.88671875 n=256 | +| Candidate morph78 broad OBSERVED | **0.98828125** n=256 | + +Reason: `broad 0.98828125 > baseline 0.88671875 (src=live_prior_broad) n=256 + E2`. + +## BEST + +Spark `~/.hyperlex/models/BEST` → `hyperlex-encoder-modernbert-base-seed-morph78`. Prior BEST morph65 preserved on disk. + +## Settled gold (this morph) + +`have fun staying poor`, `fr fr no cap` — OBSERVED `split=val`. Force/hard **236/277**. + +## Explicit non-goals + +- **`name_gate` stays false** — no Hyperlexical public name / Hub / T13. +- No invent OBSERVED beyond the named phrases. + +Artifacts: `receipts/morph78-val-settle-20260924/`. diff --git a/specs/007-hyperlexical-model/receipts/20260924-morph78-val-settle-soft-ceiling-inflight.md b/specs/007-hyperlexical-model/receipts/20260924-morph78-val-settle-soft-ceiling-inflight.md new file mode 100644 index 0000000..8a56750 --- /dev/null +++ b/specs/007-hyperlexical-model/receipts/20260924-morph78-val-settle-soft-ceiling-inflight.md @@ -0,0 +1,30 @@ +# morph78 authorize name phrases — val-settle + soft_ceiling IN_FLIGHT (2026-09-24) + +**Authority:** operator `push-org then name phrases` → `continue`. + +## Settle (kept) + +| | | +|--|--| +| Phrases | `have fun staying poor`, `fr fr no cap` (split=val) | +| SoT | INFERRED→**OBSERVED** via `PACKET_SETTLE morph78 val-settle` | +| Force | **232 → 236** (+4 dual-scheme) | +| Hard | **273 → 277** (+4) | +| Fair morph65 | **1.0** n=164 (unchanged) | + +Artifacts: `receipts/morph78-val-settle-20260924/`. + +## Gate + +soft_ceiling **ARMED** → **SOFT_CEILING_CONTINUE** (not CANCELLED_FAIR_CEILING). Train launched. + +| | | +|--|--| +| Container | `hlx-train-morph78-1790221699` | +| Warm | morph65 + `INIT_EXPAND_VOCAB=1` | +| Finish | E2 + PRIOR broad + candidate broad → `finish_morph78.py` / soft_ceiling decide | +| `name_gate` | **false** | + +## Explicit exclusions + +Morph77’s four not re-settled. No Hub. Upsample freeze 11+. No `SECOND_SLOT=4`. diff --git a/specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md b/specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md new file mode 100644 index 0000000..645de12 --- /dev/null +++ b/specs/007-hyperlexical-model/receipts/20260924-name-gate-yes-morph78.md @@ -0,0 +1,27 @@ +# `name_gate` yes — `seed-morph78` (2026-09-24) + +**Operator:** Danny · **Sentence:** `flip name_gate` · **Amendment:** A6 (`amendments.md`) + +## Decision + +Product-level `name_gate=true` for pin **`seed-morph78`**. That pin may be called **Hyperlexical**. + +## Basis (receipts, not re-run) + +| Requirement | Evidence | +|---|---| +| T1 tier: ModernBERT-base trunk (A2), unbind heads | `receipts/morph78-val-settle-20260924/train-receipt.json` (`trunk: answerdotai/ModernBERT-base`) | +| Trained E2 vs Spec 004 probe | `receipts/morph78-val-settle-20260924/e2-unbind-morph78.json` — `e2_pass: true`, unbind_exact 1.0, trunk_forward | +| BEST pinned | `receipts/20260924-morph78-soft-ceiling-promote-best.md` — PROMOTE_BEST, broad 0.98828125 vs 0.88671875 n=256 | +| Dataset buckets | `milestones.md` — gaps 0/0/0 | +| Danny explicit yes | this sentence | + +Operator product review of `HYPERLEXICAL-PRODUCT-PLAN.md` was not separately recorded before the flip. + +## Scope — what this does not do + +- No card/package identifier rename. `hyperlex-encoder-*` stays until a separate change (locked C31 target `hyperlex-structure-149m`). +- No change to SHADOW packet/schema `name_gate` fields. Code and `schemas/eval_unbind.v0.1.schema.json` / `contracts/training/v1.schema.json` still emit and require `false` per packet; reconciling them is part of the rename change. +- No Hub upload. No T13. No new climb. Brier stays `null`. +- Earlier receipts (including the morph78 promote receipt, which records `name_gate=false` at promote time) are unchanged. +- Applies to `seed-morph78` only. No other checkpoint, stub, seed smoke or harvest dump is Hyperlexical. diff --git a/specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/METHOD.md b/specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/METHOD.md new file mode 100644 index 0000000..61ddc68 --- /dev/null +++ b/specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/METHOD.md @@ -0,0 +1,5 @@ +# morph78 val-settle — method + +**Authority:** operator 2026-09-24 name phrases — authorize morph78 have fun staying poor / fr fr no cap (split=val) + +ONE knob: settle HOLD card phrases as OBSERVED with **split=val**, dual-scheme force/hard expand from morph77 tip. Warm morph65 + INIT_EXPAND_VOCAB=1. UPSAMPLE=10 / SECOND_SLOT=2 / LAST=8. Cancel if fair ceiling 1.0 with n unchanged. diff --git a/specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/PROMOTE_BEST.md b/specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/PROMOTE_BEST.md new file mode 100644 index 0000000..7639ac6 --- /dev/null +++ b/specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/PROMOTE_BEST.md @@ -0,0 +1,4 @@ +# morph78 PROMOTE BEST (soft_ceiling) + +mode=ceiling_escape decision=PROMOTE_BEST +ceiling escape: broad 0.98828125 > baseline 0.88671875 (src=live_prior_broad) n=256 + E2 (force_fair=1.0 advisory) diff --git a/specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/STATUS.txt b/specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/STATUS.txt new file mode 100644 index 0000000..42f0a76 --- /dev/null +++ b/specs/007-hyperlexical-model/receipts/morph78-val-settle-20260924/STATUS.txt @@ -0,0 +1 @@ +PROMOTE_BEST diff --git a/specs/007-hyperlexical-model/status.md b/specs/007-hyperlexical-model/status.md index e60fffe..ae72bc9 100644 --- a/specs/007-hyperlexical-model/status.md +++ b/specs/007-hyperlexical-model/status.md @@ -1,6 +1,6 @@ # Status 007 — 2026-09-24 -**Naming:** this file is the **Hyperlexical** model path. Harvest / live ingest is **ne0l0gist**. Repo **Hyperlex** is the transitional shell. `name_gate` remains false. +**Naming:** this file is the **Hyperlexical** model path. Harvest / live ingest is **ne0l0gist**. Repo **Hyperlex** is the transitional shell. `name_gate` **true** for `seed-morph78` (Danny `flip name_gate`, 2026-09-24, amendment A6). Specify is locked through C52 + A5. Implement U1–U3 harness is on `main`. SHADOW / advisory. @@ -16,20 +16,21 @@ Operator scoreboard (Danny-locked harvest snapshot **2026-09-10**; climb pin **2 |------|-------| | C1–C52 + A5 | locked | | U1 stub infer | on `main` | -| U2 harvest | landed; live SoT is local-only; `name_gate` false | +| U2 harvest | landed; live SoT is local-only; harvest does not set `name_gate` | | Danny ~2500 candidate bar | **met** | | Hermes 913 / gap-to-2500 | **superseded** — not current | | U3 eval harness | on `main`; stub E2 fail (expected) | -| U3 Spark train | BEST=`seed-morph65`; force fair **1.0** n=164; soft_ceiling **ARMED**; trained trunk-forward E2 **PASS** | -| `name_gate` | **false** — Danny yes required. E2 PASS ≠ flip. | +| U3 Spark train | BEST=`seed-morph78` (soft_ceiling PROMOTE_BEST; broad 0.9883 n=256); force fair **1.0** n=164; trained trunk-forward E2 **PASS** | +| `name_gate` | **true** for `seed-morph78` — Danny yes 2026-09-24 (A6; `receipts/20260924-name-gate-yes-morph78.md`) | | Hub upload | blocked (C11, C40) | | 006 IsA | closed | | Families | **8** only | Next operator sentences that do work: -- Authorize with **named phrases** on a live empty card, or new `force_expand_safe` acquire — see `NAME-GATE-AND-NAMED-PHRASES.md` -- soft_ceiling decide / broad OBSERVED path (not force-only at fair 1.0 n=164) +- Default: **HOLD** `seed-morph78`; operator product review of `HYPERLEXICAL-PRODUCT-PLAN.md` +- Card rename decision; Hub decision; optional T13 decision (each separate). `name_gate` done. +- A new climb only on a new named-phrase acquire card vs morph78 PRIOR — see `NAME-GATE-AND-NAMED-PHRASES.md` - `open 006 IsA` — separate spec There is no further specify work on 007 without an amendment. diff --git a/specs/007-hyperlexical-model/tasks.md b/specs/007-hyperlexical-model/tasks.md index b31fe78..9e35eb8 100644 --- a/specs/007-hyperlexical-model/tasks.md +++ b/specs/007-hyperlexical-model/tasks.md @@ -33,10 +33,11 @@ Live counts stay on Notion Tasks 007. Do not rewrite gates when a harvest number - [x] name_gate dataset gaps 0/0/0 — flag still false until Danny yes - [x] No OBSERVED promote from tap +- [x] `name_gate` flipped for `seed-morph78` (Danny yes 2026-09-24, amendment A6) + ## Explicitly not done - Hub card upload / T8 - Load ModernBERT in CI -- Flip `name_gate` (Danny yes) - Open 006 -- Force-only climb past morph65 fair 1.0 n=164 (soft_ceiling armed instead) +- Force-only climb at fair 1.0 n=164 (soft_ceiling used instead; that climb closed with morph78 PROMOTE_BEST 2026-09-24) From 9201b3c9de557dc5637b51b1943a3f531eeb9c91 Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Thu, 24 Sep 2026 11:43:08 -0700 Subject: [PATCH 7/7] sync: graft personal name_gate yes (seed-morph78, A6) + morph78 promote receipts --- ...20260924-authorize-name-phrases-morph78.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 specs/007-hyperlexical-model/receipts/20260924-authorize-name-phrases-morph78.md diff --git a/specs/007-hyperlexical-model/receipts/20260924-authorize-name-phrases-morph78.md b/specs/007-hyperlexical-model/receipts/20260924-authorize-name-phrases-morph78.md new file mode 100644 index 0000000..52b4903 --- /dev/null +++ b/specs/007-hyperlexical-model/receipts/20260924-authorize-name-phrases-morph78.md @@ -0,0 +1,37 @@ +# authorize name phrases — morph78 (2026-09-24) + +**Authority:** operator `push-org then name phrases` (after org #14 merge). + +## Interpretation + +`name phrases` = explicit override naming phrases on the live morph78 HOLD card +(`receipts/morph78-fresh-acquire-label-hold-20260923/morph78_HOLD_AUTHORIZE_CARD.json`). + +Sentence shape recorded: + +``` +authorize morph78: have fun staying poor, fr fr no cap +``` + +## Phrases (from card pool — not invented) + +| # | norm | lineage | prior Jev | card conf | +|--:|------|---------|-----------|----------:| +| 1 | `have fun staying poor` | crypto-degen | force_expand_safe | 0.25 | +| 2 | `fr fr no cap` | kinship-address | force_expand_safe | 0.22 | + +Source field: `jev_revisit77_safe_new` (below `card_high_conf_new` threshold 0.40 — empty card previously; operator override fills authorize list). + +## Explicit exclusions + +Do **not** re-settle morph77’s already OBSERVED four: `we're so back`, `clutch up`, `bet that up`, `real talk`. + +Do **not** invent OBSERVED from the 35× `defer_quality` pool without a separate named list. + +## Next (Spark) + +1. `PACKET_SETTLE` / val-settle these 2 as OBSERVED `split=val` on operator SoT. +2. Force/hard expand from morph77 tip (232/273). +3. soft_ceiling decide (broad OBSERVED > PRIOR live + E2) — fair may stay 1.0 n=164. + +`name_gate` remains **false**. This authorize does **not** flip Hyperlexical naming.