247 lines
8.6 KiB
Markdown
247 lines
8.6 KiB
Markdown
# Obsidian Vault Remediation Plan
|
||||
|
|
|
|||
|
|
**Created:** 2025-12-30
|
|||
|
|
**Scope:** Fix all HIGH and MEDIUM priority issues identified in vault audit
|
|||
|
|
**Total Batches:** 5
|
|||
|
|
**Estimated Files to Modify:** ~80-100 files
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Batch 1: Critical Structure Fixes
|
|||
|
|
|
|||
|
|
**Objective:** Fix duplicate directories, broken wikilinks, orphaned files
|
|||
|
|
|
|||
|
|
### 1.1 Remove Duplicate "System Architec" Directory
|
|||
|
|
**Files to archive:**
|
|||
|
|
- `200-area/Personal Development/System Architec/产出(Deliverables).md`
|
|||
|
|
- `200-area/Personal Development/System Architec/决策方法.md`
|
|||
|
|
- `200-area/Personal Development/System Architec/架构目标(Architecture Goals).md`
|
|||
|
|
- `200-area/Personal Development/System Architec/系统架构分析员知识体系.md`
|
|||
|
|
|
|||
|
|
**Actions:**
|
|||
|
|
1. Move all 4 files to `400-archive/_duplicates/System Architec/`
|
|||
|
|
2. Remove empty `200-area/Personal Development/System Architec/` directory
|
|||
|
|
3. Keep canonical versions in `200-area/Personal Development/System Architecture/`
|
|||
|
|
|
|||
|
|
### 1.2 Fix Broken PARA Notes Wikilinks
|
|||
|
|
**Files with broken links:**
|
|||
|
|
- `300-resources/Personal Knowledge Management/PARA/Outline.md` (lines 6, 13)
|
|||
|
|
- `100-project/Personal/PARA Starter Kit/Outline.md`
|
|||
|
|
|
|||
|
|
**Options:**
|
|||
|
|
- Option A: Create `PARA Notes.md` file with sections for Definitions and Workflow
|
|||
|
|
- Option B: Remove the embed syntax and inline the content
|
|||
|
|
- **Recommended:** Option B - inline the content since these are starter kit files
|
|||
|
|
|
|||
|
|
**Actions:**
|
|||
|
|
1. Edit both Outline.md files to replace `![[PARA Notes#...]]` with actual content or remove embeds
|
|||
|
|
2. Document decision in change report
|
|||
|
|
|
|||
|
|
### 1.3 Relocate Orphaned Image
|
|||
|
|
**File:** `Pasted image 20240909145917.png` (29 KB, at vault root)
|
|||
|
|
**Referenced in:** `100-project/Work/工信/Login.md:92`
|
|||
|
|
|
|||
|
|
**Actions:**
|
|||
|
|
1. Create `100-project/Work/工信/attachments/` directory
|
|||
|
|
2. Move image to `100-project/Work/工信/attachments/Pasted image 20240909145917.png`
|
|||
|
|
3. Update reference in `Login.md` to `![[attachments/Pasted image 20240909145917.png]]`
|
|||
|
|
|
|||
|
|
### 1.4 Cleanup Root-Level Files
|
|||
|
|
**Files at vault root (non-standard):**
|
|||
|
|
- `2024-10-28.md` (0 bytes - empty)
|
|||
|
|
- `2025-12-29.md` (review content, likely daily note)
|
|||
|
|
- `AGENTS.md` (keep - vault documentation)
|
|||
|
|
- `CLAUDE.md` (keep - vault documentation)
|
|||
|
|
|
|||
|
|
**Actions:**
|
|||
|
|
1. Delete `2024-10-28.md` (empty file)
|
|||
|
|
2. Review `2025-12-29.md` content and move to appropriate location or inbox
|
|||
|
|
|
|||
|
|
**Expected Result:** Broken links fixed, orphaned files relocated, structure clean
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Batch 2: Duplicate File Consolidation
|
|||
|
|
|
|||
|
|
**Objective:** Merge duplicate files, archive originals
|
|||
|
|
|
|||
|
|
### 2.1 Duplicate File Pairs to Consolidate
|
|||
|
|
|
|||
|
|
| Canonical Location | Duplicate to Archive | PARA Category |
|
|||
|
|
|-------------------|---------------------|---------------|
|
|||
|
|
| `200-area/Lifestyle/Mobile/在非原生ESIM设备上申请Giffgaff ESIM.md` | `100-project/Personal/Phone/在非原生ESIM设备上申请Giffgaff ESIM.md` | Area (ongoing reference) |
|
|||
|
|
| `100-project/Home-Automation/Config/Database.md` | `100-project/Personal/Software/Home Assistant/Database.md` | Keep in Home-Automation (project context) |
|
|||
|
|
| `100-project/Personal/Hardware/ER-X.md` | `100-project/Infrastructure/Network/ER-X.md` | Keep in Infrastructure |
|
|||
|
|
| `100-project/Personal/VPS/DNS.md` | `100-project/Infrastructure/VPS/DNS.md` | Keep in Infrastructure |
|
|||
|
|
|
|||
|
|
### 2.2 arc42 Template Duplication
|
|||
|
|
**Locations:**
|
|||
|
|
- `300-resources/Personal Knowledge Management/arc42/`
|
|||
|
|
- Multiple project folders potentially
|
|||
|
|
|
|||
|
|
**Actions:**
|
|||
|
|
1. Identify all arc42 template instances
|
|||
|
|
2. Keep canonical template in `300-resources/Personal Knowledge Management/arc42/`
|
|||
|
|
3. For project-specific arc42 documents, verify they're actual project docs (keep) vs empty templates (archive)
|
|||
|
|
4. Archive duplicate empty templates to `400-archive/_duplicates/arc42-templates/`
|
|||
|
|
|
|||
|
|
**Expected Result:** Each unique file exists in one canonical location, duplicates archived with stub links
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Batch 3: Add Frontmatter to Files
|
|||
|
|
|
|||
|
|
**Objective:** Add consistent frontmatter to 32+ files missing it
|
|||
|
|
|
|||
|
|
### 3.1 Files Requiring Frontmatter (200-area subset)
|
|||
|
|
Based on grep results, ~27 files in 200-area need frontmatter:
|
|||
|
|
|
|||
|
|
**Identified files:**
|
|||
|
|
- `200-area/House/Apartment.md`
|
|||
|
|
- `200-area/House/Moving tip.md`
|
|||
|
|
- `200-area/Personal Development/Excitement map.md`
|
|||
|
|
- `200-area/Finance/Annual Salary to Weekly.md`
|
|||
|
|
- `200-area/Finance/YNAB Reminder.md`
|
|||
|
|
- `200-area/Job/Install IPA server.md`
|
|||
|
|
- `200-area/Job/block sudo to specific command.md`
|
|||
|
|
- `200-area/Job/Filesystem limitation.md`
|
|||
|
|
- `200-area/Job/Gradle cheatsheet.md`
|
|||
|
|
- `200-area/Job/curl POST examples.md`
|
|||
|
|
- *(Additional files to be identified via grep)*
|
|||
|
|
|
|||
|
|
### 3.2 Frontmatter Template
|
|||
|
|
```yaml
|
|||
|
|
---
|
|||
|
|
title: <filename without extension>
|
|||
|
|
created: <file creation date>
|
|||
|
|
updated: <file modification date>
|
|||
|
|
tags: []
|
|||
|
|
---
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.3 Actions
|
|||
|
|
1. Run comprehensive grep to identify ALL files without frontmatter
|
|||
|
|
2. Add frontmatter to each file using template above
|
|||
|
|
3. Preserve all existing content
|
|||
|
|
4. Use file metadata for created/updated dates
|
|||
|
|
|
|||
|
|
**Expected Result:** Consistent frontmatter across all markdown files (target 90%+ coverage)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Batch 4: Fix PARA Violations
|
|||
|
|
|
|||
|
|
**Objective:** Move misplaced files to correct PARA categories
|
|||
|
|
|
|||
|
|
### 4.1 PARA Classification Rules
|
|||
|
|
- **Projects (100-project/)**: Active work with deadline/outcome
|
|||
|
|
- **Areas (200-area/)**: Ongoing responsibilities, no end date
|
|||
|
|
- **Resources (300-resources/)**: Reference materials, templates, documentation
|
|||
|
|
- **Archive (400-archive/)**: Completed/inactive items
|
|||
|
|
|
|||
|
|
### 4.2 Files to Review and Relocate
|
|||
|
|
**To be identified via audit:**
|
|||
|
|
- Configuration files in project folders that should be in Resources
|
|||
|
|
- Reference documentation in Projects that should be in Resources
|
|||
|
|
- Completed projects that should be in Archive
|
|||
|
|
- Area-related notes in Project folders
|
|||
|
|
|
|||
|
|
### 4.3 Example Relocations (TBD after detailed review)
|
|||
|
|
- Template files → `300-resources/`
|
|||
|
|
- Inactive projects → `400-archive/`
|
|||
|
|
- Ongoing reference material → `200-area/` or `300-resources/`
|
|||
|
|
|
|||
|
|
**Expected Result:** All files in correct PARA category, wikilinks updated
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Batch 5: Medium Priority Cleanup
|
|||
|
|
|
|||
|
|
**Objective:** Clean empty files, document git status, inbox organization
|
|||
|
|
|
|||
|
|
### 5.1 Empty Files Cleanup
|
|||
|
|
**Files in `400-archive/_empty-files/`:**
|
|||
|
|
- `YNAB Reminder.md` (0 bytes) - delete
|
|||
|
|
- `providers.md` (1 byte) - delete
|
|||
|
|
- `2024-10-28.md` (0 bytes, at root) - delete
|
|||
|
|
- `400-archive/未命名.md` (15 bytes - single ID) - delete
|
|||
|
|
|
|||
|
|
**Actions:** Delete these files entirely (already archived)
|
|||
|
|
|
|||
|
|
### 5.2 Untracked Git Files (23 files)
|
|||
|
|
**From git status:**
|
|||
|
|
```
|
|||
|
|
100-project/Personal/
|
|||
|
|
200-area/Finance/YNAB Reminder.md
|
|||
|
|
200-area/GFW/
|
|||
|
|
200-area/Job/Filesystem limitation.md
|
|||
|
|
200-area/Job/Gradle cheatsheet.md
|
|||
|
|
200-area/Job/Install IPA server.md
|
|||
|
|
200-area/Job/block sudo to specific command.md
|
|||
|
|
200-area/Job/curl POST examples.md
|
|||
|
|
200-area/Personal Development/System Architec/
|
|||
|
|
300-resources/Apple App Password.md
|
|||
|
|
300-resources/Community/Matrix Server.md
|
|||
|
|
300-resources/Development/Better developers Using from X import Y in Python.md
|
|||
|
|
300-resources/Development/Mock Patching.md
|
|||
|
|
300-resources/Development/Monogo.md
|
|||
|
|
300-resources/Development/better developers computers are cheap people are expensive.md
|
|||
|
|
300-resources/Network/Cookies.md
|
|||
|
|
300-resources/Network/Domains.md
|
|||
|
|
300-resources/Personal Knowledge Management/arc42/
|
|||
|
|
CLAUDE.md
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Actions:**
|
|||
|
|
1. After all batches complete, run `git add` for relevant new/modified files
|
|||
|
|
2. Create commit with summary of remediation work
|
|||
|
|
3. Document any files intentionally left untracked
|
|||
|
|
|
|||
|
|
### 5.3 Inbox Organization Recommendations
|
|||
|
|
**000-inbox/ status:** 134 files organized by year/month
|
|||
|
|
|
|||
|
|
**Actions:**
|
|||
|
|
- Document inbox processing workflow
|
|||
|
|
- No immediate action required (this is working as intended)
|
|||
|
|
- Consider periodic review of oldest inbox items
|
|||
|
|
|
|||
|
|
**Expected Result:** Clean git status, empty files removed, inbox documented
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Change Tracking & Verification
|
|||
|
|
|
|||
|
|
### Post-Batch Checklist
|
|||
|
|
After each batch, produce:
|
|||
|
|
1. **Change Report**: List of moved/renamed/merged files
|
|||
|
|
2. **Wikilink Verification**: Check for broken links
|
|||
|
|
3. **Git Diff Summary**: Show scope of changes
|
|||
|
|
4. **User Review**: Wait for approval before next batch
|
|||
|
|
|
|||
|
|
### Final Deliverables
|
|||
|
|
1. Complete change log with all file movements
|
|||
|
|
2. Updated vault statistics (before/after comparison)
|
|||
|
|
3. Wikilink verification report
|
|||
|
|
4. Git commit with comprehensive message
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Risk Mitigation
|
|||
|
|
|
|||
|
|
- All changes tracked in git (easy rollback)
|
|||
|
|
- Originals moved to archive, never deleted
|
|||
|
|
- Incremental batches for easier review
|
|||
|
|
- Wikilink updates tested after each batch
|
|||
|
|
- User approval required between batches
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Approval Required
|
|||
|
|
|
|||
|
|
**Please review this plan and confirm:**
|
|||
|
|
1. Do you approve the overall approach?
|
|||
|
|
2. Any specific concerns about file movements or consolidations?
|
|||
|
|
3. Should I proceed with Batch 1, or would you like me to adjust the plan first?
|
|||
|
|
|
|||
|
|
**Recommended:** Proceed with Batch 1 (critical fixes) after approval.
|