Skip to content

Commit 6c65d7e

Browse files
hyperpolymathclaude
andcommitted
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 <noreply@anthropic.com>
1 parent a90feb6 commit 6c65d7e

4 files changed

Lines changed: 99 additions & 26 deletions

File tree

REGISTRY.adoc

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Resite: decisions finalised; execution per
2020
|===
2121
| Database | Repository | Status | Query language (repo)
2222
| VeriSimDB (cross-modal consistency) | hyperpolymath/verisimdb | exists (canonical) | VCL — nested in verisimdb
23-
| Lithoglyph (narrative-first) | hyperpolymath/lithoglyph | to create | GNPL — hyperpolymath/gnpl
23+
| Lithoglyph (narrative-first) | hyperpolymath/lithoglyph | to create | GNPL (narration/projection, over GQLdt) — hyperpolymath/gnpl (exists)
2424
| Glyphbase (Lithoglyph web UI) | hyperpolymath/glyphbase | to create | —
2525
| QuandleDB (knot-theory) | hyperpolymath/quandledb | exists (canonical) | KRL — hyperpolymath/krl
2626
|===
@@ -32,11 +32,37 @@ Resite: decisions finalised; execution per
3232
| Language | Repository | Status | Notes
3333
| VCL (Verified Consonance Language) | (in hyperpolymath/verisimdb) | exists | Production; stays nested in verisimdb
3434
| VCL-UT (usage-tracked extension) | hyperpolymath/vcl-ut | exists (canonical) | Maps to `typeql-experimental/`; reconcile + delete copy
35-
| GNPL / GQL (Glyph query language) | hyperpolymath/gnpl | to create | From `lithoglyph/gql-dt/` + `lithoglyph/core-factor/gql/`
35+
| 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
36+
| GNPL (narration/projection language) | hyperpolymath/gnpl | exists (canonical) | *Not* a query language — see note below
3637
| KRL (Knot query language) | hyperpolymath/krl | exists (canonical) | No KRL content in this monorepo
3738
| NQC (Nested Query Calculus) | hyperpolymath/nqc | to create | Already standalone in `nqc/` (Gleam)
3839
|===
3940

41+
[NOTE]
42+
====
43+
*GNPL was re-scoped, 2026-07-21.* This registry previously recorded it as
44+
"GNPL / GQL (Glyph query language)" — i.e. a rename of GQL/GQL-dt, sourced from
45+
`lithoglyph/gql-dt/` *plus* `lithoglyph/core-factor/gql/`. That reading is superseded.
46+
47+
GNPL is a *narration/projection* language: it answers "what account does this evidence
48+
support, told from whose stance, with what warrant", not "what is true in the store".
49+
It is being built as a layer *on top of* GQLdt in the `gnpl` repo and lowers to it:
50+
51+
GNPL --lowers to--> GQLdt --FFI--> Lithoglyph
52+
53+
Consequences for this registry:
54+
55+
* `lithoglyph/gql-dt/` was extracted to `gnpl` and is no longer canonical here.
56+
* `lithoglyph/core-factor/gql/` (5 Factor files) was *never* migrated and will not be.
57+
It was the runtime/dynamic counterpart to GQLdt's compile-time proofs, and a typed
58+
narration layer lowering to GQLdt supersedes it. It stays here as legacy.
59+
* `docs/migration/RESITE-DATABASES-TO-OWN-REPOS.adoc` is amended accordingly; see
60+
`lithoglyph/MOVED.md`.
61+
62+
Rationale: https://github.com/hyperpolymath/gnpl/blob/main/docs/THEORY.adoc (the general
63+
case) and `docs/LITHOGLYPH.adoc` (what it gives Lithoglyph specifically).
64+
====
65+
4066
== VeriSim satellites
4167

4268
[cols="1,2",options=header]

docs/migration/RESITE-CODEX-HANDOFF.adoc

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ If any check fails, STOP and report exactly which access is missing. Do not work
3636
| `nqc/` | hyperpolymath/nqc | create | extract as-is
3737
| `verisim-core/` | hyperpolymath/VerisimCore.jl | create | extract (Julia package)
3838
| `lithoglyph/glyphbase/` | hyperpolymath/glyphbase | create | un-nest
39-
| `lithoglyph/gql-dt/` + `lithoglyph/core-factor/gql/` | hyperpolymath/gnpl | create | un-nest (2 paths)
39+
| `lithoglyph/gql-dt/` | hyperpolymath/gnpl | *exists, populated* | *DONE — do not re-run*
40+
| `lithoglyph/core-factor/gql/` | — | n/a | *superseded — do NOT migrate*
4041
| `lithoglyph/` (minus the two above) | hyperpolymath/lithoglyph | create | slimmed parent
4142
| `typeql-experimental/` | hyperpolymath/vcl-ut | exists | reconcile -> delete copy
4243
| `quandledb/` (stub) | hyperpolymath/quandledb | exists | reconcile -> delete copy
@@ -53,7 +54,8 @@ gh auth status
5354
git clone https://github.com/hyperpolymath/nextgen-databases /tmp/ngdb
5455
cd /tmp/ngdb && git rev-parse HEAD # record baseline SHA in your final report
5556
# sanity-check the un-nest subpaths exist before extracting:
56-
ls -d lithoglyph/glyphbase lithoglyph/gql-dt lithoglyph/core-factor/gql
57+
ls -d lithoglyph/glyphbase # gql-dt/ is already extracted (step 1d is DONE);
58+
# core-factor/gql/ is superseded and stays put
5759
----
5860

5961
== Step 1 — create + populate NEW repos (no risk to existing)
@@ -93,15 +95,30 @@ extract lithoglyph/glyphbase/ glyphbase
9395
publish /tmp/glyphbase hyperpolymath/glyphbase "Glyphbase — Lithoglyph web UI / data layer"
9496
----
9597

96-
=== 1d. gnpl (un-nest, two source paths)
98+
=== 1d. gnpl — *DONE, DO NOT RUN*
99+
100+
[WARNING]
101+
====
102+
`hyperpolymath/gnpl` *already exists and is populated* — `lithoglyph/gql-dt/` landed as
103+
squash-import `102c79e` (PR #4). Running the commands below would push over live content.
104+
They are retained only as a record of what was executed.
105+
106+
Two amendments to what was originally planned:
107+
108+
. Only `gql-dt/` moved. `core-factor/gql/` is *superseded, not migrated* — GNPL is a
109+
narration/projection language layered over GQLdt, which supersedes the Factor runtime
110+
counterpart. The Factor sources stay in the monorepo as legacy.
111+
. The extract was a *squash*, so granular history for this path lives only in the
112+
`_split_gnpl` branch. Do not prune it.
113+
====
114+
97115
[source,sh]
98116
----
99-
rm -rf /tmp/gnpl && git clone --no-local /tmp/ngdb /tmp/gnpl
100-
( cd /tmp/gnpl && git filter-repo \
101-
--path lithoglyph/gql-dt/ --path lithoglyph/core-factor/gql/ \
102-
--path-rename lithoglyph/gql-dt/:gql-dt/ \
103-
--path-rename lithoglyph/core-factor/gql/:core-factor-gql/ )
104-
publish /tmp/gnpl hyperpolymath/gnpl "GNPL — Glyph query language (dependently-typed)"
117+
# HISTORICAL — already executed. Do not re-run.
118+
# rm -rf /tmp/gnpl && git clone --no-local /tmp/ngdb /tmp/gnpl
119+
# ( cd /tmp/gnpl && git filter-repo \
120+
# --path lithoglyph/gql-dt/ --path-rename lithoglyph/gql-dt/:gql-dt/ )
121+
# publish /tmp/gnpl hyperpolymath/gnpl "GNPL — Lithoglyph's narration/projection language"
105122
----
106123

107124
=== 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
110127
rm -rf /tmp/lithoglyph && git clone --no-local /tmp/ngdb /tmp/lithoglyph
111128
( cd /tmp/lithoglyph \
112129
&& git filter-repo --path lithoglyph/ --path-rename lithoglyph/: \
113-
&& git filter-repo --invert-paths --path glyphbase/ --path gql-dt/ --path core-factor/gql/ )
130+
&& git filter-repo --invert-paths --path glyphbase/ --path gql-dt/ )
131+
# NOTE: core-factor/gql/ is deliberately NOT dropped — it was superseded rather than
132+
# extracted, so it belongs to the slimmed lithoglyph parent as legacy.
114133
publish /tmp/lithoglyph hyperpolymath/lithoglyph "Lithoglyph — narrative-first, reversible, audit-grade database"
115134
----
116135

