From 6e1921230a43983ffce1fe81daf3c4df83868d80 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 19 Apr 2026 08:16:47 +0000 Subject: [PATCH] docs: sync markdown files with current codebase state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove BottomSheet.svelte from PLAN.md file structure (deleted in efb4cca — NewTaskInput hand-rolls its own sheet) - Expand workspace path validation description in API.md and CLAUDE.md to include filesystem root "/" alongside system directories, matching the forbidden list added in fix(tauri): reject "/" root path https://claude.ai/code/session_015BSAnuhvMBLk7s4g7dSE53 --- CLAUDE.md | 2 +- PLAN.md | 1 - docs/API.md | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index de91fb4..e9c0a0c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -106,7 +106,7 @@ Pre-alpha. No users, no released builds, no data to migrate. Breaking changes to - Task deduplication on load (handles sync conflict duplicates) - Subtask hierarchy: subtask count shown on parent tasks in list, subtask detail via three-panel slide navigation, inline add at top of subtask list (new subtasks prepend), collapsible completed subtasks section, cascade delete (parent deletion removes all subtasks with confirmation warning) - Custom confirmation dialogs (ConfirmDialog component replaces native confirm()) -- Workspace path validation (rejects system directories) +- Workspace path validation (rejects filesystem root `/` and system directories: `/etc`, `/usr`, `/bin`, `/sbin`, `/var`, `/proc`, `/sys`, `/dev`) - Task detail auto-cleanup (taskStack clears when viewed task is deleted or list switches) - Swipe gestures on mobile: swipe left/right on a task to toggle completion (swipe direction depends on current status) - Accessibility: ARIA labels/roles on interactive components, keyboard handlers, `prefers-reduced-motion` CSS support diff --git a/PLAN.md b/PLAN.md index 8186244..800f5cc 100644 --- a/PLAN.md +++ b/PLAN.md @@ -671,7 +671,6 @@ apps/tauri/ │ │ ├── TaskItem.svelte │ │ ├── NewTaskInput.svelte │ │ ├── TaskDetailView.svelte -│ │ ├── BottomSheet.svelte │ │ ├── ConfirmDialog.svelte │ │ └── DateTimePicker.svelte │ └── stores/ diff --git a/docs/API.md b/docs/API.md index f8b3c1d..b8d2435 100644 --- a/docs/API.md +++ b/docs/API.md @@ -454,7 +454,7 @@ All metadata and state files use an atomic write pattern (write to `.tmp` then r - **List names**: Rejected if they contain `/`, `\`, or `..` components. Canonicalized and verified to stay within workspace root. - **Sync paths**: Validated to reject `..` components and backslashes anywhere in the path before any file system operation. -- **Workspace paths** (Tauri): Rejected if they point to system directories (`/etc`, `/usr`, `/bin`, etc.). +- **Workspace paths** (Tauri): Rejected if they point to the filesystem root (`/`) or system directories (`/etc`, `/usr`, `/bin`, `/sbin`, `/var`, `/proc`, `/sys`, `/dev`). - **Filenames**: Sanitized to replace `/ \ : * ? " < > |` and control characters with `_`. ## Example: Complete Workflow