summaryrefslogtreecommitdiffhomepage
path: root/pipeline/README.md
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2026-10-05 16:00:39 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2026-10-05 16:00:39 -0400
commitad7df51055c5908059d5cb88793d7a14f21b5824 (patch)
tree9496b1705f20095f1661ebe523571e91ddc23676 /pipeline/README.md
parentformat 2.1: the poem, and a note mark of a symbol and a number (diff)
format 2.1: the pipeline reads with ocda-read
sisudoc-ocda-lib now has a reader, ocda-read, in D and in Gleam, which reads every form. The pipeline runs it: one.sh read-d and read-g, passing the modes after the file, and read.sh taking its --tree from the .ssp and the .ocda.db in both languages. The two older readers are still built and run beside it. build.sh built the D library's two programs separately into the one result link, so the second replaced the first and one.sh dump-d found no ocda-dump after a clean build. The library's default is now all three programs, built once. flake.lock, in dlang/ and gleam/, now pins the library at the commit that brings ocda-read, and nixpkgs as that commit locks it. (assisted by Claude-Code)
Diffstat (limited to 'pipeline/README.md')
-rw-r--r--pipeline/README.md7
1 files changed, 5 insertions, 2 deletions
diff --git a/pipeline/README.md b/pipeline/README.md
index 59b98dc..c5920f7 100644
--- a/pipeline/README.md
+++ b/pipeline/README.md
@@ -65,11 +65,13 @@ sh pipeline/one.sh md-g <doc>.ocda.db en
sh pipeline/one.sh html-d <doc>.sisupod
sh pipeline/one.sh dump-d <doc>.ocda.db en
sh pipeline/one.sh agree-g <doc>.ssp <doc>.ocda.db
+sh pipeline/one.sh read-d <doc>.sisupod en --tree
```
The tool names are `<format>-<language>`: `text`, `md`, `html`, `epub`,
-`typst` for the writers, and `ssp`, `db`, `dump`, `agree` for the readers and
-the library; `-d` for D and `-g` for Gleam.
+`typst` for the writers, `read` for the library's reader (ocda-read, which
+reads every form and takes its modes after the file), and `ssp`, `db`, `dump`,
+`agree` for the older readers and the library; `-d` for D and `-g` for Gleam.
Output goes to stdout, so a comparison is a pipeline. The epub and the typst
name a file instead, because an epub is a zip and a `.typ` names its images by
@@ -88,6 +90,7 @@ regression without reading 36 documents.
| `all four dumps identical` | the library's whole claim: two serialisations, two languages, one model |
|---|---|
+| `ocda-read, all four identical` | the reader's tree of a document, the same from its .ssp and its .ocda.db, in D and in Gleam |
| `D == Gleam, <format>` | the writers agree, in unrelated languages, neither written from the other. This is what says the model is sufficient |
| `.ssp and .ocda.db give the same .typ` | a writer is not told which serialisation it was handed |
| `typst compiled silently` | a link to a label that does not exist is a typst compile error, so this says every internal link in every document resolves |