docs/migration/RESITE-DATABASES-TO-OWN-REPOS.adoc

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ Authoritative table: `REGISTRY.adoc`. Summary:
2323
| `nqc/` | hyperpolymath/nqc | create | extract as-is (already standalone)
2424
| `verisim-core/` | hyperpolymath/VerisimCore.jl | create | extract (Julia package)
2525
| `lithoglyph/glyphbase/` | hyperpolymath/glyphbase | create | un-nest
26-
| `lithoglyph/gql-dt/` (+ `core-factor/gql/`) | hyperpolymath/gnpl | create | un-nest (two paths)
26+
| `lithoglyph/gql-dt/` | hyperpolymath/gnpl | *done* | un-nest — landed as `102c79e` (PR #4)
27+
| `lithoglyph/core-factor/gql/` | — | n/a | *superseded, stays here as legacy* (see note)
2728
| `lithoglyph/` (minus the two above) | hyperpolymath/lithoglyph | create | extract slimmed parent
2829
| `typeql-experimental/` | hyperpolymath/vcl-ut | yes | reconcile -> delete copy
2930
| `quandledb/` (stub) | hyperpolymath/quandledb | yes | reconcile -> delete copy
@@ -37,7 +38,14 @@ Authoritative table: `REGISTRY.adoc`. Summary:
3738
. `verisim-core` -> own repo `VerisimCore.jl` (Julia-package pattern).
3839
. `verisim-modular-experiment` -> folded into `verisimdb` as a standard feature (no longer
3940
an experiment).
40-
. `gnpl` -> un-nest GQL/GQL-DT now into its own repo.
41+
. `gnpl` -> un-nest GQL/GQL-DT now into its own repo. *DONE* (`102c79e`, PR #4).
42+
. *`gnpl` re-scoped, 2026-07-21.* This plan originally treated GNPL as a rename of the
43+
"Glyph query language", sourced from two paths. Superseded: GNPL is a
44+
*narration/projection* language ("what account does this evidence support") built as a
45+
layer on top of GQLdt, which it lowers to. Consequently `core-factor/gql/` — the
46+
runtime/dynamic counterpart to GQLdt's compile-time proofs — is *superseded rather than
47+
migrated* and stays here as legacy. Only `gql-dt/` moved. See
48+
`lithoglyph/MOVED.md`, `REGISTRY.adoc`, and `docs/THEORY.adoc` in the `gnpl` repo.
4149
. New repos: public (org convention). Existing repos (`verisimdb`, `quandledb`, `vcl-ut`,
4250
`krl`) are populated/canonical -> reconcile, never overwrite.
4351
. Thinned repo references: hybrid -- submodules for `verisimdb` + `lithoglyph`, registry
@@ -67,8 +75,9 @@ Two patterns:
6775
branch + PR only if there is unique work. *Never* force-push `main`. Delete the copy here
6876
only after the canonical is confirmed to hold the content.
6977

70-
Un-nest order for Lithoglyph: extract `glyphbase` and `gnpl` (from `gql-dt/` +
71-
`core-factor/gql/`) first, then the slimmed `lithoglyph/`.
78+
Un-nest order for Lithoglyph: extract `glyphbase` and `gnpl` (from `gql-dt/` only —
79+
`core-factor/gql/` is superseded, see Decisions) first, then the slimmed `lithoglyph/`.
80+
`gnpl` is done; `glyphbase` remains.
7281

7382
== Blockers
7483
. *GitHub scope*: the executing session must have access to the destination repos

lithoglyph/MOVED.md

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,35 @@
11
// SPDX-License-Identifier: CC-BY-SA-4.0
22
// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
3-
= Lithoglyph — extraction PLANNED (not yet moved)
3+
= Lithoglyph — extraction PARTIALLY DONE
44

5-
The Lithoglyph stack still lives *here*, in `nextgen-databases/lithoglyph/`. Treat
6-
this directory as canonical until migration completes.
5+
The Lithoglyph database stack still lives *here*, in `nextgen-databases/lithoglyph/`.
6+
Treat this directory as canonical for everything not listed as extracted below.
77

8-
Planned standalone repositories (reserved 2026-06-22; migration pending):
8+
== Extracted
99

10-
* Database core -> https://github.com/hyperpolymath/lithoglyphdb
11-
* Query language (GNPL / GQL-dt) -> https://github.com/hyperpolymath/gnpl
12-
* Airtable-mode delivery -> https://github.com/hyperpolymath/glyphbase
10+
* Query language: `lithoglyph/gql-dt/` -> https://github.com/hyperpolymath/gnpl
11+
(squash-import `102c79e`, PR #4). *The copy here is no longer canonical.*
1312

14-
CAUTION: a previous version of this file claimed the code had moved to a `lith`
15-
monorepo. That was INCORRECT — no such consolidation was authorised and no
16-
`lith` repo exists. The move has not happened yet.
13+
== Not extracted (still canonical here)
14+
15+
* Database core -> https://github.com/hyperpolymath/lithoglyphdb (reserved 2026-06-22;
16+
migration pending)
17+
* Airtable-mode delivery -> https://github.com/hyperpolymath/glyphbase (reserved
18+
2026-06-22; migration pending)
19+
20+
== `core-factor/gql/` — superseded, will NOT be migrated
21+
22+
`RESITE-DATABASES-TO-OWN-REPOS.adoc` originally specified `gnpl` as `gql-dt/` *plus*
23+
`core-factor/gql/` (5 Factor files: `gql.factor`, `lexer-tests.factor`,
24+
`seam-tests.factor`, `storage-backend.factor`, `benchmarks.factor`). Only the first
25+
path was ever moved — `gnpl` contains zero `.factor` files.
26+
27+
That is now the settled position, not an omission. `core-factor/gql/` was the
28+
runtime/dynamic counterpart to GQL-dt's compile-time proofs. GNPL has since been
29+
re-scoped as a *narration/projection* language that lowers to GQL-dt, which supersedes
30+
the Factor implementation rather than migrating it. The Factor sources stay here as
31+
legacy.
32+
33+
CAUTION: an earlier version of this file claimed the code had moved to a `lith`
34+
monorepo. That was INCORRECT — no such consolidation was authorised and no `lith`
35+
repo exists.

0 commit comments

Comments
 (0)