knowzcode 0.3.3 → 0.3.6

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.
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Official KnowzCode plugin marketplace - Platform-agnostic AI development methodology",
9
- "version": "0.3.3"
9
+ "version": "0.3.6"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "kc",
14
14
  "source": "./",
15
15
  "description": "KnowzCode - Platform-agnostic AI development methodology with TDD, quality gates, and structured workflows",
16
- "version": "0.3.3",
16
+ "version": "0.3.6",
17
17
  "author": {
18
18
  "name": "Alex Headscarf"
19
19
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kc",
3
3
  "description": "KnowzCode - Platform-agnostic AI development methodology with TDD, quality gates, and structured workflows",
4
- "version": "0.3.3",
4
+ "version": "0.3.6",
5
5
  "author": {
6
6
  "name": "Alex Headscarf"
7
7
  }
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  [![License: MIT + Commons Clause](https://img.shields.io/badge/License-MIT_+_Commons_Clause-yellow.svg)](LICENSE)
8
8
  [![Claude Code Plugin](https://img.shields.io/badge/Claude_Code-Plugin-purple)](https://github.com/knowz-io/knowzcode)
9
- [![Version](https://img.shields.io/badge/version-0.3.3-blue)](https://github.com/knowz-io/knowzcode/releases)
9
+ [![Version](https://img.shields.io/badge/version-0.3.6-blue)](https://github.com/knowz-io/knowzcode/releases)
10
10
 
11
11
  [Installation](#installation) · [Quick Start](#quick-start) · [When to Use It](#when-to-use-knowzcode) · [How It Works](#how-it-works) · [Commands](#commands) · [Docs](#documentation)
12
12
 
package/agents/closer.md CHANGED
@@ -61,12 +61,17 @@ Scan the WorkGroup for insight-worthy patterns using the signal types from `know
61
61
  ### Knowz-Scribe Delegation (Parallel Teams)
62
62
 
63
63
  If knowz-scribe is active (Parallel Teams mode with MCP connected):
64
- - Send message to **knowz-scribe**: `"Capture Phase 3: {wgid}"` the scribe handles all vault writes (appropriate vaults by type)
64
+ - Create capture task: `TaskCreate("Scribe: Capture Phase 3")` `TaskUpdate(owner: "knowz-scribe")`
65
+ - Send DM to **knowz-scribe** with task ID: `"Capture Phase 3: {wgid}. Your task: #{task-id}"`
65
66
  - Do NOT call `create_knowledge` directly — the scribe owns all vault writes
67
+ - Note: The lead waits for the scribe's capture task to complete before shutdown. The closer does NOT wait — create the task, send the DM, and continue finalization.
66
68
 
67
69
  ### Direct Write Fallback (Sequential/Subagent)
68
70
 
69
71
  If knowz-scribe is NOT active but MCP is configured:
72
+
73
+ > **Content Detail Principle**: Vault entries are retrieved via semantic search — write detailed, self-contained content with full reasoning, technology names, and code examples. See `knowzcode/knowzcode_vaults.md`.
74
+
70
75
  1. Read `knowzcode/knowzcode_vaults.md` to discover configured vaults
71
76
  2. For each learning type, find the appropriate vault by type:
72
77
  - Pattern/Workaround/Performance → vault with type `code`
@@ -40,22 +40,32 @@ This catches MCP issues at Stage 0 instead of 10+ minutes later at first capture
40
40
 
41
41
  ## Capture Request Format
42
42
 
43
- You receive messages from the lead or other agents in this format:
43
+ You receive capture requests from the lead or other agents in three forms:
44
44
 
45
- ```
46
- Capture Phase {phase}: {wgid}
47
- ```
45
+ ### Phase Captures (task-tracked)
46
+ Format: `"Capture Phase {phase}: {wgid}. Your task: #{task-id}"`
48
47
 
49
- Examples:
50
- - `Capture Phase 1A: WG-feat-auth-20260212` — scope decision approved
51
- - `Capture Phase 2A: WG-feat-auth-20260212` — implementation patterns discovered
52
- - `Capture Phase 2B: WG-feat-auth-20260212` audit results
53
- - `Capture Phase 3: WG-feat-auth-20260212` finalization learnings
48
+ Triggered at quality gates. Read the WorkGroup file, extract phase-specific content, write to appropriate vaults.
49
+
50
+ ### Explicit Ad-Hoc: `"Log: {description}"`
51
+ A teammate has identified knowledge worth capturing and is telling you to write it.
52
+ You MUST write itdecide which vault based on content type using the Learning Category Routing table.
53
+ Apply standard dedup checking. If a task ID is included, track it.
54
+
55
+ ### Soft Ad-Hoc: `"Consider: {description}"`
56
+ A teammate is forwarding something that MIGHT be worth capturing — a catch-all.
57
+ Evaluate the content against the Learning Category signal types (Pattern, Decision, Workaround, Performance, Security, Convention).
58
+ If it's insight-worthy and not duplicative, write it. If not, skip silently.
59
+ The sender is not asking you to log it — they're asking you to use your judgement.
54
60
 
55
61
  ## Write Process
56
62
 
57
63
  For each capture request:
58
64
 
65
+ ### Step 0: Claim Task
66
+
67
+ If a pre-created task exists for this capture (task ID provided in the capture message), claim it immediately (`TaskUpdate(taskId, status: "in_progress")`). After completing all vault writes for this capture, mark the task complete with a summary (count of items written + vault names). If no task ID was provided (ad-hoc messages), proceed without task tracking.
68
+
59
69
  ### Step 1: Read Context
60
70
 
61
71
  1. Read the WorkGroup file (`knowzcode/workgroups/{wgid}.md`) to extract relevant content for the phase
@@ -90,9 +100,11 @@ If multiple vaults match the target type, use the first one listed in `knowzcode
90
100
 
91
101
  For each target vault, apply its **Content Filter** to format the `create_knowledge` payload:
92
102
 
93
- - **Title**: Use the appropriate prefix (`Pattern:`, `Decision:`, `Workaround:`, `Performance:`, `Security:`, `Convention:`, `Scope:`, `Audit:`, `Integration:`, `Completion:`)
94
- - **Content**: Follow the content filter structure defined for the vault type
95
- - **Tags**: Include learning category, phase, and domain-relevant tags
103
+ > **Content Detail Principle**: Vault entries are retrieved via semantic search, not read directly like local files. Every entry must be self-contained and detailed — include full reasoning, specific technology names, code examples, file paths, and error messages. A terse entry like `"[Risk] Medium"` is useless when retrieved months later. See `knowzcode/knowzcode_vaults.md` for the full principle and examples.
104
+
105
+ - **Title**: Use the appropriate prefix (`Pattern:`, `Decision:`, `Workaround:`, `Performance:`, `Security:`, `Convention:`, `Scope:`, `Audit:`, `Integration:`, `Completion:`) followed by a descriptive summary including key technology names for search discoverability
106
+ - **Content**: Follow the content filter structure defined for the vault type — fill every field with enough detail that the entry is useful without any other context
107
+ - **Tags**: Include learning category, phase, domain-relevant tags, and specific technology names
96
108
  - **Source**: `KnowzCode WorkGroup {wgid}`
97
109
 
98
110
  ### Step 4: Dedup Check
@@ -107,49 +119,62 @@ Call `create_knowledge` with the formatted payload for each target vault.
107
119
 
108
120
  ### Phase 1A (Scope Approved)
109
121
  Extract from WorkGroup:
110
- - NodeIDs in the change set
111
- - Risk assessment
112
- - User approval decision
122
+ - **NodeIDs**: List each with its description, affected files, and domain area
123
+ - **Risk assessment**: Include the full reasoning — what could break, which files are high-risk, what mitigation is planned. Never write just "Medium"
124
+ - **Scope decisions**: What was included/excluded and why — alternatives the user considered
113
125
  - Write to: `ecosystem` vault (or single vault)
114
126
 
115
127
  ### Phase 2A (Implementation Complete)
116
128
  Extract from WorkGroup:
117
- - Implementation patterns and workarounds discovered during build
118
- - New utilities or abstractions created
119
- - Performance optimizations applied
129
+ - **Patterns discovered**: Describe the pattern, why it was needed, how it works, and include file paths or code snippets. E.g., "Created retry wrapper in src/utils/retry.ts using exponential backoff with jitter for all external API calls"
130
+ - **Workarounds**: What limitation was hit, what the workaround does, and any upstream fix to watch for
131
+ - **New utilities or abstractions**: What was created, its API surface, and where it's used
132
+ - **Performance optimizations**: Before/after metrics, the technique used, and any trade-offs
120
133
  - Write to: `code` vault for patterns/workarounds/performance, `ecosystem` vault for decisions
121
134
 
122
135
  ### Phase 2B (Audit Complete)
123
136
  Extract from WorkGroup:
124
- - Audit score and findings
125
- - Security issues found
126
- - Gap resolution decisions
137
+ - **Audit findings**: Completion percentage, specific gaps with file paths and line references
138
+ - **Security issues**: Describe the vulnerability, affected code paths, severity reasoning, and how it was (or should be) fixed
139
+ - **Gap resolution decisions**: What was deferred vs fixed, and the rationale for each decision
127
140
  - Write to: `ecosystem` vault for audit learnings, user's enterprise vault for audit trail (if configured + compliance enabled)
128
141
 
129
142
  ### Phase 3 (Finalization)
130
143
  Extract from WorkGroup:
131
- - Architectural learnings and consolidation decisions
132
- - Convention patterns established
133
- - Any remaining insight-worthy content
144
+ - **Architectural learnings**: Structural discoveries, component relationships that weren't obvious, integration patterns that emerged
145
+ - **Convention patterns established**: New team conventions with full rationale and examples
146
+ - **Consolidation decisions**: What was merged or refactored during finalization and why
134
147
  - Write to: appropriate vault per learning category routing
135
148
 
136
149
  ## Communication
137
150
 
138
- - **Report to lead only on**: errors (MCP failures, vault not found) or dedup catches
139
- - **Silent on success** do not broadcast write confirmations to the team
151
+ - **Report to lead on**: errors (MCP failures, vault not found) or dedup catches
152
+ - **Task-based confirmation**: Mark pre-created capture tasks complete with summary (count + vault names) — this is the primary confirmation mechanism
153
+ - **Phase 3 DM confirmation REQUIRED**: After processing Phase 3, send confirmation DM to lead: `"Phase 3 capture complete: {N} items written to {vault names}"`
154
+ - **Silent on success for other phases** — task completion is sufficient, do not broadcast
140
155
  - Respond to direct queries from teammates about what has been captured
141
156
 
142
157
  ## MCP Graceful Degradation
143
158
 
144
- If MCP calls fail:
145
- 1. Log the failure
146
- 2. Report the error to the lead via direct message
147
- 3. Do not retry immediately wait for the next capture request or lead instruction
148
- 4. The workflow continues without vault writes
159
+ If MCP calls fail or MCP is unavailable:
160
+ 1. **Queue locally**: Append the capture to `knowzcode/pending_captures.md` using this format:
161
+ ```markdown
162
+ ### {timestamp}{title}
163
+ - **Intent**: {Phase capture | Log | Consider}
164
+ - **Category**: {Pattern|Decision|Workaround|Performance|Security|Convention}
165
+ - **Target Vault Type**: {code|ecosystem|enterprise|finalizations}
166
+ - **Source**: {agent name} / WorkGroup {wgid}
167
+ - **Content**: {description or extracted learning}
168
+ ```
169
+ 2. Report the MCP failure to the lead via DM: `"MCP unavailable — queued {N} capture(s) to pending_captures.md"`
170
+ 3. If MCP recovers mid-session, flush pending captures to vaults on the next capture request
171
+ 4. Mark the capture task complete (if task-tracked) with note: `"Queued locally — MCP unavailable"`
172
+
173
+ Never drop knowledge. If MCP is down, queue it. The pending file can be flushed later via `/kc:learn --flush` or by a future scribe instance.
149
174
 
150
175
  ## Exit Expectations
151
176
 
152
- - All capture requests processed
153
- - Dedup catches reported to lead
154
- - Errors reported to lead
155
- - Ready for shutdown after closer completes
177
+ - All capture tasks marked complete
178
+ - Phase 3 confirmation DM sent to lead
179
+ - Dedup catches and errors reported to lead
180
+ - Ready for shutdown only after all capture tasks are complete
@@ -69,10 +69,11 @@ Near the end of Stage 2 (before the gap loop), DM lead with structured proposals
69
69
 
70
70
  ## Knowz-Scribe Integration
71
71
 
72
- If knowz-scribe is active, DM it with idea captures:
73
- > "Capture idea: {description}. Category: {Pattern|Decision|Convention}. Source: WorkGroup {wgid}."
72
+ If knowz-scribe is active, DM it with idea captures. Include enough detail for the scribe to write a rich vault entry — terse one-liners produce poor search results when stored in the vault.
74
73
 
75
- The scribe routes to the correct vault based on category.
74
+ > "Log: {Detailed description including the specific technology, component, and rationale — e.g. 'Discovered that the Express auth middleware should validate JWT clockTolerance=0 to prevent revoked tokens being accepted during the tolerance window. Affects src/middleware/auth.ts and all protected routes.'}. Category: {Pattern|Decision|Convention}. Source: WorkGroup {wgid}."
75
+
76
+ The scribe routes to the correct vault based on category. The more context you provide in the DM, the more useful the vault entry will be when retrieved via search months later.
76
77
 
77
78
  ## Enterprise Compliance (Optional)
78
79
 
@@ -88,9 +88,9 @@ Configure the KnowzCode MCP server using Claude Code's built-in MCP management.
88
88
  - Store parsed values for use in configuration
89
89
 
90
90
  2. **Check for existing configuration**
91
- - Check if MCP server already configured: `claude mcp get knowzcode`
91
+ - Check if MCP server already configured: `CLAUDECODE= claude mcp get knowz`
92
92
  - If already configured, ask if user wants to reconfigure
93
- - If yes, run `claude mcp remove knowzcode` first
93
+ - If yes, run `CLAUDECODE= claude mcp remove knowz` first
94
94
 
95
95
  3. **Prompt for API key (if not provided)**
96
96
  - If no API key in arguments, prompt user interactively:
@@ -308,14 +308,14 @@ Configure the KnowzCode MCP server using Claude Code's built-in MCP management.
308
308
  ```bash
309
309
  claude mcp add --transport http \
310
310
  --scope <chosen-scope> \
311
- knowzcode \
311
+ knowz \
312
312
  <endpoint-url> \
313
313
  --header "Authorization: Bearer <api-key>" \
314
314
  --header "X-Project-Path: $(pwd)"
315
315
  ```
316
316
 
317
317
  8. **Verify configuration**
318
- - Run: `claude mcp get knowzcode`
318
+ - Run: `CLAUDECODE= claude mcp get knowz`
319
319
  - Confirm server appears in the list
320
320
  - Check for any error messages
321
321
 
@@ -461,7 +461,7 @@ If using --dev environment, verify the dev server is running.
461
461
  To change from local to project scope:
462
462
  ```bash
463
463
  # Remove existing (or the command will prompt to reconfigure)
464
- claude mcp remove knowzcode
464
+ CLAUDECODE= claude mcp remove knowz
465
465
 
466
466
  # Re-add with new scope
467
467
  /kc:connect-mcp <api-key> --scope project
package/commands/learn.md CHANGED
@@ -182,6 +182,9 @@ Capture the provided insight to the appropriate vault using the MCP `create_know
182
182
  ```
183
183
 
184
184
  7. **Build learning content**
185
+
186
+ > Vault entries are retrieved via semantic search — content must be detailed and self-contained. See `knowzcode/knowzcode_vaults.md` Content Detail Principle.
187
+
185
188
  ```markdown
186
189
  [CONTEXT]
187
190
  Project: {project-name}
@@ -189,9 +192,11 @@ Capture the provided insight to the appropriate vault using the MCP `create_know
189
192
  Vault: {selected_vault_name}
190
193
  Source: {--source value or "KnowzCode /kc:learn command"}
191
194
  Date: {ISO timestamp}
195
+ Situation: {Expand on what prompted this learning — the problem being solved, the component involved, relevant technology stack. Provide enough background that someone unfamiliar with the project can understand.}
192
196
 
193
197
  [INSIGHT]
194
198
  {User's insight text}
199
+ Detail: {Expand the user's insight with technical specifics — include file paths, library names, version numbers, code patterns, or error messages that make this actionable when retrieved via search.}
195
200
 
196
201
  [SOURCE]
197
202
  Captured via /kc:learn command
@@ -202,7 +207,7 @@ Capture the provided insight to the appropriate vault using the MCP `create_know
202
207
  ```json
203
208
  create_knowledge({
204
209
  "content": "{formatted content}",
205
- "title": "{Category}: {Brief summary from insight}",
210
+ "title": "{Category}: {Descriptive summary include key technology names for search discoverability}",
206
211
  "knowledgeType": "Note",
207
212
  "vaultId": "{selected_vault_id}",
208
213
  "tags": ["{category}", "{extracted-tags}", "{project-name}"],
@@ -111,7 +111,7 @@ YOU USER
111
111
 
112
112
  1. Check if MCP server already configured:
113
113
  ```bash
114
- claude mcp get knowzcode
114
+ CLAUDECODE= claude mcp get knowz
115
115
  ```
116
116
 
117
117
  2. If already configured, display:
@@ -127,7 +127,7 @@ YOU USER
127
127
  ```
128
128
 
129
129
  Use AskUserQuestion to get user choice. If they choose to keep existing, STOP.
130
- If they choose to continue, run `claude mcp remove knowzcode` first.
130
+ If they choose to continue, run `CLAUDECODE= claude mcp remove knowz` first.
131
131
 
132
132
  3. If not configured: Continue to Step 2.
133
133
 
@@ -330,7 +330,7 @@ curl -X POST https://api.dev.knowz.io/api/v1/auth/register \
330
330
  # Production (default)
331
331
  claude mcp add --transport http \
332
332
  --scope <chosen-scope> \
333
- knowzcode \
333
+ knowz \
334
334
  https://mcp.knowz.io/mcp \
335
335
  --header "Authorization: Bearer <api_key>" \
336
336
  --header "X-Project-Path: $(pwd)"
@@ -338,7 +338,7 @@ curl -X POST https://api.dev.knowz.io/api/v1/auth/register \
338
338
  # Development (with --dev flag)
339
339
  claude mcp add --transport http \
340
340
  --scope <chosen-scope> \
341
- knowzcode \
341
+ knowz \
342
342
  https://mcp.dev.knowz.io/mcp \
343
343
  --header "Authorization: Bearer <api_key>" \
344
344
  --header "X-Project-Path: $(pwd)"
@@ -346,7 +346,7 @@ curl -X POST https://api.dev.knowz.io/api/v1/auth/register \
346
346
 
347
347
  5. **Verify MCP configuration**:
348
348
  ```bash
349
- claude mcp get knowzcode
349
+ CLAUDECODE= claude mcp get knowz
350
350
  ```
351
351
 
352
352
  6. **Configure vault in mcp_config.md**:
@@ -41,7 +41,7 @@ Check Agent Teams status, then check the KnowzCode MCP server status, and report
41
41
 
42
42
  2. **Check MCP server configuration**
43
43
  ```bash
44
- claude mcp get knowzcode
44
+ CLAUDECODE= claude mcp get knowz
45
45
  ```
46
46
 
47
47
  - If configured: Extract scope, endpoint, headers
package/commands/work.md CHANGED
@@ -536,11 +536,16 @@ When Parallel Teams mode is active, follow these 4 stages instead of spawning on
536
536
  - Write ARC-Completion log entry
537
537
  - Review architecture docs for discrepancies
538
538
  - Schedule REFACTOR tasks for tech debt
539
- - Send learnings to knowz-scribe (if active): `"Capture Phase 3: {wgid}"`. Knowz-scout remains available for vault queries during finalization.
539
+ - Create capture task for knowz-scribe (if active): `TaskCreate("Scribe: Capture Phase 3")` → `TaskUpdate(owner: "knowz-scribe")`, then send DM with task ID: `"Capture Phase 3: {wgid}. Your task: #{task-id}"`. Knowz-scout remains available for vault queries during finalization.
540
540
  - Create final atomic commit
541
541
  4. Lead presents completion summary
542
- 5. Shut down knowz-scout, knowz-scribe (after Phase 3 capture completes), closer, and all remaining agents
543
- 6. Delete team
542
+ 5. **Wait for scribe Phase 3 capture** (if knowz-scribe is active):
543
+ - Check scribe capture task via `TaskGet(task-id)` — wait until status is `completed`
544
+ - Also wait for scribe's Phase 3 confirmation DM
545
+ - **Timeout**: If >2 minutes after closer completes and scribe task still not complete → DM scribe: `"Status check: Phase 3 capture for {wgid}?"`
546
+ - **Hard timeout**: If another minute passes with no completion → proceed with shutdown and log `WARNING: Scribe Phase 3 capture did not complete for {wgid}. Vault writes may be incomplete.`
547
+ 6. Shutdown order: knowz-scout, knowz-scribe, closer, remaining agents
548
+ 7. Delete team
544
549
 
545
550
  ### WorkGroup File Format (Parallel Mode)
546
551
 
@@ -592,6 +597,10 @@ When creating tasks, model the dependency chain with `addBlockedBy` and pre-assi
592
597
  | Fix gaps: NodeID-X round N | Audit: NodeID-X (or re-audit N-1) | builder-N |
593
598
  | Re-audit: NodeID-X round N | Fix gaps round N | reviewer-N |
594
599
  | Phase 3 finalization | All audits approved | closer |
600
+ | Scribe: Capture Phase 1A | Phase 1A (gate approval) | knowz-scribe |
601
+ | Scribe: Capture Phase 2A | Implement: NodeID-X | knowz-scribe |
602
+ | Scribe: Capture Phase 2B | All audits approved | knowz-scribe |
603
+ | Scribe: Capture Phase 3 | Phase 3 finalization | knowz-scribe |
595
604
 
596
605
  ---
597
606
 
@@ -855,7 +864,8 @@ If `AUTONOMOUS_MODE = false`: If rejected — re-run analyst with user feedback.
855
864
  ### MCP Learning Capture (Optional)
856
865
 
857
866
  If MCP is configured and knowz-scribe is active, after Change Set approval:
858
- - Send message to **knowz-scribe**: `"Capture Phase 1A: {wgid}"` the scribe reads the WorkGroup file, extracts scope/risk/decision data, and writes to the appropriate vault
867
+ - Create capture task: `TaskCreate("Scribe: Capture Phase 1A")` `TaskUpdate(owner: "knowz-scribe")`
868
+ - Send message to **knowz-scribe** with task ID: `"Capture Phase 1A: {wgid}. Your task: #{task-id}"` — the scribe reads the WorkGroup file, extracts scope/risk/decision data, and writes to the appropriate vault
859
869
  - `search_knowledge({resolved_domain_vault_id}, "patterns for {domain}")` — pull relevant past learnings to inform specification
860
870
  - Share any relevant findings with the architect in the Phase 1B prompt
861
871
 
@@ -988,7 +998,8 @@ When complete, present implementation summary including files changed, tests wri
988
998
  ### MCP Learning Capture (Optional)
989
999
 
990
1000
  If MCP is configured and knowz-scribe is active, after implementation completes:
991
- - Send message to **knowz-scribe**: `"Capture Phase 2A: {wgid}"` the scribe reads implementation results from the WorkGroup file and captures patterns, workarounds, and performance optimizations to the `code` vault
1001
+ - Create capture task: `TaskCreate("Scribe: Capture Phase 2A")` `TaskUpdate(owner: "knowz-scribe")`
1002
+ - Send message to **knowz-scribe** with task ID: `"Capture Phase 2A: {wgid}. Your task: #{task-id}"` — the scribe reads implementation results from the WorkGroup file and captures patterns, workarounds, and performance optimizations to the `code` vault
992
1003
 
993
1004
  ---
994
1005
 
@@ -1069,7 +1080,8 @@ If `AUTONOMOUS_MODE = false`: User decides — proceed / fix gaps / modify specs
1069
1080
  ### MCP Learning Capture (Optional)
1070
1081
 
1071
1082
  If MCP is configured and knowz-scribe is active, after audit approval:
1072
- - Send message to **knowz-scribe**: `"Capture Phase 2B: {wgid}"` the scribe reads audit results from the WorkGroup file and writes findings to the appropriate vault
1083
+ - Create capture task: `TaskCreate("Scribe: Capture Phase 2B")` `TaskUpdate(owner: "knowz-scribe")`
1084
+ - Send message to **knowz-scribe** with task ID: `"Capture Phase 2B: {wgid}. Your task: #{task-id}"` — the scribe reads audit results from the WorkGroup file and writes findings to the appropriate vault
1073
1085
 
1074
1086
  ---
1075
1087
 
@@ -1089,7 +1101,7 @@ If MCP is configured and knowz-scribe is active, after audit approval:
1089
1101
  >
1090
1102
  > **Your Task**: #{task-id} — claim immediately (`TaskUpdate(status: "in_progress")`). Mark completed with summary when done.
1091
1103
  > **Conventions**: Update WorkGroup file with results (prefix entries with `KnowzCode:`). If blocked, report blocker and notify lead.
1092
- > **Vault writes**: If knowz-scribe is active, send it `"Capture Phase 3: {wgid}"` to delegate learning capture and audit trail writes. Do NOT call `create_knowledge` directly.
1104
+ > **Vault writes**: If knowz-scribe is active, create a capture task (`TaskCreate("Scribe: Capture Phase 3")` → `TaskUpdate(owner: "knowz-scribe")`), then send `"Capture Phase 3: {wgid}. Your task: #{task-id}"` to delegate learning capture and audit trail writes. Do NOT call `create_knowledge` directly.
1093
1105
  > **Deliverable**: Atomic finalization — update specs to FINAL, update tracker, write log entry, update architecture if needed, delegate learning capture to knowz-scribe, and create final commit.
1094
1106
 
1095
1107
  **Dispatch**:
@@ -1100,7 +1112,7 @@ If MCP is configured and knowz-scribe is active, after audit approval:
1100
1112
  ### Phase 3 Output
1101
1113
 
1102
1114
  When complete, if MCP is configured and knowz-scribe is active:
1103
- - The closer sends a message to **knowz-scribe**: `"Capture Phase 3: {wgid}"` the scribe reads the WorkGroup file, extracts learnings, decisions, and outcomes, and writes to the appropriate vaults
1115
+ - The closer creates a capture task (`TaskCreate("Scribe: Capture Phase 3")` → `TaskUpdate(owner: "knowz-scribe")`) and sends a message with the task ID: `"Capture Phase 3: {wgid}. Your task: #{task-id}"`. The lead waits for the scribe's capture task to complete before shutdown.
1104
1116
 
1105
1117
  Update workgroup to "Closed" and report:
1106
1118
 
@@ -327,6 +327,8 @@ All phases work without MCP. MCP enhances analysis depth and organizational lear
327
327
 
328
328
  ## 7. Learning Capture (Optional)
329
329
 
330
+ > **Vault content must be detailed and self-contained.** Vault entries are retrieved via semantic search — not read directly like local files. Include full reasoning, specific technology names, code examples, and file paths. See `knowzcode/knowzcode_vaults.md` Content Detail Principle.
331
+
330
332
  During finalization, scan the WorkGroup for insight-worthy patterns:
331
333
 
332
334
  | Signal Type | Examples |
@@ -351,13 +353,21 @@ At each quality gate, send a message to the knowz-scribe with the phase identifi
351
353
 
352
354
  The knowz-scribe reads the WorkGroup file, extracts relevant data, checks for duplicates, and writes to the appropriate vault. No other agent should call `create_knowledge` when the scribe is active.
353
355
 
356
+ **Ad-hoc captures (any agent, any time):**
357
+
358
+ Any agent can send knowledge to the knowz-scribe outside phase boundaries:
359
+ - `"Log: {description}"` — explicit capture, scribe must write it (decides vault routing)
360
+ - `"Consider: {description}"` — soft capture, scribe evaluates whether to log and where
361
+
362
+ The scribe handles routing, dedup, and formatting for both modes. If MCP is unavailable, captures are queued to `knowzcode/pending_captures.md` for later sync.
363
+
354
364
  **Single-agent / no scribe (direct MCP writes):**
355
365
 
356
366
  If MCP is available but no knowz-scribe, resolve vault IDs from `knowzcode/knowzcode_vaults.md` before writing:
357
367
 
358
- - After Phase 1A: `create_knowledge({ecosystem_vault}, title="Scope: {goal}", content="[NodeIDs] {list}\n[Risk] {assessment}", tags=["scope"])`
359
- - After Phase 2A: Capture implementation patterns and workarounds discovered during TDD cycles
360
- - After Phase 2B: `create_knowledge({ecosystem_vault}, title="Audit: {wgid} - {score}%", content="[Findings] {gaps}\n[Security] {issues}", tags=["audit"])`
368
+ - After Phase 1A: `create_knowledge({ecosystem_vault}, title="Scope: {descriptive goal summary}", content="[CONTEXT] {problem description, what prompted this work, constraints}\n[INSIGHT] {scope decisions — what's included/excluded and why}\n[RATIONALE] {risk assessment with full reasoning, affected files, mitigation}\n[TAGS] scope, {domain}", tags=["scope", "{domain}"])`
369
+ - After Phase 2A: Capture implementation patterns and workarounds discovered during TDD cycles — include specific file paths, code examples, and the problem each pattern solves
370
+ - After Phase 2B: `create_knowledge({ecosystem_vault}, title="Audit: {wgid} - {score}% — {key finding summary}", content="[CONTEXT] {what was audited, scope of the review}\n[INSIGHT] {specific gaps with file paths and line references, security findings with severity reasoning}\n[RATIONALE] {gap resolution decisions — what was deferred vs fixed and why}\n[TAGS] audit, {domain}", tags=["audit", "{domain}"])`
361
371
  - After Phase 2B (enterprise): If enterprise vault configured and compliance enabled, push audit results to enterprise vault
362
372
  - After Phase 3: Capture architectural learnings and consolidation decisions (handled by closer agent)
363
373
 
@@ -124,16 +124,39 @@ On confirmation, each vault is created via the MCP `create_vault(name, descripti
124
124
 
125
125
  Each vault type defines when it accepts writes (Write Conditions) and how content should be formatted (Content Filter).
126
126
 
127
+ ### Content Detail Principle
128
+
129
+ Vault entries live in a vector search index — they are chunked and retrieved via semantic search. Unlike local files (specs, workgroups, logs) which are read directly and benefit from being scannable, vault entries must be **self-contained, detailed, and keyword-rich** because they are discovered by meaning, not by file path.
130
+
131
+ **Include in every vault entry:**
132
+ - Full reasoning and context — why, not just what
133
+ - Specific technology names, library versions, framework details
134
+ - Code examples, file paths, error messages where relevant
135
+ - Consequences and alternatives considered
136
+
137
+ **Anti-pattern** (poor search recall, useless when retrieved):
138
+
139
+ > `"[NodeIDs] AuthMiddleware\n[Risk] Medium"`
140
+
141
+ **Good pattern** (rich search matches, self-contained on retrieval):
142
+
143
+ > `[CONTEXT] During JWT authentication implementation for the Express API, the jsonwebtoken library's verify() method silently accepts expired tokens when clockTolerance is set above 0.`
144
+ > `[INSIGHT] Always set clockTolerance to 0 (default) and handle TokenExpiredError explicitly. Some tutorials suggest 30s tolerance which creates a security window where revoked tokens remain valid.`
145
+ > `[RATIONALE] A 30-second tolerance means stolen tokens stay usable after revocation. Our auth middleware in src/middleware/auth.ts now checks expiry with zero tolerance.`
146
+ > `[TAGS] security, jwt, express, authentication`
147
+
148
+ Write vault content as if the reader has no project context — they will find this entry via a search query months from now.
149
+
127
150
  ### code
128
151
 
129
152
  **Write Conditions**: Learning category is Pattern, Workaround, or Performance.
130
153
 
131
154
  **Content Filter**:
132
155
  ```
133
- [CONTEXT] {where the pattern/workaround was encountered}
134
- [PATTERN] {what was built or discovered}
135
- [EXAMPLE] {code snippet or usage example}
136
- [TAGS] {learning category, domain, language}
156
+ [CONTEXT] {Where and why the pattern was encountered — include the component, framework, and problem being solved. Provide enough background for someone with no project familiarity.}
157
+ [PATTERN] {What was built or discovered — describe the approach, the key insight, and how it differs from the obvious/naive solution.}
158
+ [EXAMPLE] {Code snippet, usage example, or file path reference — concrete enough to be directly useful when retrieved.}
159
+ [TAGS] {learning category, domain, language, framework — include specific technology names for search discoverability}
137
160
  ```
138
161
 
139
162
  ### ecosystem
@@ -142,10 +165,10 @@ Each vault type defines when it accepts writes (Write Conditions) and how conten
142
165
 
143
166
  **Content Filter**:
144
167
  ```
145
- [CONTEXT] {what prompted the decision or convention}
146
- [INSIGHT] {the decision, convention, security finding, or integration detail}
147
- [RATIONALE] {why this approach was chosen}
148
- [TAGS] {learning category, domain}
168
+ [CONTEXT] {What prompted the decision the problem, the alternatives considered, and the constraints. Include component names and file paths where relevant.}
169
+ [INSIGHT] {The decision, convention, security finding, or integration detail — state it clearly and completely so it stands alone without context.}
170
+ [RATIONALE] {Why this approach was chosen over alternatives — include trade-offs, risks of the rejected options, and any conditions that might change this decision.}
171
+ [TAGS] {learning category, domain, specific technology names — be generous with tags for search discoverability}
149
172
  ```
150
173
 
151
174
  ### finalizations
@@ -154,11 +177,12 @@ Each vault type defines when it accepts writes (Write Conditions) and how conten
154
177
 
155
178
  **Content Filter**:
156
179
  ```
157
- [GOAL] {original goal from WorkGroup}
158
- [OUTCOME] {success | partial | abandoned}
159
- [NODES] {NodeIDs changed}
160
- [DURATION] {phases completed, e.g. "1A-3"}
161
- [TAGS] {finalization, domain, outcome}
180
+ [GOAL] {Original goal from WorkGroup — restate fully, not just the WorkGroup slug}
181
+ [OUTCOME] {success | partial | abandoned — include what was delivered and what was deferred}
182
+ [NODES] {NodeIDs changed — list each with a one-line summary of what it covers}
183
+ [DURATION] {Phases completed (e.g. "1A-3"), total iterations, any notable delays or blockers}
184
+ [SUMMARY] {Key learnings from this WorkGroup — architectural discoveries, patterns established, gotchas encountered. This is the most valuable field for future search queries.}
185
+ [TAGS] {finalization, domain, outcome, key technology names}
162
186
  ```
163
187
 
164
188
  ---
@@ -58,17 +58,28 @@ Specialized agents handle each phase when using Agent Teams or subagent executio
58
58
  If configured, agents use `search_knowledge`, `ask_question`, and `create_knowledge` for enhanced context.
59
59
  All commands work without MCP — it enhances but never blocks.
60
60
 
61
- ### Vault Targeting (MANDATORY when MCP is connected)
62
- **When calling `create_knowledge` or `update_knowledge`, ALWAYS pass `vaultId`.**
63
- Omitting `vaultId` saves to the tenant default vault (often Personal) — NOT the project vault.
61
+ ### Knowledge Capture (CRITICAL DO NOT SKIP)
62
+ Every piece of durable knowledge decisions, patterns, gotchas, workarounds, convention changes —
63
+ **must** be captured. Knowledge lives in two places:
64
64
 
65
- Before any MCP write:
66
- 1. Check if vault IDs are already in context from a previous read or CLAUDE.md
67
- 2. If not, read `knowzcode/knowzcode_vaults.md` for vault IDs and routing rules
68
- 3. Match your content type to the correct vault using the routing table
69
- 4. Pass `vaultId` explicitly in every call
65
+ - **MCP vaults** (when connected): `knowzcode/knowzcode_vaults.md` defines vault IDs, routing rules,
66
+ and write conditions. Always pass `vaultId` when calling `create_knowledge` omitting it saves
67
+ to the tenant default vault, NOT the project vault.
68
+ - **Local files** (always available): specs, workgroup files, log entries, architecture docs, and
69
+ `knowzcode/pending_captures.md` (scribe fallback queue when MCP is unavailable).
70
70
 
71
- For ad-hoc learning capture, prefer `/kc:learn "insight"` it handles routing automatically.
71
+ If MCP is not connected, knowledge still gets captured locally. Never let insights die in the conversation.
72
+
73
+ **Vault content detail**: Vault entries are retrieved via semantic search, not read directly like local files. Write detailed, self-contained entries with full reasoning, specific technology names, code examples, and file paths. Terse entries produce poor search results. See `knowzcode/knowzcode_vaults.md` Content Detail Principle.
74
+
75
+ ### Knowz-Scribe Delegation
76
+ When knowz-scribe is active (Agent Teams mode), it owns all vault writes — do NOT call `create_knowledge` directly. Send knowledge to the scribe instead:
77
+
78
+ - **Phase captures**: Handled automatically at quality gates via task-tracked DMs
79
+ - **Explicit**: `"Log: {description}"` — scribe MUST write it; it decides routing (which vault or local file)
80
+ - **Soft**: `"Consider: {description}"` — scribe evaluates whether to capture and where; may skip if not insight-worthy or duplicative
81
+
82
+ Any agent can send ad-hoc knowledge to the scribe at any time. The scribe handles routing, dedup, and formatting. If MCP is unavailable, the scribe queues captures to `knowzcode/pending_captures.md` for later sync. When no scribe is active, use `/kc:learn "insight"` for automatic routing.
72
83
 
73
84
  ## WorkGroup Files
74
85
  - Created in `knowzcode/workgroups/` (gitignored)
@@ -142,9 +153,12 @@ Read `knowzcode/knowzcode_loop.md` before starting any feature work.
142
153
  - Every WorkGroup todo must start with `KnowzCode:` prefix
143
154
  - Target <20 specs per project — consolidate when domains overlap
144
155
 
145
- ## Vault Targeting
146
- When calling `create_knowledge`, always pass `vaultId` from `knowzcode/knowzcode_vaults.md`.
147
- Omitting it saves to the wrong vault. Use `/kc:learn` for automatic routing.
156
+ ## Knowledge Capture (CRITICAL — DO NOT SKIP)
157
+ Every piece of durable knowledge decisions, patterns, gotchas, workarounds — **must** be captured.
158
+ When MCP is connected, write to vaults per `knowzcode/knowzcode_vaults.md` always pass `vaultId` with `create_knowledge`.
159
+ When MCP is unavailable, capture locally in specs, log entries, or docs. Never let insights die in the conversation.
160
+ Use `/kc:learn "insight"` for automatic routing.
161
+ Vault entries are retrieved via semantic search — write detailed, self-contained content. See `knowzcode/knowzcode_vaults.md` Content Detail Principle.
148
162
 
149
163
  ## Quick Fix (Micro-Fix)
150
164
  For single-file, <50 line, no-ripple-effect changes:
@@ -258,9 +272,12 @@ Read these files before starting any feature work (use @import syntax for direct
258
272
  - Log completions in `knowzcode/knowzcode_log.md`
259
273
  - Target <20 specs — consolidate when domains overlap >50%
260
274
 
261
- ## Vault Targeting
262
- When calling `create_knowledge`, always pass `vaultId` from `knowzcode/knowzcode_vaults.md`.
263
- Omitting it saves to the wrong vault. Use `/kc:learn` for automatic routing.
275
+ ## Knowledge Capture (CRITICAL — DO NOT SKIP)
276
+ Every piece of durable knowledge decisions, patterns, gotchas, workarounds — **must** be captured.
277
+ When MCP is connected, write to vaults per `knowzcode/knowzcode_vaults.md` always pass `vaultId` with `create_knowledge`.
278
+ When MCP is unavailable, capture locally in specs, log entries, or docs. Never let insights die in the conversation.
279
+ Use `/kc:learn "insight"` for automatic routing.
280
+ Vault entries are retrieved via semantic search — write detailed, self-contained content. See `knowzcode/knowzcode_vaults.md` Content Detail Principle.
264
281
 
265
282
  ## Micro-Fix (for small changes)
266
283
  Single file, <50 lines, no ripple effects:
@@ -330,9 +347,12 @@ Before any feature work, read:
330
347
  - Read `knowzcode/knowzcode_tracker.md` for active work
331
348
  - Log completions in `knowzcode/knowzcode_log.md`
332
349
 
333
- ## Vault Targeting
334
- When calling `create_knowledge`, always pass `vaultId` from `knowzcode/knowzcode_vaults.md`.
335
- Omitting it saves to the wrong vault. Use `/kc:learn` for automatic routing.
350
+ ## Knowledge Capture (CRITICAL — DO NOT SKIP)
351
+ Every piece of durable knowledge decisions, patterns, gotchas, workarounds — **must** be captured.
352
+ When MCP is connected, write to vaults per `knowzcode/knowzcode_vaults.md` always pass `vaultId` with `create_knowledge`.
353
+ When MCP is unavailable, capture locally in specs, log entries, or docs. Never let insights die in the conversation.
354
+ Use `/kc:learn "insight"` for automatic routing.
355
+ Vault entries are retrieved via semantic search — write detailed, self-contained content. See `knowzcode/knowzcode_vaults.md` Content Detail Principle.
336
356
  ```
337
357
 
338
358
  ---
@@ -426,9 +446,12 @@ Follow Red-Green-Refactor for every feature/criterion in the spec.
426
446
  If configured in `.vscode/mcp.json`, use `search_knowledge` and `ask_question` tools
427
447
  for enhanced context from knowledge vaults. All prompts work without MCP.
428
448
 
429
- ### Vault Targeting
430
- When calling `create_knowledge`, always pass `vaultId` from `knowzcode/knowzcode_vaults.md`.
431
- Omitting it saves to the wrong vault. Use `/kc:learn` for automatic routing.
449
+ ## Knowledge Capture (CRITICAL — DO NOT SKIP)
450
+ Every piece of durable knowledge decisions, patterns, gotchas, workarounds — **must** be captured.
451
+ When MCP is connected, write to vaults per `knowzcode/knowzcode_vaults.md` always pass `vaultId` with `create_knowledge`.
452
+ When MCP is unavailable, capture locally in specs, log entries, or docs. Never let insights die in the conversation.
453
+ Use `/kc:learn "insight"` for automatic routing.
454
+ Vault entries are retrieved via semantic search — write detailed, self-contained content. See `knowzcode/knowzcode_vaults.md` Content Detail Principle.
432
455
 
433
456
  ## Copilot Coding Agent
434
457
 
@@ -900,22 +923,22 @@ Optionally generated by `/kc:init` when Copilot is detected and MCP is configure
900
923
  ```json
901
924
  {
902
925
  "servers": {
903
- "knowzcode": {
926
+ "knowz": {
904
927
  "type": "http",
905
- "url": "${input:knowzcode_mcp_url}",
928
+ "url": "${input:knowz_mcp_url}",
906
929
  "headers": {
907
- "x-api-key": "${input:knowzcode_api_key}"
930
+ "x-api-key": "${input:knowz_api_key}"
908
931
  }
909
932
  }
910
933
  },
911
934
  "inputs": [
912
935
  {
913
- "id": "knowzcode_mcp_url",
936
+ "id": "knowz_mcp_url",
914
937
  "description": "KnowzCode MCP server URL",
915
938
  "type": "promptString"
916
939
  },
917
940
  {
918
- "id": "knowzcode_api_key",
941
+ "id": "knowz_api_key",
919
942
  "description": "KnowzCode API key",
920
943
  "type": "promptString",
921
944
  "password": true
@@ -1001,9 +1024,12 @@ Follow `knowzcode/knowzcode_loop.md` for all feature development.
1001
1024
  - Target <20 specs per project
1002
1025
  - Every WorkGroup todo starts with `KnowzCode:` prefix
1003
1026
 
1004
- ## Vault Targeting
1005
- When calling `create_knowledge`, always pass `vaultId` from `knowzcode/knowzcode_vaults.md`.
1006
- Omitting it saves to the wrong vault. Use `/kc:learn` for automatic routing.
1027
+ ## Knowledge Capture (CRITICAL — DO NOT SKIP)
1028
+ Every piece of durable knowledge decisions, patterns, gotchas, workarounds — **must** be captured.
1029
+ When MCP is connected, write to vaults per `knowzcode/knowzcode_vaults.md` always pass `vaultId` with `create_knowledge`.
1030
+ When MCP is unavailable, capture locally in specs, log entries, or docs. Never let insights die in the conversation.
1031
+ Use `/kc:learn "insight"` for automatic routing.
1032
+ Vault entries are retrieved via semantic search — write detailed, self-contained content. See `knowzcode/knowzcode_vaults.md` Content Detail Principle.
1007
1033
 
1008
1034
  ## Micro-Fix (for small changes)
1009
1035
  Single file, <50 lines, no ripple effects:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "knowzcode",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Platform-agnostic AI development methodology with TDD, quality gates, and structured workflows",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alias-resolver",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Resolves friendly natural-language aliases to KnowzCode canonical values (phase, audit, plan, workgroup_type).",
5
5
  "parameters": [
6
6
  {"name": "domain", "type": "string", "required": true},
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "architecture-diff",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Highlights differences between specs and the Mermaid flowchart in knowzcode_architecture.md.",
5
5
  "parameters": [],
6
6
  "actions": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "check-installation-status",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Checks if KnowzCode is initialized in the current project and reports current status",
5
5
 
6
6
  "parameters": [],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "environment-guard",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Verifies that knowzcode/environment_context.md no longer contains placeholder brackets.",
5
5
  "parameters": [],
6
6
  "actions": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "generate-workgroup-id",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Generates a WorkGroupID following the KnowzCode convention [type]-[slug]-YYYYMMDD-HHMMSS. The slug is a 2-4 word descriptor extracted from the goal.",
5
5
  "parameters": [
6
6
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "install-knowzcode",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Initializes KnowzCode directory structure and required files in the current project",
5
5
 
6
6
  "parameters": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "load-core-context",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Loads the KnowzCode project overview, architecture, tracker, log header, and automation manifest for downstream steps.",
5
5
  "parameters": [],
6
6
  "actions": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "log-entry-builder",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Appends structured entries to knowzcode/knowzcode_log.md with KnowzCode formatting.",
5
5
  "parameters": [
6
6
  {"name": "entry_type", "type": "string", "required": true},
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-quality-check",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Validates KnowzCode spec files for mandatory sections. Supports new 4-section format and legacy numbered format.",
5
5
  "parameters": [
6
6
  {"name": "node_id", "type": "string", "required": true}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-template",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Seeds or repairs KnowzCode spec files with the lean 4-section template.",
5
5
  "parameters": [
6
6
  {"name": "node_id", "type": "string", "required": true},
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-validator",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Validates NodeID specification completeness and quality. Supports new 4-section format (preferred) and legacy numbered sections (deprecated).",
5
5
  "parameters": [
6
6
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tracker-scan",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Extracts NodeID statuses and WorkGroup assignments from the KnowzCode tracker.",
5
5
  "parameters": [],
6
6
  "actions": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tracker-update",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Applies validated updates to knowzcode/knowzcode_tracker.md while preserving table structure.",
5
5
  "parameters": [
6
6
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "validate-installation",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "description": "Validates that KnowzCode installation completed successfully with required directories and files",
5
5
 
6
6
  "parameters": [],