DIRECTION / DESIGN / FEAT / ROADMAP / HELPThe first AI value layer on the shipped Foundation: ask your library and draft with AI where every citation is a deterministic pointer to Source truth — the same citation nodes manual /cite emits, no fabrication.
| Feature | ☐ Grounded-Assist slice | Status |
|---|---|---|
| dynamic-organization | the context-routing backbone grounded retrieval consumes — facet scope (M1) + associative recall (M5) + stable anchors (M7) | Building · M0–M6 ✓; next M5 consumer-wiring + M7 W2-live |
| first-warm-library-ask | after import, see which papers are indexed/preparing and ask the ready subset with honest scope + visible source fragments | Next · Owner @pinglin · Gate A CLOSED (Reference AI-index contract) — RM full-text Part 2 now buildable; Gate B before the Ask UI |
| grounded-write | AI drafting/revision where every citation deterministically grounds to a Library Source — the centerpiece WTP capability | Building · Owner @pinglin · G0–G4 CORE LOOP BUILT & MERGED — validator #661 + proto seam #663 → G1 drafter #674 → G2 RPC + review UI #675/#382 → G3 editor insertion (shared insertCitation) #383 → G4 fail-closed guardrails proven e2e #678 → entry-point the in-editor /draft "Draft from sources" command #386 (scope prefilled with cited sources, refinable, compose→review→insert) → M5 substrate slices 1–3 #681/#688/#689 (SearchFileContent now emits the full ratified §4/§9.3 result struct per match: source_fragment triple + source_id via the ai_index_file join + the provenance trust triple). The full loop is user-reachable. Remaining = the scope/expand/citable consumer-wiring; its expand leg is blocked on the M5 recall walk (not yet implemented) |
| visual-rag | visually-rich docs (charts/tables/scanned pages) retrievable by visual content; answers cite the region (bbox+page) | Building · pipeline ✓ default-OFF; next VL-rerank + cite-the-region |
| scholarly-providers | full-text + metadata depth — multi-source cascade (arXiv→Unpaywall→PMC→S2) so more imported papers reach full text instead of ABSTRACT_ONLY; the AI loop can only retrieve what was fetched, so this directly raises Ask/Write quality (also unblocks Create Bibliography via byline 238) | Next · plan-ready (framework + cascade + reconcile; PMC/S2 new; not gated on a design gate) |
/cite emits) → zero invented citations. The non-AI Foundation loops stay fully usable underneath — AI is a lazy gate on top, never a replacement.ai_index_status schema keystone + migration 000195 (#665), and the Scholarly S2 full-text HTTP resolver (#664). Then the full Grounded Write column landed (2026-07-01): RM full-text Part 2 completed (SourceIndexWorkflow #670 + auto-index-on-import #671) → G1 the no-fabrication drafter (#674, retrieve allowed set → constrained prompt → validate → fail-closed) → G2 the DraftGroundedWrite RPC + console GroundedWriteReviewPanel review-before-mutate UI (#675 / #382) → G3 editor insertion, where accepting a draft inserts through the same shared insertCitation path as manual /cite (#383) so the live References section updates with no separate AI path. → G4 fail-closed guardrails proven end-to-end (#678, a negative-integration suite over the real retrieve→generate→parse→validate loop: unsupported prompt / model-invented reference / missing full text each fail closed with a typed reason, inserting nothing). Then the loop was made user-reachable: the in-editor /draft "Draft from sources" command (#386) mounts a compose (scope prefilled with the note's cited sources, refinable) → review → insert panel, and M5 substrate slices 1–3 (#681 → #688 → #689) make SearchFileContent emit the full ratified §4/§9.3 result struct per match — the source_fragment triple (file_id + stable_anchor_id + locator), the citable source_id (a one-query batched join over the RM full-text Part 2 ai_index_file linkage), and the provenance trust triple (origin AUTO on the base path, confidence = the retrieval score, locked reserved for a future Source-pin) — so a consumer gets the whole M4c clickback + no-fabrication identity in one round trip. The wave has moved from "roots built" to the whole G0→G4 loop + entry-point + §9.3 result struct built and merged on main. Remaining is the scope/expand/citable consumer-wiring — its expand leg is blocked on the M5 recall walk (PPR/spreading-activation), which is research-only and not yet implemented./context reveal + tiered compaction + manual /compact (eval +41 pts, async no-stall, gateway + integration #603, SDK #176, console controls #351/#180); the agent-runtime catch-up that keeps long grounded sessions coherent. Agentic Loop (verify phase) shipped — explicit audited verify stage (Slice 1→2a→2b→3 persisted console step, visual-QA'd) + model-agnostic web search (rec #8); stays live only for 2 later items. Tool-surface shrink continues on the same track.Free to validate. A user completes reading, cited writing, and library-judgment with zero AI call. Foundation + Foundation-parallel + Foundation-hardening rows.
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 CitationsDESIGN-reference-source-chain.md D5a/5b (full-text = multi-source cascade + version provenance) + D9a/9b (metadata reconciled + structured-best-effort byline) · generalizes the shipped Scholarly-Metrics S2.5 reconcile pattern · §3 backlog (CORE / OpenAlex best_oa / bioRxiv / ISBNdb) is measured-gated · J7 outbound discovery-search is separate (FEAT-paper-discovery) · design backend/docs/agent/scholarly-providers.md · owner @pinglinAfter Foundation: source-bounded AI writing, then a submission-ready manuscript. Dynamic Organization is the context-routing substrate that feeds grounded write.
DESIGN-faceted-organization:index action #670auto_ai_index import-time auto-trigger #671 — the library indexes itself (import→INDEXED, integration green)readiness rollup + Ask panel (Gate B) nextInward 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).
backend/docs/adr/agent-tool-surface-shrink/Gated after personal-first is complete. Share verbs unlock these.
Later acquisition / enrichment / reading-axis wedges. Useful, not Foundation blockers; promote when they enter a critical path or a ranked slot.
Operator-only, read-only troubleshooting lenses in admin/doc, gated by guardPlatformOperator. Not user-facing; ranking provisional (owner).
FEAT-doc-dashboard; ranking provisional (owner)Large features compress to a minimal MVP first. Useful subfeatures outside that MVP stay visible here with priority, instead of bloating the active acceptance bar. They do not need full implementation planning until they enter a critical path or a ranked slot.
Scope ☑ facts inside the FEAT, never board states. A finished FEAT closes to archive/ (self-labeled Shipped ✓) with the repo's docs/ + help/ as its living record. The board shows only: what's shipped, what's building, what's next.Two former "layers" were cut to stay simple: archive/ is a state (Retired), not a doc type — see Status above; and inward "how it works" is not a planning prefix — it lives in each repo's docs/ / docs/invariants/ next to the code (the quality gate), so planning owns only the outward help/.
| Layer | Prefix / file | Manages | Time |
|---|---|---|---|
| Vision | DIRECTION- | why we exist / where to go | rarely changes |
| Design | DESIGN- | cross-feature laws a FEAT obeys | revised, never ships |
| Feature | FEAT-<name> | one buildable unit (+ Scope ☑/☐) | ships complete |
| Board | ROADMAP.md | ranking + Now + discipline | always rolling |
| Help (outward) | help/ · MkDocs | what a user can do today · en/zh-Hans/zh-Hant · on ship | tracks shipped |
shubo-planning skill — fires whenever a feature/scope is discussed.