FOUNDATION personal library · read + cited writing + judgment
Free to validate. A user completes reading, cited writing, and library-judgment with zero AI call. Foundation + Foundation-parallel + Foundation-hardening rows.
1Reference Library
Shipped · foundation substrate
now, the root — Library list/search/filter, full-text availability, My work, import/export, and arXiv enrich all landed; R3 AI-index bridge boundary is plan-ready but post-Foundation (Grounded Assist), not Foundation
Import/export shipped#127 / #203 mergedLater · AI-index bridge
Pull 5Gate 5Effort 3Rev 5
2Note Editor
Shipped ✓ · + Wave 2
foundation + Wave 2 writing essentials all shipped — production notes, CRUD, location/move, TipTap editor, slash commands, word/char count, find/replace, markdown interop, image paste, sub/superscript, footnotes, table-of-contents; no sharing UX; editor FEAT stays live for a future Wave 3
Backend CRUD/body/move/revision/ACL ✓ #361FE editor ✓ #240Wave 2 ✓ #281/#282-284/#287-288/#296/#301
Pull 4Gate 4Effort 4Rev 5
blocks Note Citations, Grounded AI Write, Submission Export, Manuscript Review
3Import Door
Shipped · .bib door
narrow onboarding slice — DOI paste + .bib Foundation door shipped; RIS/CSL-JSON + DOI/arXiv input ride the same parser/import path; PDF upload/import and route ①/③/add-your-work later
Route ② shipped#127 / #203 merged
Pull 5Gate 4Effort 4Rev 5
depends on reference-manager Source truth; does not block Note Editor
4Note Citations
Shipped · #438/#349
the non-AI writing bicycle — /cite a Library paper or @-mention → Source-backed citation nodes → live References list → full CSL style picker/search + style persistence; citation/reference hover cards; note-scope Copy + Export BibTeX. Manual cited-writing loop landed end-to-end 2026-06-29 (backend #438 body/style/source-resolution contract + frontend-shubo #349; backend #598 hardened source search/export keys)
backend #438 / #598frontend-shubo #349Note Editor prereq ✓ #240
Pull 5Gate 5Effort 3Rev 4
now feeds Grounded AI Write, Submission Export, Manuscript Review — they consume its citation-node truth. Follow-ups: Source-aware CMD+K, locator/rebind depth, full CSL XML same-origin corpus
27Scholarly Metrics
Shipped · S1+S2 built & k6-green
core-MVP library judgment (@pinglin 2026-06-28) — S1 "Cited by N"/counts-by-year on Source via the shipped OpenAlex enrich + Source Curation rail; S2 the Author entity (zero-migration from x-openalex-author-ids) + h-index. Deterministic OpenAlex projection, no AI. Honest: S2 adds a new entity → expands Foundation, must not block Note Citations
S1 "Cited by N" — k6 13/13 (#586 + #341)S2 Author entity + h-index — k6 16/16 (#587 + #342)S3 post-MVP (impact-sort, follow-feed)
Pull 4Gate 2Effort 3Rev 5
rides the shipped Source enrich (#116) + Source Curation rail (#276/#299) · obeys DESIGN-reference-source-chain.md D13–D14 (metrics are a volatile provider projection, never csl_json truth) · Gate=2 — nothing depends on it, so parallel within Foundation; must not block Note Citations
5Paper Reader
Shipped · Read v1 + Mark v2 (M0–M3)
Foundation parallel — Read v1 opens a Library PDF in a large branded reader; Mark v2 highlight → note → jumpback + usr private / org workspace layers + creator attribution shipped (frontend #137/#138 + backend #322 on merged Source access gate #271). M4 clickback is a 2D matrix: M4a Source-level from note citations ✓ (#349) and M4b file page/highlight from chat ✓ (inherited RAG infra, file-centric) both ship; M4c Source-anchored page-level (cite → Source → page) is the remaining slice
Read v1 shippedMark v2 M0–M3 shippedM4a Source-clickback ✓M4b file page-clickback ✓M4c Source-anchored page later
Pull 5Gate 4Effort 3Rev 4
does not block non-AI cited writing
6Source Access Foundation
Shipped · #271/#322
Foundation hardening — the one reusable can_read / can_update / can_delete_source boundary every Source consumer calls; personal-ns + org/library semantics (verified 2026-06-24)
Shipped · #271 per-object source: FGA boundary + #322 annotation consumption
Pull 4Gate 5Effort 4Rev 5
live gate for Paper Reader Mark v2 endpoints · Source-backed citations · grounded fragments — they call it instead of inventing Source ACLs
22Source Curation
Shipped · #420/#480
Foundation hardening — Source completion escape hatch + Note Citations' incomplete-repair path: shared Source details rail in Library + Paper Reader, inline metadata edit (title/abstract/authors/year/venue/DOI), re-verify/refresh, attach/replace PDF
Backend #420 / #480frontend-shubo #276 / #299title rename ✓ inline #276
Pull 4Gate 4Effort 4Rev 5
precursor to the deep Zotero/PDF connector work
GROUNDED ASSIST → FINISH the AI value layer
After Foundation: source-bounded AI writing, then a submission-ready manuscript. Dynamic Organization is the context-routing substrate that feeds grounded write.
10Dynamic Organization
Building · context routing
context-routing system for agents: consolidates unstructured content + long-term memory into metadata scopes, associative recall, and evidence anchors so agents find relevant context with fewer tokens; folders stay user-owned. M0 substrate runs parallel with Foundation
M0–M5 builtM3 autonomy completeM4 scope + RM facetsM6 ChatTopic ✓M7 anchor path proven · W2 remainderM8 laterGrounded Write dep ratified
Pull 4Gate 4Effort 2Rev 4
depends on reference-manager + Import Door (a populated library) · provides the Grounded AI Write context-routing substrate · obeys DESIGN-faceted-organization
11First Warm Library Ask
Next · activation
Grounded Assist activation/RAG proof after Import Door + RM full-text Part 2/R3 — readiness rollup, manual Library Ask, source fragments, and scope disclosure
Plan ready · Slice 1Slice 2 chips later
Pull 3Gate 2Effort 3Rev 5
good-to-have for onboarding activation; not the writing spine
7Grounded AI Write
Grounded Assist · needs design pass
Grounded Assist — after Note Editor + Note Citations + RM AI-index/RAG + Dynamic Organization context routing; AI suggestions emit citation nodes; first AI command contract is not plan-ready
Not plan ready
Pull 5Gate 5Effort 2Rev 4
depends on Note Editor + Note Citations + RM AI-index/RAG + Dynamic Organization context-routing consumer contract
8Submission Export
Manuscript Finish · design pinned
Manuscript Finish — after Note Citations; cited note/draft → docx/LaTeX/venue handoff
Pull 4Gate 3Effort 2Rev 3
depends on Note Editor + Note Citations (cited note/draft model)
9Manuscript Review
Manuscript Finish · design pinned
Manuscript Finish — after Grounded AI Write; claim/citation audit (unsupported claims, weak evidence, misattribution)
Pull 4Gate 3Effort 2Rev 4
depends on Note Citations + Grounded AI Write (a cited note/draft + source provenance)
PLATFORM agent infra · parallel @pinglin
Inward agent-architecture, not Foundation features. Parallel work that must not block Foundation; mostly not user-facing (R7 n/a unless a user-visible slice ships).
12Credit Metering (pipeline)
Shipped
pipeline-backend meters document-parsing LLM/VLM/embedding via the centralized mgmt credit sink (record-at-0 for self-hosted, tagged document/pipeline), replacing the legacy Instill-Credit pre-check; + admin console document badge
#357/#358/#359 + FE #87meter moved to artifact worker #512
Pull 3Gate 3Effort 3Rev 4
inward platform — not on the Foundation critical path
23Tool-surface shrink
Shipped · default on
inward agent architecture — the chat agent's read/exec surface is now one generic URI-addressed verb set (query/ls/grep/read/exec over collection://·workspace://·memory://·note://·kb://); the 14 bespoke per-entity tools + flag retired; the row write (create/update/delete) + column write surface is complete and integration-tested
Default on · #471/#486/#489exec write surface complete☐ exec column type-alter
Pull 2Gate 2Effort 4Rev 5
not user-facing → no help article (R7 n/a); obeys backend/docs/adr/agent-tool-surface-shrink/
24Context Management
Shipped · Stages 1–3
accurate token accounting + SOTA tiered compaction + the /context reveal; replaces the len/4 heuristic; exploits Shubo's deep memory for loss-resistant compaction. The console /context view is the user-visible slice
Stage-1 /context (user-facing)Stage-2 compaction + warm-summaryStage-3 /compact + eval +41pts · #596/#603/#176/#351/#180
Pull 3Gate 2Effort 3Rev 4
inward platform — console /context view triggers R7 on ship
25Agentic Loop (verify phase)
Building
surface the knowledge-agent loop as named phases (retrieve→answer→verify) like Claude Code; verify leans into Shubo's grounding strength — citation resolution + mention validation become an observable, audited stage
Verify Slice 1 shipped #546Slice 2 self-correctionSlice 3 FE verify stage
Pull 3Gate 2Effort 2Rev 4
inward platform — R7 fires on the frontend verify stage
SHARE ERA collaboration layer
Gated after personal-first is complete. Share verbs unlock these.
14Real-time Collaboration
Next · designed
when share lands — the collaboration base (Hocuspocus + Yjs)
Pull 3Gate 5Effort 3Rev 5
depends on personal-first complete
15Comments
Next · designed
right after collab — "share to comment", anchors free from Yjs
Pull 4Gate 3Effort 4Rev 5
depends on collaboration (Yjs anchor layer)
16Notification Center
Next · designed
with comment — mention/reply triggers; self-built center + Sonner toast
Pull 3Gate 3Effort 4Rev 5
depends on collaboration (event source)
GROWTH · later enrichment & activation
Later acquisition / enrichment / reading-axis wedges. Useful, not Foundation blockers; promote when they enter a critical path or a ranked slot.
13Full Onboarding
Building · later acquisition
route ① OpenAlex/ORCID claim → My work shipped; route ③ topic and add-your-work later
Pull 3Gate 2Effort 3Rev 5
not a Foundation blocker; the narrow Import Door owns cited-writing entry
17Citation Discovery
Later enrichment · needs design pass
later enrichment — after Foundation and/or the Library Ask path is green + GROBID parse in pipeline; Cap A per-import library snowball leads, Cap B in-text [n] resolution follows Library Ask
Needs design pass
Pull 3Gate 2Effort 3Rev 5
a leaf — nothing depends on it; user-facing/RAG-bound sibling of Cross-reference graph (#26), same GROBID parse
18Multi-valued cells (Collections)
Next · designed
user-made-Collections array-of-typed-values per cell (the autofill agent's homogeneous-extraction output; user/RM/tagger also fill); a NEW cardinality axis ⟂ SELECTION option-multiplicity, all types incl SELECTION; off the dynamic-org M0–M8 path, reuses M7/ADR-0018 per-element anchors
ADR-0011/0017/0018 ratified · not built
Pull 3Gate 3Effort 3Rev 4
later enrichment; off the dynamic-org M0–M8 critical path
21Visual-modality RAG
Building · retrieval quality
route by chunk modality — visual leaves → Qwen3-VL-Embedding, dual-index text+visual + VL rerank + cite-the-region, each behind CFG_DYNORG_VISUAL_*; extends dynamic-org M7
Stage-1 page-image persistence ✓ #402/#408ADR-0024 unified-embedder shipped gated-OFFVL rerank + default-on rollout remaining
Pull 3Gate 3Effort 2Rev 4
extends dynamic-org M7; ranking provisional (owner)
20Interactive Podcast
Next · POC'd, not built
a paper → engaging two-host audio that, on playback, auto-scrolls + highlights the discussed source span (anchors emitted at script-generation + forced-align timestamps). v1 = forward sync on a user-picked paper; fast-follow = reverse-sync + transcript toggle + doc-order outline. Includes a grounded chapter-nav/outline (one structure, narrative + document orderings) that subsumes a separate paper-AI-outline — do not open one; UIUX inherits the Scholar PDF Reader lessons (toggleable; substance-not-meta titles)
paper→script→audio POC'dproduct surface not builtobeys DESIGN-grounded-generation-sync
Pull 3Gate 2Effort 2Rev 4
depends on Paper Reader (clickback render) + fine-grained citation (the anchor) · does NOT depend on the Feed (a later which-paper layer) · does not block Foundation
Effort = 2 (not light): the product surface is ~80% assembly, but the TTS/MOSS generation needs model serving — new infra (Ray Serve / async), the real cost driver
OPERATOR · internal dynamic-org ops
Operator-only, read-only troubleshooting lenses in admin/doc, gated by guardPlatformOperator. Not user-facing; ranking provisional (owner).
19Document Dashboard (admin/doc)
Building
operator-only troubleshooting lens for one document across the dynamic-org pipeline (parse/DoclingDocument+bboxes/DocTags → facet-tags + node↔tag → RAG index/retrieve → embedding projection → real-time M5 tunnel graph → doc↔memory assoc) + per-dataset M0–M8 benchmark surface; read-only, ~80% new backend read-APIs, relocates Memory → admin/memory
W1–W6 + W8 cut-1 built · W1–W4 + tags e2e liveW7 + cut-2s + landing remain
Pull 2Gate 2Effort 2Rev 4
internal troubleshooting leaf on FEAT-doc-dashboard; ranking provisional (owner)
26Cross-reference graph (observability)
Building
operator-only bidirectional cross-reference lens in admin/doc — forward inline-anchor→target popover (citations [13]→bib entry + figure/table/eq cross-refs "see Figure 3") + backward reference/element→anchors back-ref list + PDF bbox-hover anchor popover; observability-only — RAG-free by construction (evidence-tree overlay, never Milvus) + an enforced invariant; reuses the GROBID marker capture + the ADR-0023 matcher
Slices 1+2 built · e2e 41/41 (#586)slice 3 viewer/popovers later
Pull 2Gate 2Effort 3Rev 5
operator/RAG-free sibling of Citation Discovery (#17), same GROBID parse (parse-once, many consumers); ranking provisional (owner)