Migrate V1.9
# User-invoked prompt · migrate-v1.9
> ROUTER reads this when user runs `/migrate-v1.9` to migrate a v1.8.x vault to v1.9 layout.
> Per v1.9 RFC `_meta/rfc/v1.9-second-brain-structure-optimization.md` (24 locked decisions).
> md-only — ROUTER executes inline via Bash / Read / Write / Edit. No .sh helpers.
## Trigger keywords
- `/migrate-v1.9`
- `迁移 v1.9` / `升级到 v1.9` / `migrate to v1.9`
## Goal
Migrate vault from v1.8.x layout to v1.9 layout in one shot:
1. `_meta/` → `meta/` (去下划线,Opt #1)
2. `meta/inbox/` → `meta/queue/` (Opt #2)
3. `projects/*/decisions/` + `meta/incidents/*.yml` → `meta/decisions/<YYYY-MM>/*.md` (Opt #3)
4. `archive/*/` → `projects/*/` + frontmatter (Opt #4)
5. `projects/*/journal/` → `meta/journal/<date>.md` (Opt #5)
6. 空 areas 清理 + `areas/README.md` 写入 (Opt #6)
7. `user-patterns.md` → `meta/user-patterns.md` (Opt #7)
8. methods/decisions/journal frontmatter 加互引字段 (Opt #8)
**Path convention in this document**: pre-v1.9 paths use `_meta/` (underscore prefix); v1.9 paths use `meta/` (no underscore). After Stage 1 of execution, `_meta/` no longer exists; everything is `meta/`.
## HARD constraints (per RFC)
- **No escape hatch** for git working dir cleanliness (DR-1.9.7)
- **No concurrency lock** (DR-1.9.15)
- **No verbose output mode** (DR-1.9.16)
- **No cross-version chain** — detect < v1.8.0 vault and abort (DR-1.9.14)
- **Strict refuse** if `archive/` contains non-project content (DR-1.9.22)
---
## Stage 0 · Pre-flight HARD GATEs
### 0a. Git working dir clean check (DR-1.9.7)when to use it
Community prompt sourced from the open-source GitHub repo jasonhnd/life_OS (NOASSERTION). A "Migrate V1.9" style prompt — adapt the placeholders and specifics to your task. Imported as-is and not independently retested here, so check the output before relying on it.
tags
roleplaycommunitygeneral
source
jasonhnd/life_OS · NOASSERTION