Phân tích sâu repo lumina-wiki@1.1.0 (gốc @0.3.0 2026-05-02; snapshot @0.5.0, @0.8.1), đối chiếu với tầm nhìn LLM-Wiki của Karpathy, landscape 7 đối thủ, literature/industry standards (GraphEval · OpenLineage · TempValid · LLM jury), và so sánh trực tiếp với thieung/personal-wiki-hub. Kết quả: 3 báo cáo, 1 lộ trình 5-phase, 3 đề xuất port ROADMAP-aligned — đến v1.1 đã ship truth verification (/lumi-verify) đóng gap chất lượng cuối cùng có pattern chuẩn hóa.
Một câu: Lumina có engineering hygiene xuất sắc nhưng chưa đóng được gap chất lượng tri thức — và roadmap hiện tại đang ưu tiên sai (mở rộng nguồn trước quality gate).
Lumina implement đúng structural vision của Karpathy, thiếu dynamic vision — compounding qua thời gian, self-improvement, contradiction surfacing. — Báo cáo phân tích, mục 4
abc901e chore: bump version to 0.4.0 and refine skill system. Đẩy lên thềm 0.5 + tinh chỉnh skill system, không thêm skill mới. Skill count vẫn 14.
8189efe feat(wiki): foundation aliases and resolve-alias for cross-skill dedup. Cross-skill dedup mechanism mới — giảm friction với 28 edge types khi nhiều skill cùng đụng concept. wiki.mjs case thứ 19.
6e6692c handle prefill collisions + Wikipedia disambiguation. ec8fbbe surface purpose, dedupe ingested papers, log phases. Research pack giờ chống được edge case thực tế của khoa học data.
4dc349e docs(policy): reframe cross-model review rule around bundled infra, not bias. Rule mới: v0.1 không bundle llm-review MCP. User wire-in được nếu muốn — không cấm, chỉ không ship. Ảnh hưởng Phase 4 jury.
28c350a fix(wiki): unwrap resolve-alias no-match stderr format. Skill polish, không phá schema.
ROADMAP.md dòng 3 vẫn ghi "Current shipped version: v0.2.0". Lệch 3 minor version với package.json. Cần đồng bộ.
Tác động lên 4 gap chất lượng (mục 5): v0.5.0 chưa đụng gap nào. Foundation aliases là cross-skill dedup chứ không phải truth check / provenance / decay. Phase 1–3 must-have của lộ trình (mục 8) vẫn đầy đủ — không có item nào "đã âm thầm xong".
4 release liên tiếp (v0.6 · v0.7 · v0.8.0 · v0.8.1) trong 1 ngày — tập trung trực tiếp vào quality gate stack: provenance schema, confidence enum, raw-anchor semantic, migration path. Lần đầu Lumina chạm vào gap chất lượng (mục 5) thay vì chỉ siết hygiene.
880280c feat(v0.6): quality gate upgrades. provenance required enum (replayable|partial|missing) trên sources, confidence optional float 0–1 trên sources/concepts. Lint L11 warn confidence missing. Lint --summary JSON shape ổn định cho machine consumption.
wiki.mjs log entry mang session:<8hex>, env override LUMINA_SESSION_ID cho multi-write correlation. Installer thêm migrateManifest helper — sẵn sàng cho schema bump. ROADMAP add v1.0 /lumi-verify 3-stage plan (A wiki↔raw · B raw↔URL · C wiki↔web).
a779003 feat(v0.7): legacy migration path for upgrades. /lumi-migrate-legacy core skill — LLM-driven backfill provenance/confidence. CHANGELOG.md ship vào _lumina/CHANGELOG.md để skill đọc. Post-upgrade installer banner show lint summary khi version bump. Manifest schemaVersion 1 → 2 + flag legacyMigrationNeeded.
ce51791 feat(v0.8): raw-centric provenance and PDF fetch landing zone. Field raw_paths: array trên sources — pointer rõ ràng đến raw artifact. raw/download/<resource>/ permanent zone (arxiv/doi/s2/web). _lumina/tools/fetch_pdf.py idempotent download, atomic write. Lint L12 cảnh báo raw_paths broken/transient.
url:<str> → urls:<array> để đối xứng với raw_paths. Provenance reframe raw-centric: replayable giờ cần raw_paths resolve được trên disk (URL không còn precondition — file-only sources qualify). /lumi-ingest Mode B: input URL/arxiv-id/DOI/title → resolve + fetch + ingest. Manifest schemaVersion 2 → 3.
41d49ba release: v0.8.1 — legacy url: warning to surface migration on upgrade. Lint L02 cảnh báo khi source page còn mang field url: string sau khi đổi sang urls: array. Trước fix này, upgrade v0.7 → v0.8 lint vẫn xanh và banner installer im lặng — user không biết phải chạy /lumi-migrate-legacy. Field cũ runtime ignore, không invalid; warning thuần migration nudge.
Tác động lên 4 gap chất lượng (mục 5): ✓ Gap ③ provenance đã đóng (schema enum + raw_paths + L12) · ◐ Gap ② confidence đã có schema + L11 warn (chưa enforce) · ◐ Gap ① truth verification roadmap'd (v1.0 /lumi-verify 3-stage) · ✗ Gap ④ feedback loop / decay chưa chạm. Tổng: Phase 1 must-have (mục 8) gần như xong, Phase 2 đang đi vào (verify pass), Phase 3 (decay) vẫn để ngỏ. Migration path là bonus deliverable không có trong lộ trình ban đầu — phản ứng đúng với fact rằng có user upgrade từ pre-v0.6.
Doc hygiene update: ROADMAP.md dòng 3 vẫn ghi "Current shipped version: v0.2.0" — lệch 6 minor version với package.json@0.8.1. Card 1.1 cảnh báo từ v0.5.0 vẫn còn nguyên giá trị. Đây là chỗ cuối cùng chưa đồng bộ sau 4 release liên tiếp. (Cập nhật 2026-05-06: ROADMAP đã được refactor sau v1.0, xem 1.3.)
4 release tiếp theo (v0.9.0 · v0.9.1 · v1.0.0 · v1.1.0) trong 3 ngày — vượt mốc v1.0, ship đúng item then chốt của Phase 2 lộ trình: /lumi-verify (truth check). Gap ① từ "roadmap'd" sang closed. Repo bỏ qualifier (v0.1), badge skill chuyển sang Skills-Many để khỏi bump mỗi release.
1cffe95 feat(v0.9): /lumi-verify + /lumi-ingest multi-step workflow. Core skill mới chạy 3 reviewer độc lập trên 1 entry hoặc cả wiki: Blind structural · Grounding raw↔wiki · External web confirmation. Findings ghi vào frontmatter (verify_status, findings:) + report timestamp ở _lumina/_state/. Advisory only, không edit body. Retroactive lên entry cũ. Degrade sạch trên Codex/Gemini/Cursor (Bash-only) bằng prompt files + HALT paste-back.
Rewrite thành 4-checkpoint human-in-the-loop: write draft → check structure → cross-check claims → save. Schema thêm ingest_status (drafted|linted|verified|finalized) cho cross-session resume — restart session route thẳng tới step đang dang dở. Step files tách ra references/step-0{1-4}-*.md, main SKILL.md ≤80 dòng router thuần.
Trên sources: ingest_status, verify_status (passed|findings_pending|drift_detected|skipped|not_applicable), findings array (records: id · reviewer · class · claim · evidence · action). verify-frontmatter validate shape, malformed → fail lint. Tất cả additive, lint cũ vẫn xanh.
Sau accept draft, link cleanup + source check tự chạy nếu sạch. Skill chỉ hỏi lại khi cần judgment (unresolved issues, source-check findings, missing files, overwrite, low confidence save). Agent context emphasis: plain everyday language, dịch workflow term, tránh coding-agent jargon ở user-facing reply. README/guides EN/VI/ZH viết lại "quieter ingest flow" thay vì 4 mandatory checkpoint.
lumina discover run — one-shot scheduled run từ workspace watchlist. Output về raw/discovered/ kèm scoring metadata, dedupe (arxiv ↔ S2 cross-source), run summary. Skill /lumi-research-watchlist giúp config watchlist. Guides advanced cho GitHub Actions / cron / Windows Task Scheduler (EN/VI/ZH). Auto-commit GH Actions khi run thấy diff. Exit non-zero khi hard fetch error → CI/cron không silent pass.
Skill mới (research pack): cluster existing concepts/sources thành thematic topic page wiki/topics/. AI propose cluster từ graph, user confirm trước khi ghi. README EN/VI/ZH bỏ qualifier (v0.1), badge Skills-Many không phải bump per release. User guides /lumi-ingest "What you get back" align across languages.
Tác động lên 4 gap chất lượng (mục 5) — sau v1.1.0: ✓ Gap ③ provenance closed (v0.6→v0.8) · ✓ Gap ① truth check closed (v0.9 /lumi-verify ship) · ◐ Gap ② confidence partial — schema + L11 warn (chưa enforce, vẫn self-rated) · ✗ Gap ④ feedback loop / decay chưa chạm. Tổng: 2/4 closed · 1/4 partial · 1/4 open. Phase 2 must-have của lộ trình (mục 8) đã ship đầy đủ. Còn lại Phase 3 (decay/feedback) — gap duy nhất chưa có item nào trong 8 release liên tiếp.
Re-positioning (mục 9) đã hiện thực: Tagline cũ "Production-grade LLM-Wiki: provenance-tracked, truth-verified, schema-versioned" không còn aspirational. v0.9 /lumi-verify = truth-verified (3-reviewer cross-check). v0.6→v0.8 = provenance-tracked. Manifest schemaVersion 1→3 = schema-versioned. 3/3 promise đã tick.
Phiên đi qua 3 vòng đào sâu: phân tích repo → đối chiếu Karpathy + docx → research thêm nguồn ngoài để cụ thể hoá hành động.
Nắm 3 layer (raw/wiki/schema), 14 skills 3 packs, schema as-code (schemas.mjs), 9 lint checks structural. Khẳng định docx phân tích chính xác về gap.
Engineering hygiene trên trung bình ngành. Gap chính: format ≠ truth, self-rated confidence, no provenance, no review queue, reset hạt nhân, no feedback loop.
Phát hiện: 7 implementation LLM-Wiki khác đã tồn tại. nvk/llm-wiki đã ship adversarial multi-agent + deep lint web-verify.
5 phase, 7–8 PW must-have. Mọi gap có pattern chuẩn hóa. Re-positioning sang "production-grade".
3 layer Karpathy + 4 layer engine của Lumina. Mỗi node link về source GitHub.
| Lớp | Số lượng | Ví dụ | Source |
|---|---|---|---|
| Entity types | 10 | concept · person · source · output · foundation · … | schemas.mjs |
| Edge types (directed) | 28 | cites · contradicts · extends · authored-by · uses-method · … | schemas.mjs |
| Lint checks | 9 (L01–L09) | kebab slug · required frontmatter · reverse edge · dedupe · index refresh | lint.mjs |
| Skills (3 packs) | 14 | core 6 · research 4 · reading 4 | src/skills/ |
| Python tools | 6 | extract_pdf · fetch_arxiv · fetch_s2 · fetch_wikipedia · … | src/tools/ |
Đây là moat — không nên đánh mất khi shift sang production-grade.
Mọi ghi qua temp + fdatasync + rename. safePath() reject .., abs path, drive letter, backslash. Không có lệnh ghi trực tiếp.
git diff --exit-code qua watched paths sau install lần 2. Symlink ladder (symlink → junction → copy) lưu strategy vào manifest.
Test bằng node --test + pytest. ci-package.mjs chặn publish nếu có postinstall. Outbound duy nhất: npm view update check, suppressible.
Markdown + YAML là read/write surface tự nhiên cho LLM agent. Khớp gist Karpathy. Bidirectional link enforcement (28 edge types có inverse).
schemas.mjs pure data, no I/O. Cả wiki.mjs + lint.mjs import. Schema đổi → propagate tự động.
CLAUDE.md / AGENTS.md / GEMINI.md / .cursor là stub ~5 dòng → README.md. Markers <!-- lumina:schema --> cho upgrade idempotent.
Đây là khoảng cách giữa lời hứa "LLM-maintained knowledge artifact" và thực tế "format-validated ETL pipeline". Sau 8 release v0.6 → v1.1.0: 2 đóng hoàn toàn, 1 đóng một phần (schema có, enforce chưa), 1 chưa chạm. Phase 1–2 must-have đã ship.
L01–L12 vẫn structural — nhưng /lumi-verify v0.9 chạy 3 reviewer độc lập ngoài lint pipeline: Blind structural · Grounding raw↔wiki · External web. Findings ghi vào verify_status + findings: array trên frontmatter, advisory-only (không edit body). Retroactive lên entry cũ. Degrade sạch trên Bash-only runtime. Truth check ≠ format check — done.
Schema confidence: float 0–1 đã có trên sources/concepts. Lint L11 warn khi missing. Còn thiếu: signal độc lập (LLM jury / agreement score) — vẫn self-rated, chỉ chuyển từ enum sang continuous. Anti-inflation chưa có.
v0.6: provenance required enum (replayable|partial|missing) + session_id 8-hex trên log entries. v0.8: raw_paths array + raw/download/<resource>/ + lint L12. Tạo entity X từ doc Y giờ truy ngược được tới file trên disk. "Git blame" cho wiki — done.
/lumi-ask sai → lỗi không quay ngược về graph. /lumi-reset vẫn hạt nhân. Confidence decay theo thời gian, query log, citation graph — chưa có item nào trong v0.6 → v0.8.1. Đây là gap duy nhất chưa chạm trong stack chất lượng.
Đến 2026 đã có ≥7 implementation Karpathy LLM-Wiki public. nvk/llm-wiki đã ship những thứ Lumina mới chỉ "nên thêm".
| Repo | Tiếp cận | Mạnh nhất | Yếu |
|---|---|---|---|
| karpathy gist | Spec/manifesto | 5k+ stars trong vài ngày | Không phải implementation |
| SamurAIGPT/llm-wiki-agent | Multi-IDE skill set | Claude/Codex/Gemini, no API key | Lint format-only |
| NicholasSpisak/second-brain | Obsidian-native | Vault tích hợp graph view | Single-IDE |
| nashsu/llm_wiki | Cross-platform desktop | UI cho non-CLI user | GUI heavy |
| nvk/llm-wiki 🔥 | Thesis-driven research | 5/8/10 adversarial agents · deep lint web-verify · session-event provenance · anti-confirmation-bias | Phức tạp |
| Pratiyush/llm-wiki | CLI sessions wiki | Tổng hợp từ session log | Phụ thuộc session capture |
| Robs87/llm-wiki | Hermes Agent skill | Health checks + KG | Nhỏ, mới |
| VectifyAI/OpenKB | Open framework | Library-style | Không opinionated |
| Lumina-Wiki (chúng ta) | npm scaffolder + payload | Engineering hygiene · idempotency CI · multi-IDE · schema-as-code | Quality gate yếu |
Lumina dẫn đầu engineering, theo sau quality features. Không ai trong landscape có: provenance theo chuẩn OpenLineage, schema migration framework, atomic write + idempotency CI, multi-IDE rendered stub. Đây là moat nếu giữ và build trên top.
Mọi gap đều có lời giải sẵn trong literature/industry. Lumina không cần phát minh lại — chỉ cần wire-up.
| Gap | Pattern | Source | Effort |
|---|---|---|---|
| Format ≠ truth | GraphEval: extract claim triples từ source → verify từng edge | arXiv 2407.10793 | 2 PW |
| No provenance | OpenLineage facet model + W3C PROV — RunEvent JSON với input/output facets | openlineage.io | 5 ngày |
| Self-rated confidence | TempValid: numeric [0,1] + score(t) = s₀·exp(-λ·Δt) | ACL 2024 | 3 ngày |
| Self-rated (jury) | LLM Jury: 2–3 model độc lập → diff → agreed = verified | Evidently AI · ACL 2024 | 2 PW |
| No feedback loop | Query log (jsonl) + citation tracking + decay engine | internal design | 2 PW |
| Reset hạt nhân | revoke --run / --source sau khi có provenance | derived | 2 ngày |
Block roadmap v1.0.0 hiện tại cho đến khi Phase 1–3 xong. Source expansion (v2 — OpenAlex/Unpaywall/CORE…) ride trên top quality gate.
Modular split wiki.mjs/lint.mjs · Provenance schema + lineage emitter · Targeted revoke · Migration framework · Numeric confidence migration
extract_claims.py (Python) · Lint L10 (GraphEval truth check) · Lint L11 (contradiction surface) · Skill /lumi-verify
Query log + citation tracking · Confidence decay engine · Lint L12/L13 · Skill /lumi-stale batch re-verify
Provider abstraction · Skill /lumi-cross-verify · Jury aggregation. Cần phân định ranh giới với user-rule "no cross-model review" (đây là content verification, không phải code review).
Daily-fetch · OpenAlex · Unpaywall · CORE · OpenReview · HF papers · PwC · Crossref · DOAJ. Không thay đổi kế hoạch, chỉ dời sau Phase 1–3.
"Domain-agnostic, multi-IDE wiki scaffolder — Karpathy's LLM-Wiki vision, cross-platform and pack-based."
Generic. Không nói được tại sao chọn Lumina thay vì 7 implementation khác. Đối thủ nvk mạnh hơn về features.
"Production-grade LLM-Wiki: provenance-tracked, truth-verified, schema-versioned. The only LLM-Wiki implementation with real ETL discipline."
Differentiator rõ ràng: OpenLineage-compatible event log · GraphEval truth check · schema migration framework · idempotency CI. Target shift sang team/enterprise cần audit.
Tất cả source code, báo cáo, và external references nhắc đến trong phiên.
Sau khi bump v0.5.0, so sánh head-to-head với thieung/personal-wiki-hub — một implementation Karpathy LLM-Wiki khác, Python-only, Obsidian-first, phân phối qua git-clone. Lọc 12 feature qua lăng kính ROADMAP research-vertical.
Repo CHÍNH LÀ knowledge base của user. Python (54 KB) + Shell (5 KB). Obsidian-first (TaskNotes HTTP plugin, Periodic Notes, vault-colors CSS). 12+2 skills: /wiki:capture · ingest · query · browse · audit · synthesize · refresh · autoresearch · index · link · setup · status.
npx lumina-wiki install tạo workspace rỗng vào project bất kỳ. Multi-IDE (Claude/Codex/Gemini/Cursor/generic). Atomic write, idempotency CI, schema-as-code, symlink ladder. 14 skills · 3 packs.
Khác biệt định nghĩa: personal-wiki-hub là content repository; lumina-wiki là tooling. Hai project ở khác layer của cùng pattern, không cạnh tranh trực tiếp.
| Feature | Đánh giá | ROADMAP slot | Lý do |
|---|---|---|---|
| /wiki:status dashboard | REJECT | — | Off-vertical: generic diagnostic, không research-specific. Đã được consider làm /lumi-status rồi reject. |
| /wiki:capture URL/PDF/clipboard | REJECT | — | Generic PKM direction. v1.0.0 ROADMAP đã claim input flow qua /lumi-daily (paper-only). Lệch hướng research vertical. |
| /wiki:browse by type/tag | REJECT | — | Generic navigation. Obsidian/IDE đã cover. |
| /wiki:synthesize | REJECT | — | Contract mơ hồ; có thể làm ad-hoc qua /lumi-ask. |
| Staleness (queried >60 days) | REJECT | — | Generic, không research-specific. Cần access log mới — chi phí cao. |
| notes/ user thinking area | REJECT | — | PKM scope expansion; lệch trục research wiki. |
| /session-sync Claude transcript | REJECT | — | Claude-Code-only — vi phạm cam kết multi-IDE. |
| /tasknotes Obsidian HTTP | REJECT | — | Khoá vào Obsidian + 1 plugin cụ thể. |
| content/, projects/ | REJECT | — | Out of scope: lumina là wiki cho 1 project, không phải multi-project hub. |
| Source hash drift check | PORT | v1.0.0 (stability) | Paper arxiv v1→v2 update âm thầm. /lumi-daily mang bản mới về raw/discovered/ nhưng không flag wiki page cũ. Research-quality signal đúng nghĩa. |
| Supersession edges | PORT | v2.0.0 (schema bump) | Papers literally supersede prior work. Edge type list hiện thiếu supersedes/superseded_by. Piggyback vào v1→v2 schema migration đã planned. |
| /wiki:refresh stale page update | PORT | v1.0.0 (companion of /lumi-daily) | Khi paper update upstream, re-summarize wiki page tương ứng. Pair với drift detection. Reuse wiki.mjs API + /lumi-ingest --refresh. |
Slot: Stability lock (v1.0.0).
Effort: ½ ngày.
Risk: Thấp.
Lưu source_hash khi ingest. checkL10 trong lint.mjs ~50 LOC: với mỗi sources/*.md, so hash với raw file → warn nếu lệch. Không có --fix (drift cần re-ingest).
Slot: Schema migration (v2).
Effort: 1 ngày.
Risk: Trung (schema).
Thêm 2 edge type supersedes / superseded_by trong schemas.mjs (4 LOC). Existing L06 tự động cover bidirectional. /lumi-rank consume superseded_by để downrank.
Slot: Companion of /lumi-daily.
Effort: 1.5 ngày.
Risk: Trung (skill mới).
Skill src/skills/packs/research/refresh/SKILL.md. Input: slug → so source_hash → prompt user re-ingest preserve <!-- user-edited -->. Cần thêm flag /lumi-ingest --refresh.
Synergy: A phát hiện → C refresh → B record supersession. Cả 3 cùng họ "research freshness" — gộp thành 1 theme nhỏ trong v1.0.0–v2.0.0 cycle, cộng vào ROADMAP mà không phá theme chính.
Verify source_hash field đã có trong frontmatter paper; nếu chưa, thêm vào /lumi-ingest phase "source-page". Update ROADMAP version pointer 0.2.0 → 0.5.0.
Ship #A drift L10 + #C /lumi-refresh cùng /lumi-daily. Theme hợp nhất: "input flow + freshness".
Ship #B supersession edges trong cùng schema bump 1→2 đã planned cho per-source IDs (OpenAlex/CORE/DOI). /lumi-rank consume tự nhiên.
Foundation aliases, Wikipedia disambiguation, paper dedup, phase logging. Trong khi personal-wiki-hub thiên general PKM (notes, sessions, tasknotes). Khoảng cách triết lý đang rộng ra, không hẹp lại.
ROADMAP.md dòng 3 ghi "Current shipped version: v0.2.0" — package.json đã 0.5.0. Cần update version pointer kèm release tiếp theo.
Thêm rule trong docs/project-context.md: "Lumina là research wiki, không phải general PKM. Đề xuất port từ general-purpose tool phải tự chứng minh research-specific value." Tránh future contributor lặp đề xuất scope creep.
3 đề xuất port chỉ thêm 2 edge type (vào schema bump đã planned), 1 lint check warning (không error → CI green), và 1 skill mới (pack research, opt-in). Không đụng surface lock của v0.1.
Đánh giá 15 feature từ ROADMAP.md theo độ khó implementation. Effort ước lượng person-week (PW) cho 1 dev quen codebase. Phân tầng: EASY (≤1 PW, no new infra) · MEDIUM (1–2 PW, tích hợp đơn giản) · HARD (3–4 PW, external API/parser mới) · VERY HARD (≥5 PW, kiến trúc mới).
Trạng thái: Đã có commit f4c53fd (ci: add Bun smoke job). Chỉ cần expand matrix + Node 22. Tại sao dễ: không có code change ngoài .github/workflows/. Test framework đã built-in node:test, không runtime-specific. Risk: Bun không support hết node:fs atomics — fallback sẵn có.
Tại sao dễ: Doc-only work — exit code contract đã có sẵn (0/1/2/3 trong CLAUDE.md). Cần freeze + viết docs/cli-contract.md, thêm test "no flag rename without major bump". Risk: 0. Pure documentation.
Tại sao dễ: Single source of truth ở src/scripts/schemas.mjs (pure data). Refactor ID normalization (DOI · arxiv · openalex · semantic-scholar) thành 1 helper, propagate qua wiki.mjs/lint.mjs. Risk: existing wiki content cần migration — đã có migrateManifest framework.
Tại sao dễ: Chỉ 1 helper trong src/tools/ (Python) — cache HTTP response theo URL hash trong _lumina/_state/cache/, TTL 1h. Không đụng schema/skill. Risk: cache invalidation, nhưng session-scope giảm phức tạp.
Lý do nâng độ khó: i18n cho CLI prompts (@clack/prompts) cần resource bundles · 3× docs seeding (template render branch theo locale) · Detect $LANG/--lang flag · Idempotency CI phải pass cho cả 3 ngôn ngữ. Đã có spec: spec-multilingual-installer.md.
Tại sao medium: .txt trivial · .docx cần Python python-docx dependency (đã có infra opt-in pack) · Parse heading hierarchy → wiki section tree. Image OCR tách riêng (xem ⑩).
Tại sao medium: Pack scaffolding đã có (research/reading). Cần domain knowledge — entity types (gene, protein · particle, formula), foundation aliases, lint rules domain-specific. Risk: Scope creep — phải gắt "vertical-only", không phải general extension.
Spec sẵn: spec-paper-ranking.md. Tích hợp OpenCitations COCI · Altmetric API · influential citation count (Semantic Scholar đã có field). Add ranking score vào frontmatter paper. Risk: rate limits, API key management — opt-in.
Spec sẵn: spec-lumi-help.md. RAG over docs/ + skill prompts — embedding store local hoặc on-demand grep+rerank. Inspired by bmad-help. Tại sao không EASY: embedding pipeline mới · provider abstraction phải tránh thêm hard dependency.
Tại sao hard: Tesseract binary dependency (cross-platform install instructions) hoặc cloud OCR (key plumbing — vi phạm rule v0.1 zero key). Layout detection cho table/figure. Trade-off: chỉ ship best-effort, user nhận kết quả "messy raw" + manual /lumi-edit.
Spec sẵn: spec-kg-audit.md. Wiki-wide contradiction detection · structural drift · cycle detection in claim graph. Trùng tinh thần Phase 2/3 quality gate trong section ⑧. Tại sao hard: cần claim-extraction pipeline (Python NLP) + semantic embedding compare — không phải syntactic lint.
Spec sẵn: spec-research-expansion.md. 3 nguồn mới + 1 RSS poller daily. Tại sao hard: mỗi source có schema riêng → cần normalization layer trên đỉnh ① schema parity. Unpaywall = legal-OA resolver, edge case nhiều. RSS poller = stateful long-running task (v0.1 chưa có pattern).
Spec sẵn: spec-universal-ingestion.md. Whisper local (lớn ~1GB model) hoặc API · YouTube transcript API · timestamp-linked citation (entity mới: timecode). Tại sao hard: binary deps · transcript quality variance · timestamp anchor trong markdown chưa có pattern.
Spec sẵn: spec-universal-ingestion.md. OAuth flow (token cache, refresh) · Drive list/get · Docs structured parse · Sheets → table entity. Tại sao hard: credential lifecycle = first stateful auth trong Lumina, vi phạm tinh thần "no key" → buộc opt-in pack riêng + clear isolation. CORS/redirect URI trong CLI flow phức tạp.
Tại sao very hard: "Missing link" = link prediction trên KG (cần embedding học được, không phải rule-based). "Relevant paper" = collaborative filtering + content sim. Đòi hỏi: graph embedding pipeline (Node2Vec/TransE-style) + offline training step + evaluation harness. Không phù hợp v1.x — cần research spike trước commit.
Tại sao very hard: Toàn bộ second product surface — UI framework chọn (Tauri lý tưởng vì size · Electron pragmatic), file watcher, graph visualization, native menu, code signing/notarization (macOS), auto-update. Risk lớn nhất: divergence với CLI surface — phải share core logic, dễ rơi vào maintenance trap. Khuyến nghị: Postpone tới sau Phase 1–3 quality gate (mục 8) close hoàn toàn.
① CI/CD Hardening · ② Stability Lock · ③ Schema Parity · ④ Local Cache. Lý do: không đụng schema/skill mới, mở đường cho tier MEDIUM (đặc biệt ③ Schema Parity là prerequisite cho ⑫ Research Expansion).
⑨ /lumi-help (UX win lớn nhất, giảm onboarding friction) → ⑤ Multilingual (mở thị trường VN/CN) → ⑧ Advanced Ranking → ⑥ Local Doc → ⑦ Domain Packs (rủi ro scope creep cao nhất, làm sau cùng).
Phải làm trước: Phase 1–3 quality gate (mục ⑧). Sau đó: ⑫ Research Expansion (đỡ nhất, dùng pattern fetcher cũ) → ⑪ KG Auditing (overlap Phase 2 verify) → ⑩ OCR → ⑬ Multimedia → ⑭ Google Workspace (cuối cùng vì OAuth phá vỡ tenet "zero key").
⑮ Intelligence Layer cần research spike (1 PW prototype) trước commit. ⑯ Desktop App nên defer hoàn toàn cho v2.x — đến lúc đó user demand sẽ rõ hơn, hoặc CLI đã đủ giàu để không cần GUI. Cảnh báo: 13+ PW cho 2 feature = bằng cả tier MEDIUM cộng lại — opportunity cost rất cao.
| Feature | Phụ thuộc trước | Mở đường cho |
|---|---|---|
| ③ Schema Parity | — | ⑫ Research Expansion · ⑭ Google Workspace · ⑬ Multimedia |
| ④ Local Cache | — | ⑧ Advanced Ranking · ⑫ Research Expansion (rate limit) |
| ⑨ /lumi-help | ② Stability Lock (CLI doc nguồn) | UX cho mọi feature mới sau |
| ⑪ KG Auditing | Phase 2 verify (mục ⑧) | ⑮ Intelligence Layer |
| ⑭ Google Workspace | Auth pattern mới (chưa có) | Enterprise positioning (mục ⑨) |
| ⑯ Desktop App | Toàn bộ Phase 1–3 + UI framework decision | — |
Một câu kết: EASY tier có thể ship 1 sprint cho v1.2; MEDIUM tier là core value của v1.x; HARD tier không nên start trước khi Phase 1–3 quality gate (mục ⑧) close — nếu không sẽ cộng dồn debt lên foundation chưa vững.