feat(FN-1216): rename extension tools to fn_* across CLI and docs
- Rename all pi extension tool registrations from kb_* to fn_* across task, mission, and agent tool families - Update extension and skill-sync tests plus Fusion skill docs/workflows to assert and document the new fn_* tool names - Align product-identity strings across core, dashboard, and CLI references, including GitHub import examples, User-Agent headers, and terminal TERM_PROGRAM - Add a @gsxdsm/fusion minor changeset describing the extension tool-prefix rename
This commit is contained in:
@@ -48,9 +48,9 @@ The executor agent follows this specification step by step.
|
||||
|
||||
**Using AI-guided planning:**
|
||||
|
||||
For complex or vague ideas, use `kb_task_plan`:
|
||||
For complex or vague ideas, use `fn_task_plan`:
|
||||
```
|
||||
kb_task_plan({ description: "Build a notification system for the app" })
|
||||
fn_task_plan({ description: "Build a notification system for the app" })
|
||||
```
|
||||
|
||||
The planning mode will:
|
||||
@@ -65,38 +65,38 @@ For large-scale projects spanning multiple tasks, use the mission hierarchy:
|
||||
|
||||
1. **Create a mission** — The high-level objective
|
||||
```
|
||||
kb_mission_create({ title: "Build Authentication System", description: "Complete auth with login, signup, password reset, and OAuth" })
|
||||
fn_mission_create({ title: "Build Authentication System", description: "Complete auth with login, signup, password reset, and OAuth" })
|
||||
```
|
||||
|
||||
2. **Add milestones** — Major phases
|
||||
```
|
||||
kb_milestone_add({ missionId: "M-001", title: "Database Schema" })
|
||||
kb_milestone_add({ missionId: "M-001", title: "API Endpoints" })
|
||||
kb_milestone_add({ missionId: "M-001", title: "UI Integration" })
|
||||
fn_milestone_add({ missionId: "M-001", title: "Database Schema" })
|
||||
fn_milestone_add({ missionId: "M-001", title: "API Endpoints" })
|
||||
fn_milestone_add({ missionId: "M-001", title: "UI Integration" })
|
||||
```
|
||||
|
||||
3. **Add slices** — Parallel work units within milestones
|
||||
```
|
||||
kb_slice_add({ milestoneId: "MS-001", title: "User Tables" })
|
||||
kb_slice_add({ milestoneId: "MS-001", title: "Token Storage" })
|
||||
fn_slice_add({ milestoneId: "MS-001", title: "User Tables" })
|
||||
fn_slice_add({ milestoneId: "MS-001", title: "Token Storage" })
|
||||
```
|
||||
|
||||
4. **Add features** — Individual deliverables
|
||||
```
|
||||
kb_feature_add({ sliceId: "SL-001", title: "User model", description: "Create user table with email, password hash, timestamps" })
|
||||
kb_feature_add({ sliceId: "SL-001", title: "Session table", description: "Create session table with token, expiry, user FK" })
|
||||
fn_feature_add({ sliceId: "SL-001", title: "User model", description: "Create user table with email, password hash, timestamps" })
|
||||
fn_feature_add({ sliceId: "SL-001", title: "Session table", description: "Create session table with token, expiry, user FK" })
|
||||
```
|
||||
|
||||
5. **Activate a slice** — Enable it for implementation
|
||||
```
|
||||
kb_slice_activate({ id: "SL-001" })
|
||||
fn_slice_activate({ id: "SL-001" })
|
||||
```
|
||||
|
||||
6. **Link features to tasks** — Connect features to kb tasks
|
||||
```
|
||||
kb_task_create({ description: "Create user model with email, password hash, and timestamps" })
|
||||
fn_task_create({ description: "Create user model with email, password hash, and timestamps" })
|
||||
# → Created KB-101
|
||||
kb_feature_link_task({ featureId: "F-001", taskId: "KB-101" })
|
||||
fn_feature_link_task({ featureId: "F-001", taskId: "KB-101" })
|
||||
```
|
||||
|
||||
**Mission status flows automatically:**
|
||||
@@ -109,7 +109,7 @@ For large-scale projects spanning multiple tasks, use the mission hierarchy:
|
||||
|
||||
**Viewing mission progress:**
|
||||
```
|
||||
kb_mission_show({ id: "M-001" })
|
||||
fn_mission_show({ id: "M-001" })
|
||||
```
|
||||
Shows the full hierarchy with status icons:
|
||||
- `●` active, `○` pending, `✓` complete, `⚠` blocked
|
||||
|
||||
@@ -17,7 +17,7 @@ Triage → Todo → In Progress → In Review → Done → Archived
|
||||
Each column transition is driven by the AI engine or user action:
|
||||
|
||||
**Triage (specification)**
|
||||
- Task enters triage when created via `kb_task_create`
|
||||
- Task enters triage when created via `fn_task_create`
|
||||
- The **TriageProcessor** reads the project context and writes a full PROMPT.md specification
|
||||
- Specification includes: steps, file scope, acceptance criteria, review level, size estimate
|
||||
- If `requirePlanApproval` is enabled, task stays in triage as "awaiting-approval" until manually approved
|
||||
@@ -49,12 +49,12 @@ Each column transition is driven by the AI engine or user action:
|
||||
|
||||
**Done**
|
||||
- Work is merged to main branch
|
||||
- Task is available for archival via `kb_task_archive`
|
||||
- Can be refined with `kb_task_refine` to create follow-up work
|
||||
- Task is available for archival via `fn_task_archive`
|
||||
- Can be refined with `fn_task_refine` to create follow-up work
|
||||
|
||||
**Archived**
|
||||
- Removed from active board view
|
||||
- Can be restored with `kb_task_unarchive`
|
||||
- Can be restored with `fn_task_unarchive`
|
||||
- Can be cleaned up to free disk space (removes task directory, keeps metadata)
|
||||
|
||||
**Task statuses (within any column):**
|
||||
@@ -63,7 +63,7 @@ Each column transition is driven by the AI engine or user action:
|
||||
|--------|---------|
|
||||
| (none) | Normal state |
|
||||
| `paused` | Automation suspended — scheduler/executor skip this task |
|
||||
| `failed` | Execution error — use `kb_task_retry` to reset |
|
||||
| `failed` | Execution error — use `fn_task_retry` to reset |
|
||||
| `awaiting-approval` | Spec complete, waiting for manual approval (triage only) |
|
||||
|
||||
**Review levels:**
|
||||
@@ -82,9 +82,9 @@ The AI triage agent sets the review level based on task complexity and risk asse
|
||||
- Tasks can depend on other tasks (by task ID)
|
||||
- Dependent tasks wait in todo until all dependencies are in **done** or **archived**
|
||||
- Circular dependencies are prevented
|
||||
- Use `depends` parameter on `kb_task_create` to declare dependencies
|
||||
- Use `depends` parameter on `fn_task_create` to declare dependencies
|
||||
|
||||
**Interpreting `kb_task_show` output:**
|
||||
**Interpreting `fn_task_show` output:**
|
||||
|
||||
```
|
||||
KB-042: Fix login validation
|
||||
|
||||
@@ -11,7 +11,7 @@ Guide the agent through creating, viewing, and managing tasks on the Fusion boar
|
||||
|
||||
**Creating a task:**
|
||||
|
||||
1. Use `kb_task_create` with a clear, descriptive message
|
||||
1. Use `fn_task_create` with a clear, descriptive message
|
||||
- Include the problem AND the desired outcome
|
||||
- Be specific — the AI triage agent uses your description to write the specification
|
||||
- Optionally add dependencies with the `depends` parameter
|
||||
@@ -25,7 +25,7 @@ Guide the agent through creating, viewing, and managing tasks on the Fusion boar
|
||||
|
||||
Example:
|
||||
```
|
||||
kb_task_create({
|
||||
fn_task_create({
|
||||
description: "The login form doesn't validate email format before submission. Add client-side email validation that shows an inline error message when the email is invalid. Use the existing form validation pattern from the signup form.",
|
||||
depends: ["KB-042"]
|
||||
})
|
||||
@@ -33,21 +33,21 @@ kb_task_create({
|
||||
|
||||
**AI-guided planning for complex tasks:**
|
||||
|
||||
Use `kb_task_plan` when the idea is vague or complex. The AI will:
|
||||
Use `fn_task_plan` when the idea is vague or complex. The AI will:
|
||||
1. Ask clarifying questions about scope, constraints, and approach
|
||||
2. Help break down the work into actionable pieces
|
||||
3. Create the task with a refined description
|
||||
|
||||
**Listing tasks:**
|
||||
|
||||
Use `kb_task_list` to see the board:
|
||||
Use `fn_task_list` to see the board:
|
||||
- No params → all tasks grouped by column
|
||||
- `column: "in-progress"` → filter to specific column
|
||||
- `limit: 5` → limit tasks shown per column
|
||||
|
||||
**Viewing task details:**
|
||||
|
||||
Use `kb_task_show` with the task ID:
|
||||
Use `fn_task_show` with the task ID:
|
||||
- Shows steps with progress indicators (✓ done, ▸ in-progress, – skipped)
|
||||
- Shows prompt preview (truncated to 500 chars)
|
||||
- Shows recent log entries (last 5)
|
||||
@@ -56,29 +56,29 @@ Use `kb_task_show` with the task ID:
|
||||
|
||||
| Action | Tool | Notes |
|
||||
|--------|------|-------|
|
||||
| Pause automation | `kb_task_pause` | Stops scheduler and executor from touching the task |
|
||||
| Resume automation | `kb_task_unpause` | Re-enables automated processing |
|
||||
| Retry failed task | `kb_task_retry` | Clears error, moves back to todo |
|
||||
| Duplicate task | `kb_task_duplicate` | Creates fresh copy in triage |
|
||||
| Refine completed task | `kb_task_refine` | Creates follow-up task with dependency on original |
|
||||
| Archive done task | `kb_task_archive` | Moves from done → archived |
|
||||
| Restore archived task | `kb_task_unarchive` | Moves from archived → done |
|
||||
| Delete task | `kb_task_delete` | Permanent — cannot be undone |
|
||||
| Pause automation | `fn_task_pause` | Stops scheduler and executor from touching the task |
|
||||
| Resume automation | `fn_task_unpause` | Re-enables automated processing |
|
||||
| Retry failed task | `fn_task_retry` | Clears error, moves back to todo |
|
||||
| Duplicate task | `fn_task_duplicate` | Creates fresh copy in triage |
|
||||
| Refine completed task | `fn_task_refine` | Creates follow-up task with dependency on original |
|
||||
| Archive done task | `fn_task_archive` | Moves from done → archived |
|
||||
| Restore archived task | `fn_task_unarchive` | Moves from archived → done |
|
||||
| Delete task | `fn_task_delete` | Permanent — cannot be undone |
|
||||
|
||||
**Attaching files:**
|
||||
|
||||
Use `kb_task_attach` with the task ID and file path:
|
||||
Use `fn_task_attach` with the task ID and file path:
|
||||
- Supports images: png, jpg, gif, webp
|
||||
- Supports text: txt, log, json, yaml, csv, xml
|
||||
- Files are copied to `.fusion/tasks/{ID}/attachments/`
|
||||
|
||||
**Importing from GitHub:**
|
||||
|
||||
1. Browse issues first: `kb_task_browse_github_issues({ owner: "org", repo: "repo" })`
|
||||
1. Browse issues first: `fn_task_browse_github_issues({ owner: "org", repo: "repo" })`
|
||||
- Shows issue numbers, titles, labels
|
||||
- Marks already-imported issues with ✓
|
||||
2. Import specific issue: `kb_task_import_github_issue({ owner: "org", repo: "repo", issueNumber: 42 })`
|
||||
3. Bulk import: `kb_task_import_github({ ownerRepo: "org/repo", limit: 20 })`
|
||||
2. Import specific issue: `fn_task_import_github_issue({ owner: "org", repo: "repo", issueNumber: 42 })`
|
||||
3. Bulk import: `fn_task_import_github({ ownerRepo: "org/repo", limit: 20 })`
|
||||
|
||||
</process>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user