Skip to content

Latest commit

 

History

History
84 lines (73 loc) · 4.73 KB

File metadata and controls

84 lines (73 loc) · 4.73 KB

Resite databases to their own repos — Migration Runbook

Status: READY — decisions resolved; execution pending GitHub scope expansion. Baseline: main @ 8c26b8f. Step-by-step agent command sheet: RESITE-CODEX-HANDOFF.adoc.

Why

nextgen-databases is a coordination repo (see EXPLAINME.adoc, 0-AI-MANIFEST.a2ml), but it physically contains full database implementations (~16,000 files). LLMs keep adding per-database content here because the code lives here and there was no top-level guardrail. This runbook extracts each database / query language to its own repo so the coordination repo becomes thin, while the prevention layer (placement guard + pre-write hook + agent instructions) keeps it that way.

Mapping (source → destination)

Authoritative table: REGISTRY.adoc. Summary:

Source Destination repo Exists? Action

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/ (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

verisimdb/ (incl. src/vcl/)

hyperpolymath/verisimdb

yes

reconcile → delete copy; VCL stays nested

verisim-modular-experiment/

hyperpolymath/verisimdb

yes

fold in as standard feature → delete

(KRL)

hyperpolymath/krl

yes

nothing here to move

Decisions (resolved)

  1. typeql-experimental → standalone vcl-ut (already exists as a canonical repo).

  2. verisim-core → own repo VerisimCore.jl (Julia-package pattern).

  3. verisim-modular-experiment → folded into verisimdb as a standard feature (no longer an experiment).

  4. gnpl → un-nest GQL/GQL-DT now into its own repo.

  5. New repos: public (org convention). Existing repos (verisimdb, quandledb, vcl-ut, krl) are populated/canonical → reconcile, never overwrite.

  6. Thinned repo references: hybrid — submodules for verisimdb + lithoglyph, registry links for the rest.

Strategy

  1. One repo at a time, never big-bang. Start with the cleanest/smallest to prove the pattern: quandledb (stub) or nqc (already standalone).

  2. Un-nest languages/UIs first where applicable (glyphbase, gql-dtgnpl) before slimming the parent database.

  3. Preserve history per path with git filter-repo (preferred) or git subtree split.

  4. Register each new repo in https://github.com/hyperpolymath/gv-clade-index.

  5. Replace, then thin: only after the destination repo is verified, remove the directory here, confirm its REGISTRY.adoc entry, and add a submodule for verisimdb/lithoglyph.

  6. Shrink the guard: remove each extracted dir from the placement-guard grandfather list and from the pre-write hook map as it leaves (until the list is empty).

Procedure (per database/language)

Exact, copy-paste commands live in RESITE-CODEX-HANDOFF.adoc (the agent command sheet). Two patterns:

  • Create (new repos: nqc, VerisimCore.jl, glyphbase, gnpl, lithoglyph) — history-preserving extract with git filter-repo on a throwaway clone, create the repo, push to main. Helper: scripts/resite/extract-subdir.sh.

  • Reconcile (existing repos: verisimdb, quandledb, vcl-ut) — extract the monorepo copy, diff it against the live canonical repo, and push an import/from-monorepo 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/.

Blockers

  1. GitHub scope: the executing session must have access to the destination repos (verisimdb, quandledb, vcl-ut, lithoglyph, glyphbase, gnpl, nqc, VerisimCore.jl) plus create rights for the new ones.

  2. git-filter-repo must be installed in the execution environment.

Next concrete steps

  1. Grant the executing agent access to the destination repos (see Blockers).

  2. Run RESITE-CODEX-HANDOFF.adoc end to end: create new repos, reconcile existing ones, fold verisim-modular-experiment into verisimdb.

  3. Land the "thin the coordination repo" PR (remove extracted dirs, add submodules, empty the placement-guard grandfather list) and set this runbook’s Status to DONE.