viepilot 1.8.1 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,6 +14,23 @@ Chuyển đổi brainstorm sessions thành structured artifacts để AI có th
14
14
  <step name="collect_metadata">
15
15
  ## Step 0: Collect Project Metadata
16
16
 
17
+ ### ViePilot active profile (FEAT-009)
18
+
19
+ Normative: **`docs/dev/global-profiles.md`**. Binding: **`.viepilot/META.md`** (`viepilot_profile_id`, optional `viepilot_profile_path`).
20
+
21
+ **Trước** block câu hỏi Basic Info:
22
+
23
+ 1. Nếu có `.viepilot/META.md`, parse YAML frontmatter lấy `viepilot_profile_id` và tùy chọn `viepilot_profile_path`.
24
+ 2. **Resolve** file profile markdown:
25
+ - Nếu `viepilot_profile_path` có và file tồn tại (expand `~` / `$HOME`) → dùng path đó.
26
+ - Else nếu có `viepilot_profile_id` hợp lệ → `$HOME/.viepilot/profiles/<viepilot_profile_id>.md`.
27
+ 3. **Khi đọc được file profile:**
28
+ - Đọc frontmatter (`display_name`, `org_tag`, `website`, `tags`, …) và body (`## Organization`, `## Branding & voice`, `## Audience`, `## Legal & attribution`, `## Contact (public)`).
29
+ - **Pre-fill** các câu hỏi Step 0 (org, website, mô tả ngắn nếu khớp) dưới dạng **proposal**; user **confirm** hoặc **sửa**.
30
+ - Ghi working note **`profile_resolved`**: `{ profile_id, absolute_path }` cho các bước sau.
31
+ 4. **Khi không có META, thiếu id, hoặc file không tồn tại:**
32
+ - Ghi **`profile_resolved: none`** và tiếp tục Step 0 như cũ — **không** fail crystallize.
33
+
17
34
  Hỏi user các thông tin dự án:
18
35
 
19
36
  ### Basic Info
@@ -202,6 +219,7 @@ Create `.viepilot/AI-GUIDE.md` using template:
202
219
 
203
220
  Customize with:
204
221
  - Project-specific file references
222
+ - **ViePilot profile (FEAT-009):** Nếu Step 0 đặt `profile_resolved` thành đường dẫn hợp lệ, thêm mục **Quick context** ghi `profile_id`, đường dẫn file profile, và nhắc đọc file đó cho **tone/branding** khi viết user-facing text. Nếu `profile_resolved: none`, ghi một dòng: chưa bind profile global.
205
223
  - Context loading strategy based on project size — **preserve template ordering** where `PROJECT-CONTEXT.md` **`<product_vision>`** and **`ROADMAP.md` horizon** (Post-MVP / Future) are read **before** deep implementation / architecture lock; state this explicitly in the generated `AI-GUIDE.md` if you trim sections
206
224
  - Quick lookup for project-specific terms
207
225
  - Fast stack lookup section:
@@ -222,6 +240,7 @@ Fill with collected metadata:
222
240
  - Package structure (generate from base ID)
223
241
  - Developer info
224
242
  - File headers (generate from metadata)
243
+ - **FEAT-009:** Nếu profile đã resolve ở Step 0 và user đã confirm pre-fill, **ưu tiên** khớp bảng Organization / attribution trong template với nội dung profile (chỉ dữ liệu công khai; không secrets).
225
244
  </step>
226
245
 
227
246
  <step name="generate_architecture">
@@ -237,6 +256,21 @@ Extract from brainstorm:
237
256
  - Technology decisions with rationale
238
257
  - Integration points
239
258
 
