Files
Marcos Paulo 15d7f5e873 feat: editor blocks and lint, vault knowledge, calendar plugin, macOS menu
- notescraft-lint (rules, safe fixes, learned style) and notescraft-blocks (block model and edits); engine lint.* and block.* commands with CLI and MCP parity
- Lint tab, underlines, slash menu with preview in Source and Visual, block grip and menu, Settings > Editor and lint, Vim block keys
- Visual view: tables, note embeds, %% comments, wrapping property chips
- Vault knowledge (Related tab, assistant sources, Settings) and calendar plugin
- Sidebar top padding fixed, dot grid follows PaperCraft spacing, right-card tabs no longer cover the collapse button

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-18 12:36:00 -03:00

2.8 KiB

Tasks: Vault knowledge

Rules: each task is independently testable; order = execution order. Waves run in parallel by file set.

Wave 1

  • 1. Pure crate notescraft-knowledge: tokens, chunk, passage index (BM25), caps. Files: crates/knowledge/** (new), root Cargo.toml, xtask/src/layers.rs Done when: cargo test -p notescraft-knowledge green; chunk and index tests incl. hostile inputs.
  • 2. Config and strings: KnowledgeConfig, settings paths, i18n keys for all screens. Files: crates/engine/src/prefs/{knowledge_config,config,settings,mod}.rs, crates/i18n/locales/en.toml, crates/ui-egui/src/text/** Done when: settings.set session.knowledge.passages round-trips; cargo xtask i18n green.

Wave 2 (after 1)

  • 3. Vocabulary expansion, link/tag signals, fusion ranking, evaluation set (recall@6 >= 80%). Files: crates/knowledge/src/{vocab,graph,rank}.rs, crates/knowledge/tests/** Done when: eval prints recall and passes; vocab example (reminder/notify) test passes.
  • 4. Engine wiring and commands knowledge.*, incremental updates, exclusions, status/rebuild, assistant gate plugin knowledge. Files: crates/engine/src/knowledge/**, crates/engine/src/{lib,commands,vault/*}.rs, crates/engine/src/ai/assistant_gate.rs, crates/engine/tests/knowledge_commands.rs Done when: commands registered; change in a note is searchable within one call; excluded folder never returned.

Wave 3 (after 3 and 4; disjoint files)

  • 5. MCP: vault_context alias, knowledge_* tools, parity test engine = CLI = MCP. Files: crates/mcp/src/calls/**, crates/mcp/tests/**
  • 6. Assistant auto context: add passages to the prompt within budget, store sources on the message, show them (Context card, [n] chips) per artboard "Assistant sources" (Knowledge page). Files: crates/ui-egui/src/panels/assistant_panel/**
  • 7. Related tab and right-card tab bar per artboard "Related notes" (Knowledge page) (icon-only inactive tabs). Files: crates/ui-egui/src/panels/{related_panel,right_view,mod}.rs
  • 8. Settings > AI assistant > Knowledge per artboard "Settings / Knowledge" (Knowledge page). Files: crates/ui-egui/src/views/settings_view/categories/{knowledge,assistant}.rs, .../controls.rs

Wave 4 (after 6, 7, 8)

  • 9. Compact layout: width class below 600 pt, bottom sheet widget, 44 pt targets; apply to tasks 6-8 screens per artboard "Mobile / Sources sheet" (Knowledge page). Files: crates/ui-egui/src/widgets/bottom_sheet.rs, crates/ui-egui/src/style/compact.rs, the three screens' files (touch only layout)
  • 10. Docs and gate: SPEC item, ROADMAP, ARCHITECTURE, HANDOVER; cargo xtask ci green; rebuild app. Files: SPEC.md, ROADMAP.md, docs/ARCHITECTURE.md, HANDOVER.md