M08: Knowledge Graph — v0.8.0-alpha
Phase: P2: Scholar Features Target: Weeks 25–32 Sprints: S12 (Weeks 25–26), S13 (Weeks 27–28) Release:
web/v0.8.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 | M08: Knowledge Graph |
| Due Date | 2026-10-18 |
| Default Pipeline | Product Backlog |
| Primary Epic(s) | Knowledge Graph |
Prerequisites
| Prerequisite | Source | Why Needed |
|---|---|---|
| M01: Data Pipeline complete | P0 | Cross-ref and topical guide edges must be ingested into FalkorDB |
| M02: Content API serving | P0 | Graph query API extends the content service |
| M03: Scripture Reader | P1 | Constellation view launches from the reader; pinch-to-zoom interaction |
| M05: Staging environment | P1 | Founding users are already using staging during P2 |
Epic: Knowledge Graph
8 story areas. Interactive knowledge graph visualization for scripture cross-references and topical links.
| Story Area | Scope | Spec Reference |
|---|---|---|
| Graph data layer | Ensure cross-refs + topical guide edges ingested for NT | GOSPELIB-SCHEMAS.md § Edge Types |
| Graph query API | GET /graph/connections/\{nodeId\} — neighbors with typed edges | TECH-SPEC.md § API Endpoints |
| Constellation view | Interactive node graph — passages, topics, cross-references | MVP.md § Priority #2, DESIGN-SYSTEM.md § Constellation |
| Node rendering | Passage nodes, topic nodes; solid (cross-ref) vs dashed (topical) edges | MVP.md § Priority #2 |
| Zoom interaction | Pinch-to-zoom-out from reader to constellation | MVP.md § Priority #2 |
| List view toggle | Accessible alternative to graph visualization | MVP.md § Priority #2 |
| ConnectionCard | Tap node → card with passage preview, link to navigate | DESIGN-SYSTEM.md § P3 Components |
| Graph-specific icons | temple-link, constellation node type shapes (rounded square, circle, hexagon, folded-corner, pentagon) | DESIGN-SYSTEM.md § Bespoke GospeLib Icons, DESIGN-SYSTEM.md § Constellation View |
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) |
Additional Spec References for M08
- MVP.md § Priority #2 — Constellation view feature definition
- DESIGN-SYSTEM.md § Constellation — Visual design for constellation view
- GOSPELIB-SCHEMAS.md § Edge Types — Cross-ref and topical guide edge types
- TECH-SPEC.md § API Endpoints — Graph query API contract
Sprint Mapping
| Sprint | Weeks | Primary Focus |
|---|---|---|
| S12 | 25–26 | Constellation view — graph query API, node rendering, zoom |
| S13 | 27–28 | Constellation polish (list view toggle), AI LLM client + prompts (M09 overlap) |
Note: S13 is shared with M09 (AI Study Assistant). The first half of S13 finishes constellation polish; the second half begins AI work.
Sprint Load Warnings
No specific sprint load warnings from the plan apply to S12 or S13. However:
- S12–S13 overlap with the period where founding users are active (entered ~Week 22). Bug reports and feedback from founding users may consume capacity.
- Constellation view performance is a flagged risk (see Risk Registry below). Budget time for performance tuning.
Release Info
| Release | Tag | Trigger | Contains |
|---|---|---|---|
v0.8.0-alpha | web/v0.8.0-alpha | M08 complete | Constellation view (Scholar) |
Tags follow <component>/v<semver> per release-please-config.json.
Relevant Risks
| Risk | Impact | Mitigation |
|---|---|---|
| Constellation view performance | Graph viz too slow for complex passages | Start with NT-only subset per MVP scope; lazy-load nodes |
| FalkorDB performance at corpus scale | Slow content API, bad UX | Benchmark after M01; index tuning; caching layer in M02 |
| 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 | pytest + testcontainers | Every PR | GOSPELIB-INGEST-SPEC.md § Testing |
| TypeScript unit | 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 | Graph query endpoint added |
| ADRs | Any major technical decision (e.g., graph viz library choice) |
CI/CD
Staging CD pipeline should be live (activated in M05). Visual regression screenshots should be running in CI.
Dependencies
Upstream (what M08 needs)
| Dependency | Milestone | Detail |
|---|---|---|
| Cross-ref + topical guide edges in FalkorDB | M01 | Graph data layer requires ingested edge data |
| Content service with graph routes | M02 | GET /graph/connections/\{nodeId\} builds on content service |
| Reader shell with navigation | M03 | Constellation view is a reader mode (pinch-to-zoom entry point) |
| Staging environment | M05 | Founding users testing during this phase |
Downstream (what depends on M08)
| Dependent | Milestone | Detail |
|---|---|---|
| M10 entitlement gating | M10 | Scholar entitlement middleware gates constellation view |
| M11 polish and performance | M11 | Performance audit covers constellation view |
Issues
| Issue | Title | Status | Notes |
|---|---|---|---|
| M08-001 | Verify Cross-Reference and Topical Guide Edges Ingested for NT Corpus | ❌ To Do | not implemented |
| M08-002 | Implement Graph Query API — GET /connections/{nodeId} | ✅ Done | connections.py with GET /connections/{node_id} |
| M08-003 | Build ConstellationView — Interactive Force-Directed Graph Visualization | ❌ To Do | not implemented |
| M08-004 | Implement GraphNode Component — Typed Node Rendering | ❌ To Do | not implemented |
| M08-005 | Implement Zoom Interaction — Pinch-to-Zoom Between Reader and Constellation | ❌ To Do | not implemented |
| M08-006 | Implement List View Toggle — Accessible Alternative to Graph | ❌ To Do | not implemented |
| M08-007 | Build ConnectionCard — Node Tap Preview with Navigation | ❌ To Do | not implemented |
| M08-008 | Create Graph-Specific Bespoke Icons | ❌ To Do | not implemented |
Progress: 1 Done · 0 Partial · 7 To Do (13%)
Epic: Knowledge Graph
Issue Dependency Graph
M08-001 ──► M08-002 ──► M08-003 ──► M08-004 ──► M08-007
└──► M08-003 │ ├──► M08-005 ──────────┘
│ └──► M08-006
└──► M08-006
M08-008 ──► M08-004
└──► M08-006
Cross-milestone: M01 ──► M08-001, M02-001 ──► M08-002, M03 ──► M08-005
Legend:
A ──► Bmeans A blocks B (B is blocked by A)
Summary
| Metric | Count |
|---|---|
| Total Issues | 8 |
| Sub-Issues | 0 |
| Total Estimate (pts) | 52 |
| Sprints | S12–S13 |
| Dependencies (blocking) | 12 |
| Dependencies (blocked by) | 10 |