Skip to content

ci: promote places+institutions to L1 in hybrid shard mode - #29

Merged
duncdrum merged 15 commits into
mainfrom
dp-l1-institutions-places
Sep 4, 2026
Merged

ci: promote places+institutions to L1 in hybrid shard mode#29
duncdrum merged 15 commits into
mainfrom
dp-l1-institutions-places

Conversation

@duncdrum

@duncdrum duncdrum commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Why

places / institutions matrix jobs took 2h25–2h50 in the last hybrid dry-run; wall-clock is dominated by the post-expand xst get stall. Same fix as works/persons/manuscripts: L1 slices (~5 min each).

Changes

  • Hybrid discover: L1 for works / persons / manuscripts / places / institutions (~179 jobs); matrix for narratives / studies / authority-files / corpora
  • Bats + .keep fixtures for places/institutions L1 slices
  • Package: exclude scripts/tests/docs/editor cruft from xar; drop docs/superpowers/; expath-pkg 1.1.02.0.0
  • Drop seven orphan expanded TEI records (same-record merges/renames only):
Dropped Continues as
PRet1384 PULet065
PRS14297KefleYohannes PRS5918KeflaYo
EMIP00150 EMML3213
MotGeorg001 EMDA81
PRS3491DelmaNe PRS3478DelMang
PRS14168Delmangasa PRS3478DelMang
LIT4150Salota LIT2269salota

Ghost attr/span patches for #31 stay in-tree (cataloguer restore-or-drop still open).

Tests

bats test/01-discover-shards.bats

Related

BetMasWeb#113, expanded#19, Schema#48, BetMasWeb#148, expanded#31

duncdrum and others added 2 commits September 3, 2026 17:44
Both corpora took 2h25-2h50 in the prior matrix dry-run despite only
~900 and ~6700 files respectively. Wall-clock was dominated by the
xst-get export stall: eXist journal/GC flushes block the REST export
for corpus-sized collections. L1 slices (~75-100 files each) expand
and export in ~5 min — the same fix already applied to works/persons/
manuscripts.

places has 9 L1 dirs, institutions has 12. hybrid now routes all five
heavy corpora to L1 and keeps narratives/studies/authority-files at
matrix grain (~174 jobs total vs ~160).

Tests: 8/8 bats green (new assertions for places+institutions in hybrid).
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove the stale docs/superpowers design mirror (canonical copy already
lives under .cursor/plans with a historical header). Exclude CI scripts,
tests, docs, and editor/workspace cruft from the expath xar so autodeploy
ships only TEI + package metadata/indexes.

Co-authored-by: Cursor <cursoragent@cursor.com>
@duncdrum
duncdrum force-pushed the dp-l1-institutions-places branch from a285fd5 to 7bf33e5 Compare September 4, 2026 08:41
duncdrum and others added 2 commits September 4, 2026 10:47
Empty dirs were never in git, so CI hybrid bats failed looking for
places/Africa and institutions/Ethiopia.

Co-authored-by: Cursor <cursoragent@cursor.com>
@duncdrum duncdrum added this to the Jinntec_Phase_Docker milestone Sep 4, 2026
@duncdrum duncdrum added the enhancement New feature or request label Sep 4, 2026
@duncdrum
duncdrum marked this pull request as ready for review September 4, 2026 12:13
Obsolete expanded TEI with no Manuscripts/BetMasData source; live id is
PULet065. Caused bulk msItem/date RNG failures on the stale copy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Thirteen expanded stubs whose xml:id is absent from Persons/BetMasData.
Where the numeric ID survives, the live record is a different person
(title/persName disjoint); a few are abandoned drafts superseded under
another ID (e.g. PRS14297 → PRS5918).

Co-authored-by: Cursor <cursoragent@cursor.com>
@duncdrum

duncdrum commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

Also dropped 13 orphan person stubs (0bb53a6b9) whose exact xml:id is absent from Persons/BetMasData.

Where the numeric ID still exists, title/persName are disjoint (ID reused by a different person). Kept live expanded successors (PRS14012Marq, …Afq, …Benedict, …Misael, …Tasfa, etc.). PRS14297KefleYohannes is the same person as live PRS5918KeflaYo (abandoned duplicate id); note Persons still has a stale relation/@active pointing at PRS14297.

ID reuse by a different live person is not the same as a rename/merge.
Only PRS14297KefleYohannes stays dropped (same person as PRS5918KeflaYo).

Co-authored-by: Cursor <cursoragent@cursor.com>
@duncdrum

duncdrum commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

Correction: the previous 13-person drop mixed true duplicates with unique persons whose IDs were later reused.

Restored 12 stubs in fa921cced. Only PRS14297KefleYohannes stays deleted (same person as PRS5918KeflaYo). Sorry for the noise — ID reuse alone is not sufficient for orphan deletion.

duncdrum and others added 8 commits September 4, 2026 16:09
Strip invalid empty attributes so stubs pass authoring and expanded RNG
without inventing religion values or attestation targets.

Refs: #31
Co-authored-by: Cursor <cursoragent@cursor.com>
Same manuscript (Weiner Codex 45); Manuscripts records
betmas:formerlyAlsoListedAs EMML3213 ← EMIP00150 (2026-07-08).

Co-authored-by: Cursor <cursoragent@cursor.com>
PRS13652BatraM / PRS13832WaldaM: replace HTML No-item span with TEI
seg; remove encodingDesc source-url. Still expanded-only ghosts.

Refs: #31
Co-authored-by: Cursor <cursoragent@cursor.com>
Same manuscript; Manuscripts #2305 deleted MotGeorg001 in favour of
EMDA81. Stale expanded copy still had illegal title/@subtype="margin".

Co-authored-by: Cursor <cursoragent@cursor.com>
Persons deleted PRS3491DelmaNe and PRS14168Delmangasa as doublettes of
PRS3478DelMang; survivor already has snap:DaughterOf. Stale expanded
PRS3491 still had illegal bare daughterOf.

Co-authored-by: Cursor <cursoragent@cursor.com>
Works continues the record as LIT2269salota with formerlyAlsoListedAs;
stale expanded stub had empty listRelation (+ source-url).

Co-authored-by: Cursor <cursoragent@cursor.com>
re-expand dispatch UI still described pre-places/institutions hybrid (~160).

Co-authored-by: Cursor <cursoragent@cursor.com>
WIP stubs stay well-formedness-checked; matches README convention.

Co-authored-by: Cursor <cursoragent@cursor.com>
@duncdrum
duncdrum merged commit 92eb6c5 into main Sep 4, 2026
3 checks passed
@duncdrum
duncdrum deleted the dp-l1-institutions-places branch September 4, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant