The 'filters content by date range' test used fixed fixture dates
(### 2026-02-25) inside a 30-day window, so it passed only while the
real clock was within 30 days of that date and began failing as the
current date advanced. extractContentByDateRange is correct; it uses
new Date() as "now". Pin the system clock with vi.setSystemTime so the
fixed fixture dates evaluate deterministically regardless of the wall
clock.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add TaskFileService, which writes `status: pending` task files to
OpenAugi/Tasks/ via the Obsidian vault API — no shell-out, no HTTP, no
Node modules, so it works on mobile too. The file format mirrors the
parent repo's templates/task-template.md contract consumed by
task_watcher.py.
New commands (all platforms):
- Augi: Run review pass -> "run the review pass"
- Augi: Process dashboard -> "process the dashboard"
- Augi: Distill selection -> selection/active-note body becomes the
## Context; distill-lens instruction
Deprecate the legacy Task Dispatch feature (it launches tmux itself,
bypassing the watcher). Kept functional for community users without the
Python watcher; steer new use to task files via docs banner, settings UI
label, and a @deprecated marker. To be removed over a release or two.
Docs: new docs/AGENT_TASKS.md; README + CODEBASE_MAP updated to lead with
the task-file flow. Tests: 18 new, including a watcher-frontmatter-regex
compat check and same-second collision handling.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
TaskDispatchService uses Node.js modules (child_process, fs, path) that
are unavailable on Obsidian mobile. Switch to dynamic import with
Platform.isMobile guard so the plugin loads cleanly on mobile while
keeping full task dispatch functionality on desktop.
- Use `import type` + dynamic `import()` for TaskDispatchService
- Guard task dispatch commands behind Platform.isMobile check
- Lazy-import detectTmuxPath in settings tab
- Bump version to 0.5.2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bump @types/node from ^16 to ^20 to satisfy vitest@3.2.4 peer dependency
requirement, fixing CI build failures.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Bidirectional link traversal: discover notes that link TO discovered notes
- Header section extraction for backlinks (not full content)
- "Include backlinks" toggle (enabled by default)
- Visual "← backlink" badge in selection modal
- Output prefixes: "# Note:" for forward links, "# Backlink:" for backlinks
- Deduplicate snippets when multiple links in same section