The Scriptorium — Contributing
The Scriptorium is the contribution engine of Torch & Lily. Any authenticated user can submit new content or corrections to the archive. Submissions enter a review queue and, once approved, are ingested into the live API.
The monks did not simply copy texts — they preserved civilization. In this scriptorium, you join their work.
How It Works
Section titled “How It Works”- Sign in via Google or GitHub OAuth.
- Choose your mode — add new content (Nova) or suggest a correction (Emendatio).
- Pick a genus — the type of content you wish to contribute.
- Fill the template and submit. Your contribution enters the review queue.
- Track progress from your dashboard. Submissions move through
Pending → Approved → Ingested(orRejectedwith reviewer notes).
Content Types (Genera)
Section titled “Content Types (Genera)”The Scriptorium accepts six types of content, each mapped to a specific engine and database table.
| Genus | English | Engine | Nova | Emendatio |
|---|---|---|---|---|
| Sanctus | Saint | Devotio | ✓ | ✓ |
| Precatio | Prayer | Devotio | ✓ | ✓ |
| Opus | Book / Treatise | Veritas | ✓ | ✓ |
| Catechismus | Catechism | Veritas | — | ✓ |
| Summa | Summa Theologiae | Veritas | — | ✓ |
| Commentarium | Commentary | Veritas | ✓ | ✓ |
Some genera only accept corrections (Emendatio) — the Catechism and Summa are fixed texts, so only transcription errors can be corrected.
Submission Modes
Section titled “Submission Modes”Nova — New Content
Section titled “Nova — New Content”Submit something that does not yet exist in the archive.
- Sanctus / Precatio: Download a CSV template, fill it in your spreadsheet editor, and upload.
- Opus: Enter metadata (title, author, language) and paste the full Markdown text. See the formatting guide below.
- Commentarium: Provide the Bible verse ID, commentary author, and paste the commentary body.
Emendatio — Correction
Section titled “Emendatio — Correction”Fix an error in an existing record.
- Search for the record you want to correct.
- For text-based genera (Opus, Catechismus, Summa, Commentarium): paste the corrected text.
- For structured genera (Sanctus, Precatio): submit corrected field values via CSV.
Opus Formatting Guide
Section titled “Opus Formatting Guide”When submitting a new book (Opus), your Markdown is automatically parsed into chapters. Each heading becomes a separate chapter in the archive.
Heading Hierarchy
Section titled “Heading Hierarchy”# Part Title → Top-level chapter## Chapter Title → Sub-chapter (nested under #)### Section Title → Sub-section (nested under ##)
Body text follows each heading and belongs to that chapter.Example
Section titled “Example”# Book One
## Chapter I — On the Existence of God
That God exists can be proved in five ways.The first and most manifest way is the argumentfrom motion...
## Chapter II — On the Simplicity of God
Having recognized that a certain thing exists,we must inquire into its mode of existence...- Every heading starts a new chapter — the heading text becomes the chapter title.
- Sub-headings (
##,###) are nested under their parent heading. - Standard Markdown is supported — paragraphs, block quotes, emphasis, lists.
- Do not use raw HTML — only Markdown syntax.
- The first heading should be
#(top level).
Style Guides
Section titled “Style Guides”Each genus has its own detailed style guide with field conventions, formatting rules, and examples. Read the guide for your genus before submitting.
- Sanctus (Saints)
- Precatio (Prayers)
- Opus (Books & Treatises)
- Commentarium (Patristic Commentaries)
- Catechismus & Summa (Corrections Only)
Review Pipeline
Section titled “Review Pipeline”All submissions are reviewed before they enter the live API.
| Status | Meaning |
|---|---|
| Pending | Awaiting review by an editor |
| Approved | Accepted — ready for ingestion into the live corpus |
| Rejected | Declined with reviewer notes explaining why |
| Ingested | Successfully written into the production database |
All submissions are reviewed directly by human editors.
Contributor Roles
Section titled “Contributor Roles”| Role | Permissions |
|---|---|
| Contributor | Submit new content and corrections |
| Reviewer | Review, approve, reject, and ingest submissions |
| Admin | All reviewer permissions + manage contributor roles |
Every user starts as a Contributor. Trusted contributors may be elevated to Reviewer status by an Admin.
API Endpoints
Section titled “API Endpoints”The Scriptorium exposes its own REST API for programmatic access. All endpoints require JWT authentication (sign in via the portal).
Templates
Section titled “Templates”GET /v1/scriptorium/templates/{genus}Returns the submission template for a genus — field definitions, allowed modes, and formatting hints.
Submit
Section titled “Submit”POST /v1/scriptorium/submissionesCreate a new submission. Body includes modus, genus, payload (structured fields), and optionally raw_text, scopus_id, scopus_slug, scopus_titulus.
My Submissions
Section titled “My Submissions”GET /v1/scriptorium/submissionesList your own submissions. Filterable by status and genus.
Review Queue (Reviewer/Admin only)
Section titled “Review Queue (Reviewer/Admin only)”GET /v1/scriptorium/scrutinium/submissionesList all submissions in the review queue. Filterable by status.
PATCH /v1/scriptorium/scrutinium/submissiones/{id}Approve or reject a submission. Body: { "status": "APPROVED" | "REJECTED", "nota_examinatoris": "optional notes" }.
POST /v1/scriptorium/scrutinium/submissiones/{id}/ingestIngest an approved submission into the live corpus. This is a one-way operation.