docs(adr): ADR-0002 i18n via LOL (liblol C ABI) + ADJUST contractile stanza#50
Merged
Conversation
…stanza Proposed ADR for casket's internationalisation: consume standards/lol as a service via the liblol C ABI (lol.h) through casket's existing ffi/zig + Idris2-ABI seam — never embed the corpus. In-process linking (not the HTTP gateway) for hermetic build-time rendering; inherits LOL's Idris2-proven i18n guarantees; correct per-locale lang/dir for WCAG 3.1.1/3.1.2; the four locales/*.txt stubs are removed. Adds the doc-mandated i18n section to the ADJUST contractile (lol-linkage, no-embedded-locales, i18n-invariants). Post-core integration tracked as a GitHub issue. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WN6nPWWe4dvXfoqBG6auWN
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
7 tasks
hyperpolymath
marked this pull request as ready for review
June 24, 2026 09:33
hyperpolymath
pushed a commit
that referenced
this pull request
Jun 24, 2026
Resolve the modify/delete conflict on the issue templates by accepting main's deletion: commit fca441b retired the local issue/discussion templates to inherit the org .github canon, so bug_report.md and feature_request.md are removed rather than resurrected to carry #49's now-moot SPDX edits. Brings in ADR-0002 + the ADJUST i18n stanza (#50). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WN6nPWWe4dvXfoqBG6auWN
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
ADR-0002 (Proposed) — casket's internationalisation strategy, plus the doc-mandated contractile stanza.
Decision: casket consumes
standards/lolas a service via the liblol C ABI (lol.h) through its existingffi/zig+ Idris2-ABI seam — never embedding the corpus (the estatelol-i18n-linkagerule). In-process linking (not the HTTP gateway) keeps build-time rendering hermetic; the corpus stays inLOL_DATA_DIR. casket inherits LOL's Idris2-proven i18n guarantees (BCP-47/key validity, store-lookup, fallback, plural bounds) and emits correct per-localelang/dir(WCAG 3.1.1/3.1.2). The fourlocales/*.txtstubs are slated for removal.Also: adds the i18n section to the ADJUST contractile (
lol-linkage,no-embedded-locales,i18n-invariants) per "any i18n work MUST reference LOL."Scope
Decision doc + contractile only — no engine code. The actual
Gnosis.I18nbinding is post-core (needs the ADR-0001 typed-content model) and is tracked as a separate GitHub issue.🤖 Generated with Claude Code
https://claude.ai/code/session_01WN6nPWWe4dvXfoqBG6auWN
Generated by Claude Code