M06: Interlinear & Lexicon
Phase: P2: Scholar Features Target: Weeks 17–24 Sprints: S8 (tail), S9, S10, S11 (start) Release Tags:
web/v0.6.0-alpha
Phase Context
Goal: The three paid pillars that justify $79.99/year — interlinear Hebrew/Greek + JST, constellation view, and constrained AI. Ref: MVP.md § Paid Tier.
Key constraint: Founding users enter during this phase (~Week 22). Ship incrementally; don't wait for "complete."
ZenHub Configuration
| Field | Value |
|---|---|
| Milestone | M06: Interlinear & Lexicon |
| Due Date | 2026-08-23 |
| Default Pipeline | Product Backlog |
| Primary Epic(s) | Interlinear & Lexicon |
Prerequisites
| Prerequisite | Source Milestone | What Must Be Complete |
|---|---|---|
| Word alignment + lexicon data ingested | M01: Data Pipeline | Stage 2 (lexicon pipeline — :Word nodes, DERIVES_FROM, RELATED_TO) and Stage 3 (:WordAlignment nodes) must be complete |
| Reader with verse display | M03: Scripture Reader | Scripture reader with chapter navigation — interlinear mode extends the existing reader |
Epics
Epic: Interlinear & Lexicon
| Story Area | Scope | Spec Reference |
|---|---|---|
| Interlinear data verification | Validate word alignment data in corpus against schemas | GOSPELIB-SCHEMAS.md § WordAlignment |
| Interlinear API | Passage response enriched with word alignment + Strong's data | TECH-SPEC.md § Content Service |
| WordToken component | Tap target for each original-language word | DESIGN-SYSTEM.md § P1 Components |
| Lexicon bubble | Tap word → pop-up with Strong's number, gloss, root, morphology | MVP.md § Priority #1 |
| Word journey | Tap word → occurrences highlighted across current chapter | MVP.md § Priority #1 |
| Interlinear display mode | Word-by-word with transliteration + gloss | DESIGN-SYSTEM.md § Interlinear View |
| Hebrew RTL rendering | Gentium Plus / SBL Hebrew font, BiDi layout | DESIGN-SYSTEM.md § Original Language |
| Study mode | Activate study mode from reader — verse long-press entry point | DESIGN-SYSTEM.md § Render Modes |
| P2 icon additions | interlinear, witness, strong-number, word-journey, graph-node icons | DESIGN-SYSTEM.md § Bespoke GospeLib Icons |
Document References
| Doc | Contains | Use When Writing Stories For |
|---|---|---|
| MVP.md | Feature scope, tier breakdown, success criteria, budget | Acceptance criteria, scope boundaries |
| TECH-SPEC.md | Architecture, service boundaries, data stores, API catalog | Technical implementation details |
| GOSPELIB-SCHEMAS.md | All 7 schema families, node/edge types, validation rules | Data models, Pydantic models, graph schema |
GOSPELIB-INGEST-SPEC.md | 7-stage pipeline, Cypher templates, batch strategy, CLI | Ingest pipeline stories |
| DESIGN-SYSTEM.md | Visual identity, component catalog, reader modes, tokens | UI component stories |
| DESIGN-SYSTEM.md §§ 13, 21–23 | Footnotes (§13), subscription boundaries (§21), sharing (§22), onboarding (§23) | UX flow stories |
| Deployment & Operations | Environments, K8s, CI/CD, migrations, secrets, DR | Infrastructure and deployment stories |
| REPO-MAP.md | Directory structure, naming conventions, dependency rules | All stories (coding standards) |
| Business | LEGAL.md, POLICY-TERMS.md, executive summary, market research, GTM | Launch readiness, legal/compliance stories |
Additional Spec References for This Milestone
| Doc Section | Relevance |
|---|---|
| GOSPELIB-SCHEMAS.md § WordAlignment | Word alignment data model for interlinear verification |
| DESIGN-SYSTEM.md § Interlinear View | Interlinear display mode layout and typography |
| DESIGN-SYSTEM.md § Original Language | Hebrew RTL rendering, font selection, BiDi layout |
| DESIGN-SYSTEM.md § Render Modes | Study mode activation and mode switching |
| DESIGN-SYSTEM.md § Bespoke GospeLib Icons | P2 icon additions for interlinear features |
Sprint Mapping
| Sprint | Weeks | Primary Focus for M06 |
|---|---|---|
| S9 | 19–20 | Interlinear data verification, API enrichment, WordToken component |
| S10 | 21–22 | Lexicon bubble, word journey, interlinear display mode, Hebrew RTL |
| S11 | 23–24 | Founding users enter. Study mode polish, P2 icon additions |
S8 (Weeks 17–18) is primarily M05 work but P2 infrastructure prep may start. S11 overlaps M07 start.
Sprint Load Warnings
No specific load warnings apply to M06 sprints. However, note that founding users enter at ~Week 22 (S11) — prioritize stability and a functional interlinear experience over feature completeness.
Release Info
| Release | Tag | Contains |
|---|---|---|
v0.6.0-alpha | web/v0.6.0-alpha | Interlinear + lexicon (Scholar) |
Tags follow <component>/v<semver> per release-please-config.json.
Relevant Risks
| Risk | Impact | Mitigation |
|---|---|---|
| Interlinear Hebrew RTL rendering | Core differentiator broken or ugly | Prototype RTL layout early in P2; test with real corpus data |
| Ingest pipeline data quality issues | Word alignment data may have gaps or errors | Corpus validation epic in P0; data verification story in this milestone |
| Custom icon set scope creep | Delays P2 delivery | Ship P1 with minimum viable icon set; P2 icons are additive. Consider temporary placeholder icons |
| Solo founder velocity | 38-week plan too aggressive | Founding users at Week 22 provide feedback before full scope; cut P3 scope if needed |
Cross-Cutting Concerns
Testing
| Layer | Framework | When | Spec Reference |
|---|---|---|---|
| Python unit/integration (interlinear API) | pytest + testcontainers | Every PR | TECH-SPEC.md § Testing |
| TypeScript unit (WordToken, lexicon bubble) | Vitest | Every PR | TECH-SPEC.md § Testing |
| Component visual | Storybook or playground | P1+ | DESIGN-SYSTEM.md § Governance |
| Visual regression | Playwright + pixelmatch | P1+ (any packages/ui/ or apps/*/src/ change) | DESIGN-SYSTEM.md § Visual Regression CI |
Documentation
| Doc | Update Trigger |
|---|---|
| API OpenAPI specs | Content service interlinear enrichment |
| ADRs | RTL rendering approach, interlinear data model decisions |
CI/CD
| Addition | Phase | Detail |
|---|---|---|
| Visual regression screenshots | P1+ | Interlinear components added to playground; pixelmatch diff baseline updated |
Dependencies
Upstream (what M06 needs)
| Dependency | Source | Status |
|---|---|---|
Lexicon pipeline (Stage 2) — :Word nodes | M01: Data Pipeline | Must be complete |
Word alignment data (Stage 3) — :WordAlignment nodes | M01: Data Pipeline | Must be complete |
| Scripture reader shell | M03: Scripture Reader | Must be complete (interlinear mode extends reader) |
| Content API (passage routes) | M02: Content API | Must be complete (interlinear API enriches passage response) |
| Staging environment | M05: Search & Staging | Should be live for founding-user testing |
Downstream (what depends on M06)
| Dependent | Milestone | What It Needs From M06 |
|---|---|---|
| JST Interlinear | M07 | Interlinear display mode, WordToken component, study mode, lexicon infrastructure |
| Constellation view | M08: Knowledge Graph | Study mode and interlinear as entry points to graph exploration |
| AI study assistant | M09: AI Study Assistant | Lexicon data for AI citation linking |
Issues
| Issue | Title | Status | Notes |
|---|---|---|---|
| M06-001 | Interlinear Data Verification — Validate Word Alignment Data Against Schemas | ❌ To Do | not implemented |
| M06-002 | Interlinear API — Passage Response Enriched with Word Alignment and Strong's Data | 🔶 Partial | include_words param and Cypher query exist but no interlinear corpus data |
| M06-003 | WordToken Component — Tappable Original-Language Word Target | ❌ To Do | not implemented |
| M06-004 | Lexicon Bubble — Tap Word to Show Strong's Entry Popup | ❌ To Do | not implemented |
| M06-005 | Word Journey — Highlight Same-Root Occurrences Across Current Chapter | ❌ To Do | not implemented |
| M06-006 | Interlinear Display Mode — Word-by-Word Layout with Transliteration and Gloss | ❌ To Do | not implemented |
| M06-007 | Hebrew RTL Rendering — Gentium Plus / SBL Hebrew Font and BiDi Layout | ❌ To Do | not implemented |
| M06-008 | Study Mode — Activate from Reader with Verse Long-Press Entry Point | ❌ To Do | not implemented |
| M06-009 | P2 Icon Additions — Interlinear, Witness, Strong's, Word Journey, and Graph Node Icons | ❌ To Do | not implemented |
Progress: 0 Done · 1 Partial · 8 To Do (6%)
Epic: Interlinear & Lexicon
Issue Dependency Graph
M06-001 ──► M06-002 ──► M06-003 ──► M06-004 ──► M06-005
M06-002 ──► M06-005
M06-002 ──► M06-006 ──► M06-007
M06-003 ──► M06-005
M06-003 ──► M06-006
M06-009 ──► M06-003
M06-009 ──► M06-004
M06-009 ──► M06-008
Legend:
A ──► Bmeans A blocks B (B is blocked by A)
Summary
| Metric | Count |
|---|---|
| Total Issues | 9 |
| Sub-Issues | 0 |
| Total Estimate (pts) | 52 |
| Sprints | S9–S11 |
| Dependencies (blocking) | 13 |
| Dependencies (blocked by) | 15 |