From 6c65d7e39d7274938affff147efb7770bddcfc40 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Tue, 21 Jul 2026 13:21:17 +0100 Subject: [PATCH] Record GNPL re-scope: narration/projection, core-factor/gql superseded The migration record and the live command sheet still describe GNPL as a rename of the "Glyph query language", extracted from two paths. Both are now wrong in ways an agent could act on. Measured, not inferred: * `lithoglyph/gql-dt/` HAS been extracted -- `hyperpolymath/gnpl` `102c79e` (PR #4). MOVED.md still filed gnpl under "migration pending". * `lithoglyph/core-factor/gql/` has NOT been extracted and will not be. It is 5 Factor files (gql, lexer-tests, seam-tests, storage-backend, benchmarks) and `gnpl` contains zero `.factor` files. That second gap is now a settled decision rather than an omission. GNPL has been re-scoped as a narration/projection language -- "what account does this evidence support, told from whose stance, with what warrant" -- built as a layer on top of GQLdt and lowering to it: GNPL --lowers to--> GQLdt --FFI--> Lithoglyph `core-factor/gql/` was the runtime/dynamic counterpart to GQLdt's compile-time proofs. A typed narration layer lowering to GQLdt supersedes it, so it stays in the monorepo as legacy. Changes: * `lithoglyph/MOVED.md` -- splits extracted from not-extracted; records that the gql-dt copy here is no longer canonical; states the core-factor/gql supersession and why. * `REGISTRY.adoc` -- splits the old combined row into GQLdt (nested in gnpl, canonical, builds) and GNPL (narration/projection). Adds a note recording the re-scope and its consequences. * `RESITE-DATABASES-TO-OWN-REPOS.adoc` -- table row split; the gnpl decision marked DONE with the re-scope recorded as a follow-on decision; un-nest order corrected. * `RESITE-CODEX-HANDOFF.adoc` -- **the load-bearing fix.** This is the copy-paste command sheet. Step 1d would have run `git filter-repo` over two paths and pushed to `hyperpolymath/gnpl`, which is already populated. Marked DONE / DO NOT RUN, commands commented out, and the step-0 sanity `ls` no longer requires paths that are gone or staying. Step 1e no longer drops `core-factor/gql/` from the slimmed parent -- it was superseded, not extracted, so it belongs there. Also notes that the gnpl extract was a squash, so granular history for that path survives only in the `_split_gnpl` branch, which must not be pruned. Companion PR: hyperpolymath/gnpl#6. Co-Authored-By: Claude Opus 4.8 --- REGISTRY.adoc | 30 +++++++++++++- docs/migration/RESITE-CODEX-HANDOFF.adoc | 39 ++++++++++++++----- .../RESITE-DATABASES-TO-OWN-REPOS.adoc | 17 ++++++-- lithoglyph/MOVED.md | 39 ++++++++++++++----- 4 files changed, 99 insertions(+), 26 deletions(-) diff --git a/REGISTRY.adoc b/REGISTRY.adoc index 1ddce125..ce132c6b 100644 --- a/REGISTRY.adoc +++ b/REGISTRY.adoc @@ -20,7 +20,7 @@ Resite: decisions finalised; execution per |=== | Database | Repository | Status | Query language (repo) | VeriSimDB (cross-modal consistency) | hyperpolymath/verisimdb | exists (canonical) | VCL — nested in verisimdb -| Lithoglyph (narrative-first) | hyperpolymath/lithoglyph | to create | GNPL — hyperpolymath/gnpl +| Lithoglyph (narrative-first) | hyperpolymath/lithoglyph | to create | GNPL (narration/projection, over GQLdt) — hyperpolymath/gnpl (exists) | Glyphbase (Lithoglyph web UI) | hyperpolymath/glyphbase | to create | — | QuandleDB (knot-theory) | hyperpolymath/quandledb | exists (canonical) | KRL — hyperpolymath/krl |=== @@ -32,11 +32,37 @@ Resite: decisions finalised; execution per | Language | Repository | Status | Notes | VCL (Verified Consonance Language) | (in hyperpolymath/verisimdb) | exists | Production; stays nested in verisimdb | VCL-UT (usage-tracked extension) | hyperpolymath/vcl-ut | exists (canonical) | Maps to `typeql-experimental/`; reconcile + delete copy -| GNPL / GQL (Glyph query language) | hyperpolymath/gnpl | to create | From `lithoglyph/gql-dt/` + `lithoglyph/core-factor/gql/` +| GQLdt (dependently-typed Glyph query language) | (in hyperpolymath/gnpl) | exists (canonical) | Extracted from `lithoglyph/gql-dt/`; `lake build` green. Stays nested in `gnpl` as GNPL's lowering target +| GNPL (narration/projection language) | hyperpolymath/gnpl | exists (canonical) | *Not* a query language — see note below | KRL (Knot query language) | hyperpolymath/krl | exists (canonical) | No KRL content in this monorepo | NQC (Nested Query Calculus) | hyperpolymath/nqc | to create | Already standalone in `nqc/` (Gleam) |=== +[NOTE] +==== +*GNPL was re-scoped, 2026-07-21.* This registry previously recorded it as +"GNPL / GQL (Glyph query language)" — i.e. a rename of GQL/GQL-dt, sourced from +`lithoglyph/gql-dt/` *plus* `lithoglyph/core-factor/gql/`. That reading is superseded. + +GNPL is a *narration/projection* language: it answers "what account does this evidence +support, told from whose stance, with what warrant", not "what is true in the store". +It is being built as a layer *on top of* GQLdt in the `gnpl` repo and lowers to it: + + GNPL --lowers to--> GQLdt --FFI--> Lithoglyph + +Consequences for this registry: + +* `lithoglyph/gql-dt/` was extracted to `gnpl` and is no longer canonical here. +* `lithoglyph/core-factor/gql/` (5 Factor files) was *never* migrated and will not be. + It was the runtime/dynamic counterpart to GQLdt's compile-time proofs, and a typed + narration layer lowering to GQLdt supersedes it. It stays here as legacy. +* `docs/migration/RESITE-DATABASES-TO-OWN-REPOS.adoc` is amended accordingly; see + `lithoglyph/MOVED.md`. + +Rationale: https://github.com/hyperpolymath/gnpl/blob/main/docs/THEORY.adoc (the general +case) and `docs/LITHOGLYPH.adoc` (what it gives Lithoglyph specifically). +==== + == VeriSim satellites [cols="1,2",options=header] diff --git a/docs/migration/RESITE-CODEX-HANDOFF.adoc b/docs/migration/RESITE-CODEX-HANDOFF.adoc index 01dea201..8d74dbad 100644 --- a/docs/migration/RESITE-CODEX-HANDOFF.adoc +++ b/docs/migration/RESITE-CODEX-HANDOFF.adoc @@ -36,7 +36,8 @@ If any check fails, STOP and report exactly which access is missing. Do not work | `nqc/` | hyperpolymath/nqc | create | extract as-is | `verisim-core/` | hyperpolymath/VerisimCore.jl | create | extract (Julia package) | `lithoglyph/glyphbase/` | hyperpolymath/glyphbase | create | un-nest -| `lithoglyph/gql-dt/` + `lithoglyph/core-factor/gql/` | hyperpolymath/gnpl | create | un-nest (2 paths) +| `lithoglyph/gql-dt/` | hyperpolymath/gnpl | *exists, populated* | *DONE — do not re-run* +| `lithoglyph/core-factor/gql/` | — | n/a | *superseded — do NOT migrate* | `lithoglyph/` (minus the two above) | hyperpolymath/lithoglyph | create | slimmed parent | `typeql-experimental/` | hyperpolymath/vcl-ut | exists | reconcile -> delete copy | `quandledb/` (stub) | hyperpolymath/quandledb | exists | reconcile -> delete copy @@ -53,7 +54,8 @@ gh auth status git clone https://github.com/hyperpolymath/nextgen-databases /tmp/ngdb cd /tmp/ngdb && git rev-parse HEAD # record baseline SHA in your final report # sanity-check the un-nest subpaths exist before extracting: -ls -d lithoglyph/glyphbase lithoglyph/gql-dt lithoglyph/core-factor/gql +ls -d lithoglyph/glyphbase # gql-dt/ is already extracted (step 1d is DONE); + # core-factor/gql/ is superseded and stays put ---- == Step 1 — create + populate NEW repos (no risk to existing) @@ -93,15 +95,30 @@ extract lithoglyph/glyphbase/ glyphbase publish /tmp/glyphbase hyperpolymath/glyphbase "Glyphbase — Lithoglyph web UI / data layer" ---- -=== 1d. gnpl (un-nest, two source paths) +=== 1d. gnpl — *DONE, DO NOT RUN* + +[WARNING] +==== +`hyperpolymath/gnpl` *already exists and is populated* — `lithoglyph/gql-dt/` landed as +squash-import `102c79e` (PR #4). Running the commands below would push over live content. +They are retained only as a record of what was executed. + +Two amendments to what was originally planned: + +. Only `gql-dt/` moved. `core-factor/gql/` is *superseded, not migrated* — GNPL is a + narration/projection language layered over GQLdt, which supersedes the Factor runtime + counterpart. The Factor sources stay in the monorepo as legacy. +. The extract was a *squash*, so granular history for this path lives only in the + `_split_gnpl` branch. Do not prune it. +==== + [source,sh] ---- -rm -rf /tmp/gnpl && git clone --no-local /tmp/ngdb /tmp/gnpl -( cd /tmp/gnpl && git filter-repo \ - --path lithoglyph/gql-dt/ --path lithoglyph/core-factor/gql/ \ - --path-rename lithoglyph/gql-dt/:gql-dt/ \ - --path-rename lithoglyph/core-factor/gql/:core-factor-gql/ ) -publish /tmp/gnpl hyperpolymath/gnpl "GNPL — Glyph query language (dependently-typed)" +# HISTORICAL — already executed. Do not re-run. +# rm -rf /tmp/gnpl && git clone --no-local /tmp/ngdb /tmp/gnpl +# ( cd /tmp/gnpl && git filter-repo \ +# --path lithoglyph/gql-dt/ --path-rename lithoglyph/gql-dt/:gql-dt/ ) +# publish /tmp/gnpl hyperpolymath/gnpl "GNPL — Lithoglyph's narration/projection language" ---- === 1e. lithoglyph (slimmed: drop the un-nested subdirs; two filter-repo passes) @@ -110,7 +127,9 @@ publish /tmp/gnpl hyperpolymath/gnpl "GNPL — Glyph query language (dependently rm -rf /tmp/lithoglyph && git clone --no-local /tmp/ngdb /tmp/lithoglyph ( cd /tmp/lithoglyph \ && git filter-repo --path lithoglyph/ --path-rename lithoglyph/: \ - && git filter-repo --invert-paths --path glyphbase/ --path gql-dt/ --path core-factor/gql/ ) + && git filter-repo --invert-paths --path glyphbase/ --path gql-dt/ ) +# NOTE: core-factor/gql/ is deliberately NOT dropped — it was superseded rather than +# extracted, so it belongs to the slimmed lithoglyph parent as legacy. publish /tmp/lithoglyph hyperpolymath/lithoglyph "Lithoglyph — narrative-first, reversible, audit-grade database" ---- diff --git a/docs/migration/RESITE-DATABASES-TO-OWN-REPOS.adoc b/docs/migration/RESITE-DATABASES-TO-OWN-REPOS.adoc index 4511d123..c11910c6 100644 --- a/docs/migration/RESITE-DATABASES-TO-OWN-REPOS.adoc +++ b/docs/migration/RESITE-DATABASES-TO-OWN-REPOS.adoc @@ -23,7 +23,8 @@ Authoritative table: `REGISTRY.adoc`. Summary: | `nqc/` | hyperpolymath/nqc | create | extract as-is (already standalone) | `verisim-core/` | hyperpolymath/VerisimCore.jl | create | extract (Julia package) | `lithoglyph/glyphbase/` | hyperpolymath/glyphbase | create | un-nest -| `lithoglyph/gql-dt/` (+ `core-factor/gql/`) | hyperpolymath/gnpl | create | un-nest (two paths) +| `lithoglyph/gql-dt/` | hyperpolymath/gnpl | *done* | un-nest — landed as `102c79e` (PR #4) +| `lithoglyph/core-factor/gql/` | — | n/a | *superseded, stays here as legacy* (see note) | `lithoglyph/` (minus the two above) | hyperpolymath/lithoglyph | create | extract slimmed parent | `typeql-experimental/` | hyperpolymath/vcl-ut | yes | reconcile -> delete copy | `quandledb/` (stub) | hyperpolymath/quandledb | yes | reconcile -> delete copy @@ -37,7 +38,14 @@ Authoritative table: `REGISTRY.adoc`. Summary: . `verisim-core` -> own repo `VerisimCore.jl` (Julia-package pattern). . `verisim-modular-experiment` -> folded into `verisimdb` as a standard feature (no longer an experiment). -. `gnpl` -> un-nest GQL/GQL-DT now into its own repo. +. `gnpl` -> un-nest GQL/GQL-DT now into its own repo. *DONE* (`102c79e`, PR #4). +. *`gnpl` re-scoped, 2026-07-21.* This plan originally treated GNPL as a rename of the + "Glyph query language", sourced from two paths. Superseded: GNPL is a + *narration/projection* language ("what account does this evidence support") built as a + layer on top of GQLdt, which it lowers to. Consequently `core-factor/gql/` — the + runtime/dynamic counterpart to GQLdt's compile-time proofs — is *superseded rather than + migrated* and stays here as legacy. Only `gql-dt/` moved. See + `lithoglyph/MOVED.md`, `REGISTRY.adoc`, and `docs/THEORY.adoc` in the `gnpl` repo. . New repos: public (org convention). Existing repos (`verisimdb`, `quandledb`, `vcl-ut`, `krl`) are populated/canonical -> reconcile, never overwrite. . Thinned repo references: hybrid -- submodules for `verisimdb` + `lithoglyph`, registry @@ -67,8 +75,9 @@ Two patterns: branch + PR only if there is unique work. *Never* force-push `main`. Delete the copy here only after the canonical is confirmed to hold the content. -Un-nest order for Lithoglyph: extract `glyphbase` and `gnpl` (from `gql-dt/` + -`core-factor/gql/`) first, then the slimmed `lithoglyph/`. +Un-nest order for Lithoglyph: extract `glyphbase` and `gnpl` (from `gql-dt/` only — +`core-factor/gql/` is superseded, see Decisions) first, then the slimmed `lithoglyph/`. +`gnpl` is done; `glyphbase` remains. == Blockers . *GitHub scope*: the executing session must have access to the destination repos diff --git a/lithoglyph/MOVED.md b/lithoglyph/MOVED.md index 8c4384a4..c81f94fb 100644 --- a/lithoglyph/MOVED.md +++ b/lithoglyph/MOVED.md @@ -1,16 +1,35 @@ // SPDX-License-Identifier: CC-BY-SA-4.0 // SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell -= Lithoglyph — extraction PLANNED (not yet moved) += Lithoglyph — extraction PARTIALLY DONE -The Lithoglyph stack still lives *here*, in `nextgen-databases/lithoglyph/`. Treat -this directory as canonical until migration completes. +The Lithoglyph database stack still lives *here*, in `nextgen-databases/lithoglyph/`. +Treat this directory as canonical for everything not listed as extracted below. -Planned standalone repositories (reserved 2026-06-22; migration pending): +== Extracted -* Database core -> https://github.com/hyperpolymath/lithoglyphdb -* Query language (GNPL / GQL-dt) -> https://github.com/hyperpolymath/gnpl -* Airtable-mode delivery -> https://github.com/hyperpolymath/glyphbase +* Query language: `lithoglyph/gql-dt/` -> https://github.com/hyperpolymath/gnpl + (squash-import `102c79e`, PR #4). *The copy here is no longer canonical.* -CAUTION: a previous version of this file claimed the code had moved to a `lith` -monorepo. That was INCORRECT — no such consolidation was authorised and no -`lith` repo exists. The move has not happened yet. +== Not extracted (still canonical here) + +* Database core -> https://github.com/hyperpolymath/lithoglyphdb (reserved 2026-06-22; + migration pending) +* Airtable-mode delivery -> https://github.com/hyperpolymath/glyphbase (reserved + 2026-06-22; migration pending) + +== `core-factor/gql/` — superseded, will NOT be migrated + +`RESITE-DATABASES-TO-OWN-REPOS.adoc` originally specified `gnpl` as `gql-dt/` *plus* +`core-factor/gql/` (5 Factor files: `gql.factor`, `lexer-tests.factor`, +`seam-tests.factor`, `storage-backend.factor`, `benchmarks.factor`). Only the first +path was ever moved — `gnpl` contains zero `.factor` files. + +That is now the settled position, not an omission. `core-factor/gql/` was the +runtime/dynamic counterpart to GQL-dt's compile-time proofs. GNPL has since been +re-scoped as a *narration/projection* language that lowers to GQL-dt, which supersedes +the Factor implementation rather than migrating it. The Factor sources stay here as +legacy. + +CAUTION: an earlier version of this file claimed the code had moved to a `lith` +monorepo. That was INCORRECT — no such consolidation was authorised and no `lith` +repo exists.