From a28ab7a6c0d1a25a2b1195ff13b639e2256e97a8 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 8 Sep 2026 07:40:06 -0400 Subject: a reader for the ocda db, and its round trip sisudoc.ocda.abstraction.db_in reads a .abstraction.db back into ObjGenericComposite[][string], the same value ssp_in returns from a .ssp, so a consumer need not know which artefact it was handed. It mixes in the .ssp reader for that shared document struct rather than declaring a second one. --db-round-trip= reads a database and emits it as .ssp on stdout, through sspObjectRecord as the other round trip does. Held against the .ssp written from the same document, this says whether the two artefacts really carry the same thing: not a count of fields, as test-abstraction-db.sh does, but the whole document reconstructed from the database and compared to the text. SpinePOD=... ./test/test-abstraction-db-roundtrip.sh ./bin/spine-ldc PASS: all 35 databases re-emit their document's .ssp exactly It passed on the first run over the whole sample set, which is evidence that the database is now field-complete against the .ssp rather than merely counting the same. Four tests with different checks: test-abstraction-ssp.sh the abstraction has not changed test-abstraction-db.sh the two serialisations agree, field by field test-abstraction-ssp-roundtrip.sh the .ssp can be read back whole test-abstraction-db-roundtrip.sh the .db can be read back whole (assisted by Claude-Code) --- org/ocda.org | 1 + 1 file changed, 1 insertion(+) (limited to 'org/ocda.org') diff --git a/org/ocda.org b/org/ocda.org index 5765c9d..3ca708b 100644 --- a/org/ocda.org +++ b/org/ocda.org @@ -94,6 +94,7 @@ public import sisudoc.ocda.meta.metadoc; // spineAbstraction (A-layer) public import sisudoc.ocda.meta.metadoc_from_src; // docAbstraction (B-layer) public import sisudoc.ocda.abstraction.ssp; // spineAbstractionTxt (.ssp) public import sisudoc.ocda.abstraction.ssp_in; // spineAbstractionRead (.ssp back in) +public import sisudoc.ocda.abstraction.db_in; // spineAbstractionDbRead (.db back in) #+END_SRC ** _module template_ :module:metadoc_from_src: -- cgit v1.2.3