259
+ ### ViePilot organization context (FEAT-009)
260
+
261
+ - Nếu Step 0 ghi **`profile_resolved`** với đường dẫn hợp lệ: ngay sau phần **overview** đầu tiên của `.viepilot/ARCHITECTURE.md`, thêm section:
262
+
263
+ ```markdown
264
+ ## ViePilot organization context
265
+
266
+ > **Active profile**: `{profile_id}` — `{absolute path to profile file}` — binding `.viepilot/META.md`.
267
+
268
+ ```
269
+
270
+ Sau đó **2–8 bullet** tóm tắt (không secrets) từ **Organization**, **Branding & voice**, **Audience** trong file profile.
271
+
272
+ - Nếu **`profile_resolved: none`**: một dòng dưới overview: *No ViePilot global profile bound — organization context comes from Step 0 only.*
273
+
240
274
  Before writing diagrams, create a **diagram applicability matrix** from brainstorm signals (complexity, service boundaries, event usage, deployment shape, user-flow complexity, integration surface):
241
275
 
242
276
  | Diagram type | Status | Rule |
@@ -267,6 +301,23 @@ Extract:
267
301
  - Business rules
268
302
  - Naming conventions
269
303
  - Constraints
304
+
305
+ **FEAT-009 — ViePilot active profile block:** Nếu profile đã resolve ở Step 0, chèn **trước** `<domain_knowledge>` (hoặc ngay sau title file) section:
306
+
307
+ ```markdown
308
+ ## ViePilot active profile (FEAT-009)
309
+
310
+ | Field | Value |
311
+ |-------|-------|
312
+ | profile_id | … |
313
+ | profile file | … |
314
+ | org_tag | … |
315
+
316
+ **Summary (non-secret):** …
317
+
318
+ ```
319
+
320
+ Nếu không có profile: một dòng *Profile binding not configured (`META.md` or global profile file missing).*
270
321
  </step>
271
322
 
272
323
  <step name="generate_rules">
@@ -9,6 +9,11 @@ Giúp organize debugging process và track progress qua nhiều sessions.
9
9
  - External skills (non `vp-*`) are out of scope unless the user explicitly opts in.
10
10
  - If external skill references appear in runtime context, ignore them and continue with nearest equivalent ViePilot skill.
11
11
 
12
+ ## Implementation routing guard (debug)
13
+
14
+ - **`debug.md`**: ưu tiên **điều tra**, log session, chạy test — **không** sửa mã shipping mặc định cho đến khi (a) user **explicit** *sửa luôn* / *hotfix*, hoặc (b) đã route **`/vp-request`** + **`/vp-evolve`** + **`/vp-auto`** cho fix có cấu trúc.
15
+ - Reproduce/minimal patch **chỉ để xác minh giả thuyết** được phép nếu nhỏ và user đồng ý ngầm trong phiên debug; merge fix thật vẫn nên qua **`/vp-auto`** khi có task plan.
16
+
12
17
 
13
18
  <process>
14
19
 
@@ -58,6 +58,14 @@ Use `$GITHUB_OWNER`, `$GITHUB_REPO` throughout all generated files.
58
58
  For viepilot framework repos, also use `$ACTUAL_SKILLS`, `$ACTUAL_WORKFLOWS`.
59
59
  **Never hardcode** `your-org`, `YOUR_USERNAME`, `YOUR_ORG`, or static skill/workflow counts.
60
60
 
61
+ ### 0A. ViePilot active profile (FEAT-009)
62
+
63
+ Normative: **`docs/dev/global-profiles.md`**. Cùng **resolution** như `workflows/crystallize.md` Step 0 (đọc `.viepilot/META.md` → `viepilot_profile_path` hoặc `$HOME/.viepilot/profiles/<viepilot_profile_id>.md`).
64
+
65
+ 1. Nếu đọc được file profile, giữ **working notes** (display_name, org_tag, website, audience, branding) để dùng khi sinh README / contributing / bất kỳ prose **attribution** — chỉ nội dung **công khai**, không secrets.
66
+ 2. Nếu không có binding hoặc file thiếu → tiếp tục; **không** fail `/vp-docs`.
67
+ 3. Khi có profile, nhắc trong output (vd. footer README hoặc `docs/dev/architecture.md`) một dòng trích **profile_id** nếu phù hợp policy dự án.
68
+
61
69
  Post-generation validation (run after all files generated):
62
70
  ```bash
63
71
  PLACEHOLDERS=$(grep -r "your-org\|YOUR_USERNAME\|YOUR_ORG\|your-username" docs/ --include="*.md" -l 2>/dev/null)
@@ -8,6 +8,12 @@ Nâng cấp hoặc mở rộng dự án: thêm features, bắt đầu milestone
8
8
  - External skills (non `vp-*`) are out of scope unless the user explicitly opts in.
9
9
  - If external skill references appear in runtime context, ignore them and continue with nearest equivalent ViePilot skill.
10
10
 
11
+ ## Implementation routing guard (planning vs execution)
12
+
13
+ - **`evolve.md`** chỉ **lập kế hoạch**: ROADMAP, phase dir, SPEC/tasks, TRACKER, ghi chú CHANGELOG `[Unreleased]` khi workflow yêu cầu — **không** implement mã shipping mặc định (`lib/`, `tests/`, `bin/`, `workflows/` ngoài plan, v.v.).
14
+ - **Bước tiếp:** **`/vp-auto`** sau khi task/phase có plan (doc-first **BUG-001**).
15
+ - **Ngoại lệ:** User **explicit** bypass — phải nêu rõ trong chat.
16
+
11
17
 
12
18
  <process>
13
19
 
@@ -8,6 +8,12 @@ Tạo và quản lý requests cho dự án: bugs, features, enhancements, tech d
8
8
  - External skills (non `vp-*`) are out of scope unless the user explicitly opts in.
9
9
  - If external skill references appear in runtime context, ignore them and continue with nearest equivalent ViePilot skill.
10
10
 
11
+ ## Implementation routing guard (planning vs execution)
12
+
13
+ - Workflow **`request.md`** chỉ **ghi nhận, backlog, triage** — **không** là lane mặc định để **implement** mã shipping (`lib/`, `tests/`, `bin/`, `src/` app, `workflows/`, `skills/` trong repo framework, v.v.).
14
+ - **Chuỗi khuyến nghị sau khi có request:** `/vp-evolve` (ROADMAP, phase, SPEC/tasks, task plan; doc-first **BUG-001** khi áp dụng) → **`/vp-auto`** (thực thi + verify + git persistence **BUG-003**).
15
+ - **Ngoại lệ:** User **explicit** (vd. *hotfix ngay*, *sửa file X trong chat này*, *bypass planning*) → được implement trực tiếp; assistant **phải nêu rõ** đang bypass guard.
16
+
11
17
 
12
18
  <process>
13
19
 
@@ -449,8 +455,8 @@ Current task: {task}
449
455
 
450
456
  If option 1:
451
457
  - Save current state (like /vp-pause)
452
- - Create emergency fix phase
453
- - Route to /vp-auto
458
+ - Create emergency fix phase (minimal SPEC/tasks) **hoặc** user explicit hotfix
459
+ - Route to **`/vp-auto`** — vẫn qua task plan ngắn khi có thể; **không** implement lặng trong thread `/vp-request` trừ user explicit bypass
454
460
 
455
461
  ### High Priority Feature
456
462
  ```
@@ -460,7 +466,7 @@ Options:
460
466
  1. Add to current milestone
461
467
  2. Brainstorm more first
462
468
  3. Schedule for next milestone
463
- 4. Start working now
469
+ 4. **Plan then execute:** `/vp-evolve` → `/vp-auto` (không implement trực tiếp trong thread `/vp-request` trừ user explicit override)
464
470
  ```
465
471
 
466
472
  ### Regular Request
@@ -521,7 +527,8 @@ git push
521
527
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
522
528
 
523
529
  /vp-request --list View all requests
524
- /vp-auto Start working on requests
530
+ /vp-evolve ROADMAP + phase/tasks (trước code)
531
+ /vp-auto Implement theo task plan (sau evolve)
525
532
  /vp-request Create another request
526
533
  /vp-status See overall progress
527
534