aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/ocda.org
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2026-09-08 13:52:43 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2026-09-09 18:22:47 -0400
commitc7049608de7d163137521495665753ae7070be08 (patch)
treeb9617c6e84ea4be4a41b794a7d515986eef01af1 /org/ocda.org
parentocda db: <doc>.ocda.db, and a script to run 4 tests (diff)
ocda loader: one way in whatever the source
sisudoc.ocda.abstraction.load names the five things a document can be read from, tells them apart, and loads the two that are self-describing artefacts: .sst / .ssm + images the markup source pod (dir) + images the same, bundled pod .zip the same, zipped .ssp + images the abstraction, as text .ocda.db the abstraction, sqlite, images inside abstractionSourceOf(path) is the detection, by name and for a directory by whether it holds pod.manifest. abstractionLoad(path) returns a LoadedAbstraction: the source kind, whether it was loaded, why not when it was not, and the document itself. The three source forms are deliberately not loaded here. Reading them is the parser's job (sisudoc.ocda.meta.metadoc spineAbstraction) and it needs the manifest, environment and configuration that spine.d assembles, none of which belongs in a loader. What this gives that case is the dispatch and a plain statement of where it is handled, rather than a silent empty result. spine --abstraction-source=<path> says what a path is and, for an artefact, loads it and reports what came back: the document, title and author, header block sizes, object counts and the objects in each section. Exit 0 when an abstraction was loaded, 1 when not. (assisted by Claude-Code)
Diffstat (limited to 'org/ocda.org')
-rw-r--r--org/ocda.org1
1 files changed, 1 insertions, 0 deletions
diff --git a/org/ocda.org b/org/ocda.org
index 3ca708b..535cd94 100644
--- a/org/ocda.org
+++ b/org/ocda.org
@@ -95,6 +95,7 @@ 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)
+public import sisudoc.ocda.abstraction.load; // spineAbstractionLoad (one way in)
#+END_SRC
** _module template_ :module:metadoc_from_src: