Record GNPL re-scope: narration/projection; core-factor/gql superseded#56
Merged
Conversation
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>
hyperpolymath
marked this pull request as ready for review
July 21, 2026 13:06
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this is
The migration record and the live copy-paste command sheet still describe GNPL as a
rename of the "Glyph query language", extracted from two source paths. Both are now wrong,
and one of them is wrong in a way an agent could act on.
Companion to hyperpolymath/gnpl#6.
Measured
gnpl— "migration pending"lithoglyph/gql-dt/landed as squash-import102c79e(PR #4)gnpl=gql-dt/+core-factor/gql/core-factor/gql/is 5 Factor files, andgnplcontains zero.factorfilesThe second gap is now a settled decision, not an omission.
The re-scope
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:
core-factor/gql/was the runtime/dynamic counterpart to GQLdt's compile-time proofs. Atyped narration layer lowering to GQLdt supersedes it, so it stays here as legacy
rather than being migrated. Rationale:
docs/THEORY.adocanddocs/LITHOGLYPH.adocin thegnplrepo.Changes
lithoglyph/MOVED.md— splits extracted from not-extracted; records that thegql-dt/copy here is no longer canonical; states thecore-factor/gql/supersessionand why. (Its existing
lith-monorepo caution is preserved.)REGISTRY.adoc— splits the combined row into GQLdt (nested ingnpl,canonical,
lake buildgreen) and GNPL (narration/projection), plus a note recordingthe re-scope and its consequences.
RESITE-DATABASES-TO-OWN-REPOS.adoc— table row split; thegnpldecision markedDONE with the re-scope recorded as a follow-on decision; un-nest order corrected.
RESITE-CODEX-HANDOFF.adoc—Why the handoff sheet matters most
That file is the agent command sheet — exact, copy-paste commands. Step 1d read:
Run today, that would
git pusha freshly-filtered history athyperpolymath/gnpl— which is already populated. Now marked DONE / DO NOT RUN withthe commands commented out and retained only as a record.
Two further corrections in the same file:
ls -d … lithoglyph/gql-dt lithoglyph/core-factor/gqlno longer requirespaths that are either already extracted or deliberately staying.
core-factor/gql/. It was superseded,not extracted, so it belongs to the slimmed
lithoglyph— dropping it would havedeleted live legacy code from the parent repo.
Also recorded
The
gnplextract was a squash, so granular history for that path survives only in the_split_gnplbranch. Noted in the handoff sheet so it is not pruned.Not touched
lithoglyph/CHANGELOG.mdandlithoglyph/ROADMAP.adocreferencecore-factor/gql/*.factor— those are historical records of code that still exists here, and remain accurate.
🤖 Generated with Claude Code
Note on this PR's red checks — all pre-existing, none caused by this change
This PR edits only
.adoc/.mdfiles. The failing checks predate it:Check Workflow Staleness/Language / package anti-pattern policy— the standardsreusable pins here (
d7c22711e830) are 59 commits / 24 days behind standards HEAD,outside the recency window. Fix is
scripts/propagate-workflow-pins.sh, separate fromthis change. The same job also flags the Scorecard/SARIF policy — filed as a template
issue upstream, scorecard.yml template violates the estate's own Scorecard/SARIF policy as distributed standards#520.
Trusted-base reduction policy— 20 escape hatches, undocumented inPROOF-NEEDS.md,and every one of them is in
lithoglyph/gql-dt/src/GqlDt/— i.e. the copy this PRrecords as no longer canonical.
That last point is worth stating plainly, because it is this PR's thesis showing up as a
CI failure:
lithoglyph/gql-dt/is now duplicated proof debt. The same axioms(
TypeSafe.lean:194,TypeSafeQueries.lean:44/73/99, …) are documented properly ingnpl's newdocs/proof-debt.md, and undocumented here.Suggested follow-up (deliberately not done in this PR): per the RESITE procedure's own
"Replace, then thin" step — "only after the destination repo is verified, remove the
directory here" —
lithoglyph/gql-dt/should now be deleted from this monorepo. Thedestination is verified (
gnplbuilds, CI green). Deleting live code is a bigger call thana documentation correction, so it is flagged rather than taken.
Upstream issues filed during this pass: hyperpolymath/standards#516 (Hypatia
ImageOS=ubuntu24), #517 (check-trusted-base.shLean false positives), #520(scorecard.yml template).