Skip to content

docs(adr): ADR-0002 i18n via LOL (liblol C ABI) + ADJUST contractile stanza#50

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/adr-0002-i18n-lol
Jun 24, 2026
Merged

docs(adr): ADR-0002 i18n via LOL (liblol C ABI) + ADJUST contractile stanza#50
hyperpolymath merged 1 commit into
mainfrom
claude/adr-0002-i18n-lol

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

ADR-0002 (Proposed) — casket's internationalisation strategy, plus the doc-mandated contractile stanza.

Decision: casket consumes standards/lol as a service via the liblol C ABI (lol.h) through its existing ffi/zig + Idris2-ABI seam — never embedding the corpus (the estate lol-i18n-linkage rule). In-process linking (not the HTTP gateway) keeps build-time rendering hermetic; the corpus stays in LOL_DATA_DIR. casket inherits LOL's Idris2-proven i18n guarantees (BCP-47/key validity, store-lookup, fallback, plural bounds) and emits correct per-locale lang/dir (WCAG 3.1.1/3.1.2). The four locales/*.txt stubs 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.I18n binding 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

…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
@github-actions

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@hyperpolymath
hyperpolymath marked this pull request as ready for review June 24, 2026 09:33
@hyperpolymath
hyperpolymath merged commit 716d274 into main Jun 24, 2026
7 of 13 checks passed
@hyperpolymath
hyperpolymath deleted the claude/adr-0002-i18n-lol branch 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants