<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lectio.git/docs/superpowers, branch v0.45.0</title>
<subtitle>offline Catholic daily readings and liturgical calendar in Go, with CLI, TUI and web clients</subtitle>
<id>https://git.labunix.xyz/lectio.git/atom?h=v0.45.0</id>
<link rel='self' href='https://git.labunix.xyz/lectio.git/atom?h=v0.45.0'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/'/>
<updated>2026-07-27T21:24:13Z</updated>
<entry>
<title>docs: implementation plan for OF readings (Sundays + solemnities)</title>
<updated>2026-07-27T21:24:13Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T21:24:13Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=5d765444f315ee512c5ceb9bcf83730be8112b60'/>
<id>urn:sha1:5d765444f315ee512c5ceb9bcf83730be8112b60</id>
<content type='text'>
3 TDD tasks: OF resolver + embedded table (seed), niedziela generator
(2025-2027, All:true harvest), render verification + coverage sweep. Keyed by
&lt;slug&gt;-&lt;cycle&gt;. Verified caldata.Universal(), readings.Options.All (gospel-only
default), and the OF slugs against current code.
</content>
</entry>
<entry>
<title>docs: design spec for OF readings (Sundays + solemnities)</title>
<updated>2026-07-27T20:00:30Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T20:00:30Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=9fb2aadc1d9b96cd05b1b1d9f54a7ee955e1815a'/>
<id>urn:sha1:9fb2aadc1d9b96cd05b1b1d9f54a7ee955e1815a</id>
<content type='text'>
Offline OF Sunday/solemnity lectionary keyed by &lt;computed-slug&gt;-&lt;SundayCycle&gt;,
generated once from niedziela over 2025-2027 (covers A/B/C), citations
normalized English-canonical via ToEnglishRef, rendered from public-domain
corpora (Polish-&gt;Latin fallback, EF pattern). Extends caldata.Readings with an
OF branch; flows into -L + the API. Weekdays/sanctoral deferred. Verified
SundayCycle is populated on non-Sunday solemnities.
</content>
</entry>
<entry>
<title>docs: implementation plan for calendar API (JSON + iCal)</title>
<updated>2026-07-27T19:22:17Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T19:22:17Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=5ab5ff23417a80eb1b878329fd57828158bd4a31'/>
<id>urn:sha1:5ab5ff23417a80eb1b878329fd57828158bd4a31</id>
<content type='text'>
5 TDD tasks: calfeed JSON renderer, RFC-5545 iCal renderer w/ injection-safe
escaping (security test first), shared day builder + reusable reading resolver,
CLI --format json|ical + range flags, web endpoints (capped/nosniff/validated).
Security controls each mapped to a test. Code grounded in real calendar types
+ Go 1.22 web mux.
</content>
</entry>
<entry>
<title>docs: design spec for calendar API (JSON + iCal), security-first</title>
<updated>2026-07-27T19:18:47Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T19:18:47Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=512e6681418c354fea02761440e701c0f7ade693'/>
<id>urn:sha1:512e6681418c354fea02761440e701c0f7ade693</id>
<content type='text'>
Two surfaces, one engine: CLI --format json|ical (offline/pipeable) + thin
lectio-web /api/calendar.json + /calendar.ics endpoints. Pure internal/calfeed
renderer. Identity + reading citations (no full text). Security section:
range-cap DoS control (1830d web), RFC-5545 iCal injection escaping (custom
calendar names are untrusted), strict input validation, nosniff content types,
no file/layer injection over HTTP, GET-only.
</content>
</entry>
<entry>
<title>docs: record Task 4 deviations (dup-verse=warning, grb check-corpora exemption)</title>
<updated>2026-07-27T18:33:55Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T18:33:55Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=2cf3c82d357663423b7f77ec20cdd03faca209fa'/>
<id>urn:sha1:2cf3c82d357663423b7f77ec20cdd03faca209fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: record autoselect metadata flag in national-bibles spec+plan</title>
<updated>2026-07-27T18:20:34Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T18:20:34Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=399f0d428050ee104f16e8d4a289b65a4a68eb13'/>
<id>urn:sha1:399f0d428050ee104f16e8d4a289b65a4a68eb13</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: implementation plan for national-bibles corpora</title>
<updated>2026-07-27T18:05:24Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T18:05:24Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=9e1e892de95ac1573a99bda316b306a56e17fc8a'/>
<id>urn:sha1:9e1e892de95ac1573a99bda316b306a56e17fc8a</id>
<content type='text'>
6 TDD tasks: sidecars+meta parser, user-dir discovery+override registry,
reading_lang/reading_version config+resolver, --corpus-check validator,
wire resolver into rendering + surface user corpora, scripts+Makefile.
Code verified against internal/ini ([]Section) and configPath() helper.
</content>
</entry>
<entry>
<title>docs: tighten national-bibles spec (defer psalm_system application)</title>
<updated>2026-07-27T18:01:50Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T18:01:50Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=0dd76139abf2e9a0f1ec362424d68ba8ae5d8c8f'/>
<id>urn:sha1:0dd76139abf2e9a0f1ec362424d68ba8ae5d8c8f</id>
<content type='text'>
psalm_system becomes stored+validated metadata only; per-corpus psalm
numbering application is deferred to the future psalm-readings work (offline
lectionary has no psalm parts yet, so wiring now would be dead code). Testing
updated for reading_lang + the deferred psalter.
</content>
</entry>
<entry>
<title>docs: add reading_lang field to national-bibles spec</title>
<updated>2026-07-27T18:00:04Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T18:00:04Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=0e82fa3e5544ac6c534acc297491a87a361ccd97'/>
<id>urn:sha1:0e82fa3e5544ac6c534acc297491a87a361ccd97</id>
<content type='text'>
reading_lang (any language code) drives corpus auto-selection; empty follows
ui_language. Resolver: reading_version &gt; reading_lang match &gt; ui_language match
&gt; Latin vul. traditional_lang dropped from selection entirely (scraper-only).
</content>
</entry>
<entry>
<title>docs: design spec for user-addable national Bible corpora</title>
<updated>2026-07-27T17:49:06Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T17:49:06Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=abf3210282cccc7ed28dc1f6b081a60cf000d388'/>
<id>urn:sha1:abf3210282cccc7ed28dc1f6b081a60cf000d388</id>
<content type='text'>
A corpus = &lt;code&gt;.tsv (6-col verse text) + &lt;code&gt;.ini (metadata) pair,
serving both compile-in (glob go:embed + Makefile validate/embed) and
runtime drop-in (~/.config/lectio/corpora/, overrides built-ins). Offline
reading selection becomes config-driven (reading_version &gt; lang-auto &gt; Latin
fallback); traditional_lang stays deprecated/scraper-only. Adds
lectio --corpus-check validator with a coverage report vs the Latin vul.
</content>
</entry>
</feed>
