maestro-flow 0.5.3 → 0.5.31
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.
- package/.agents/skills/learn-follow/SKILL.md +114 -114
- package/.agents/skills/learn-investigate/SKILL.md +138 -139
- package/.agents/skills/learn-second-opinion/SKILL.md +105 -109
- package/.agents/skills/maestro/SKILL.md +2 -10
- package/.agents/skills/maestro-amend/SKILL.md +152 -152
- package/.agents/skills/maestro-analyze/SKILL.md +201 -252
- package/.agents/skills/maestro-blueprint/SKILL.md +175 -190
- package/.agents/skills/maestro-brainstorm/SKILL.md +196 -200
- package/.agents/skills/maestro-collab/SKILL.md +159 -159
- package/.agents/skills/maestro-companion/SKILL.md +517 -517
- package/.agents/skills/maestro-composer/SKILL.md +173 -164
- package/.agents/skills/maestro-execute/SKILL.md +169 -170
- package/.agents/skills/maestro-fork/SKILL.md +97 -96
- package/.agents/skills/maestro-grill/SKILL.md +161 -162
- package/.agents/skills/maestro-guard/SKILL.md +93 -92
- package/.agents/skills/maestro-impeccable/SKILL.md +296 -253
- package/.agents/skills/maestro-init/SKILL.md +117 -118
- package/.agents/skills/maestro-merge/SKILL.md +73 -66
- package/.agents/skills/maestro-milestone-audit/SKILL.md +4 -10
- package/.agents/skills/maestro-milestone-complete/SKILL.md +6 -7
- package/.agents/skills/maestro-milestone-release/SKILL.md +122 -131
- package/.agents/skills/maestro-next/SKILL.md +241 -245
- package/.agents/skills/maestro-overlay/SKILL.md +176 -166
- package/.agents/skills/maestro-plan/SKILL.md +211 -197
- package/.agents/skills/maestro-player/SKILL.md +167 -167
- package/.agents/skills/maestro-quick/SKILL.md +69 -63
- package/.agents/skills/maestro-ralph/SKILL.md +2 -36
- package/.agents/skills/maestro-ralph-beta/SKILL.md +861 -872
- package/.agents/skills/maestro-ralph-execute/SKILL.md +234 -234
- package/.agents/skills/maestro-roadmap/SKILL.md +159 -172
- package/.agents/skills/maestro-swarm-workflow/SKILL.md +229 -250
- package/.agents/skills/maestro-tools-execute/SKILL.md +108 -103
- package/.agents/skills/maestro-tools-register/SKILL.md +148 -143
- package/.agents/skills/maestro-ui-codify/SKILL.md +103 -86
- package/.agents/skills/maestro-universal-workflow/SKILL.md +534 -547
- package/.agents/skills/maestro-update/SKILL.md +109 -106
- package/.agents/skills/manage-codebase-rebuild/SKILL.md +73 -71
- package/.agents/skills/manage-harvest/SKILL.md +83 -81
- package/.agents/skills/manage-issue/SKILL.md +59 -60
- package/.agents/skills/manage-issue-discover/SKILL.md +70 -68
- package/.agents/skills/manage-kg-extractors/SKILL.md +130 -0
- package/.agents/skills/manage-knowhow/SKILL.md +70 -66
- package/.agents/skills/manage-knowhow-capture/SKILL.md +79 -69
- package/.agents/skills/manage-knowledge-audit/SKILL.md +91 -74
- package/.agents/skills/manage-status/SKILL.md +52 -42
- package/.agents/skills/manage-wiki/SKILL.md +69 -58
- package/.agents/skills/odyssey-debug/SKILL.md +445 -459
- package/.agents/skills/odyssey-improve/SKILL.md +477 -491
- package/.agents/skills/odyssey-planex/SKILL.md +576 -587
- package/.agents/skills/odyssey-review-test-fix/SKILL.md +400 -413
- package/.agents/skills/odyssey-ui/SKILL.md +431 -448
- package/.agents/skills/quality-auto-test/SKILL.md +140 -123
- package/.agents/skills/quality-debug/SKILL.md +145 -106
- package/.agents/skills/quality-refactor/SKILL.md +91 -53
- package/.agents/skills/quality-retrospective/SKILL.md +109 -63
- package/.agents/skills/quality-review/SKILL.md +141 -114
- package/.agents/skills/quality-sync/SKILL.md +74 -38
- package/.agents/skills/quality-test/SKILL.md +133 -103
- package/.agents/skills/security-audit/SKILL.md +217 -166
- package/.agents/skills/spec-add/SKILL.md +66 -59
- package/.agents/skills/spec-load/SKILL.md +68 -68
- package/.agents/skills/spec-remove/SKILL.md +42 -42
- package/.agents/skills/spec-setup/SKILL.md +38 -41
- package/.agy/skills/learn-follow/SKILL.md +114 -114
- package/.agy/skills/learn-investigate/SKILL.md +138 -139
- package/.agy/skills/learn-second-opinion/SKILL.md +105 -109
- package/.agy/skills/maestro/SKILL.md +2 -10
- package/.agy/skills/maestro-amend/SKILL.md +152 -152
- package/.agy/skills/maestro-analyze/SKILL.md +201 -252
- package/.agy/skills/maestro-blueprint/SKILL.md +175 -190
- package/.agy/skills/maestro-brainstorm/SKILL.md +196 -200
- package/.agy/skills/maestro-collab/SKILL.md +159 -159
- package/.agy/skills/maestro-companion/SKILL.md +517 -517
- package/.agy/skills/maestro-composer/SKILL.md +173 -164
- package/.agy/skills/maestro-execute/SKILL.md +169 -170
- package/.agy/skills/maestro-fork/SKILL.md +97 -96
- package/.agy/skills/maestro-grill/SKILL.md +161 -162
- package/.agy/skills/maestro-guard/SKILL.md +93 -92
- package/.agy/skills/maestro-impeccable/SKILL.md +296 -253
- package/.agy/skills/maestro-init/SKILL.md +117 -118
- package/.agy/skills/maestro-merge/SKILL.md +73 -66
- package/.agy/skills/maestro-milestone-audit/SKILL.md +4 -10
- package/.agy/skills/maestro-milestone-complete/SKILL.md +6 -7
- package/.agy/skills/maestro-milestone-release/SKILL.md +122 -131
- package/.agy/skills/maestro-next/SKILL.md +241 -245
- package/.agy/skills/maestro-overlay/SKILL.md +176 -166
- package/.agy/skills/maestro-plan/SKILL.md +211 -197
- package/.agy/skills/maestro-player/SKILL.md +167 -167
- package/.agy/skills/maestro-quick/SKILL.md +69 -63
- package/.agy/skills/maestro-ralph/SKILL.md +2 -36
- package/.agy/skills/maestro-ralph-beta/SKILL.md +861 -872
- package/.agy/skills/maestro-ralph-execute/SKILL.md +234 -234
- package/.agy/skills/maestro-roadmap/SKILL.md +159 -172
- package/.agy/skills/maestro-swarm-workflow/SKILL.md +229 -250
- package/.agy/skills/maestro-tools-execute/SKILL.md +108 -103
- package/.agy/skills/maestro-tools-register/SKILL.md +148 -143
- package/.agy/skills/maestro-ui-codify/SKILL.md +103 -86
- package/.agy/skills/maestro-universal-workflow/SKILL.md +534 -547
- package/.agy/skills/maestro-update/SKILL.md +109 -106
- package/.agy/skills/manage-codebase-rebuild/SKILL.md +73 -71
- package/.agy/skills/manage-harvest/SKILL.md +83 -81
- package/.agy/skills/manage-issue/SKILL.md +59 -60
- package/.agy/skills/manage-issue-discover/SKILL.md +70 -68
- package/.agy/skills/manage-kg-extractors/SKILL.md +130 -0
- package/.agy/skills/manage-knowhow/SKILL.md +70 -66
- package/.agy/skills/manage-knowhow-capture/SKILL.md +79 -69
- package/.agy/skills/manage-knowledge-audit/SKILL.md +91 -74
- package/.agy/skills/manage-status/SKILL.md +52 -42
- package/.agy/skills/manage-wiki/SKILL.md +69 -58
- package/.agy/skills/odyssey-debug/SKILL.md +445 -459
- package/.agy/skills/odyssey-improve/SKILL.md +477 -491
- package/.agy/skills/odyssey-planex/SKILL.md +576 -587
- package/.agy/skills/odyssey-review-test-fix/SKILL.md +400 -413
- package/.agy/skills/odyssey-ui/SKILL.md +431 -448
- package/.agy/skills/quality-auto-test/SKILL.md +140 -123
- package/.agy/skills/quality-debug/SKILL.md +145 -106
- package/.agy/skills/quality-refactor/SKILL.md +91 -53
- package/.agy/skills/quality-retrospective/SKILL.md +109 -63
- package/.agy/skills/quality-review/SKILL.md +141 -114
- package/.agy/skills/quality-sync/SKILL.md +74 -38
- package/.agy/skills/quality-test/SKILL.md +133 -103
- package/.agy/skills/security-audit/SKILL.md +217 -166
- package/.agy/skills/spec-add/SKILL.md +66 -59
- package/.agy/skills/spec-load/SKILL.md +68 -68
- package/.agy/skills/spec-remove/SKILL.md +42 -42
- package/.agy/skills/spec-setup/SKILL.md +38 -41
- package/.claude/commands/learn-follow.md +127 -127
- package/.claude/commands/learn-investigate.md +151 -152
- package/.claude/commands/learn-second-opinion.md +118 -122
- package/.claude/commands/maestro-amend.md +164 -164
- package/.claude/commands/maestro-analyze.md +215 -266
- package/.claude/commands/maestro-blueprint.md +189 -204
- package/.claude/commands/maestro-brainstorm.md +209 -213
- package/.claude/commands/maestro-collab.md +172 -172
- package/.claude/commands/maestro-companion.md +531 -531
- package/.claude/commands/maestro-composer.md +188 -179
- package/.claude/commands/maestro-execute.md +183 -184
- package/.claude/commands/maestro-fork.md +111 -110
- package/.claude/commands/maestro-grill.md +175 -176
- package/.claude/commands/maestro-guard.md +103 -102
- package/.claude/commands/maestro-impeccable.md +311 -268
- package/.claude/commands/maestro-init.md +130 -131
- package/.claude/commands/maestro-merge.md +87 -80
- package/.claude/commands/maestro-milestone-audit.md +4 -10
- package/.claude/commands/maestro-milestone-complete.md +6 -7
- package/.claude/commands/maestro-milestone-release.md +136 -145
- package/.claude/commands/maestro-next.md +253 -257
- package/.claude/commands/maestro-overlay.md +188 -178
- package/.claude/commands/maestro-plan.md +225 -211
- package/.claude/commands/maestro-player.md +182 -182
- package/.claude/commands/maestro-quick.md +83 -77
- package/.claude/commands/maestro-ralph-beta.md +875 -886
- package/.claude/commands/maestro-ralph-execute.md +247 -247
- package/.claude/commands/maestro-ralph.md +2 -36
- package/.claude/commands/maestro-roadmap.md +173 -186
- package/.claude/commands/maestro-swarm-workflow.md +243 -264
- package/.claude/commands/maestro-tools-execute.md +122 -117
- package/.claude/commands/maestro-tools-register.md +162 -157
- package/.claude/commands/maestro-ui-codify.md +117 -100
- package/.claude/commands/maestro-universal-workflow.md +548 -561
- package/.claude/commands/maestro-update.md +122 -119
- package/.claude/commands/maestro.md +2 -10
- package/.claude/commands/manage-codebase-rebuild.md +87 -85
- package/.claude/commands/manage-harvest.md +97 -95
- package/.claude/commands/manage-issue-discover.md +83 -81
- package/.claude/commands/manage-issue.md +72 -73
- package/.claude/commands/manage-kg-extractors.md +128 -0
- package/.claude/commands/manage-knowhow-capture.md +92 -82
- package/.claude/commands/manage-knowhow.md +83 -79
- package/.claude/commands/manage-knowledge-audit.md +105 -88
- package/.claude/commands/manage-status.md +62 -52
- package/.claude/commands/manage-wiki.md +82 -71
- package/.claude/commands/odyssey-debug.md +459 -473
- package/.claude/commands/odyssey-improve.md +491 -505
- package/.claude/commands/odyssey-planex.md +590 -601
- package/.claude/commands/odyssey-review-test-fix.md +414 -427
- package/.claude/commands/odyssey-ui.md +445 -462
- package/.claude/commands/quality-auto-test.md +153 -136
- package/.claude/commands/quality-debug.md +159 -120
- package/.claude/commands/quality-refactor.md +105 -67
- package/.claude/commands/quality-retrospective.md +123 -77
- package/.claude/commands/quality-review.md +155 -128
- package/.claude/commands/quality-sync.md +88 -52
- package/.claude/commands/quality-test.md +147 -117
- package/.claude/commands/security-audit.md +230 -179
- package/.claude/commands/spec-add.md +77 -70
- package/.claude/commands/spec-load.md +78 -78
- package/.claude/commands/spec-remove.md +55 -55
- package/.claude/commands/spec-setup.md +49 -52
- package/dist/src/cli.js +1 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/kg.d.ts.map +1 -1
- package/dist/src/commands/kg.js +11 -5
- package/dist/src/commands/kg.js.map +1 -1
- package/dist/src/graph/kg/extraction/code/code-extractor.d.ts +2 -0
- package/dist/src/graph/kg/extraction/code/code-extractor.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/code/code-extractor.js +32 -3
- package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
- package/dist/src/graph/kg/extraction/code/plugin-engine.d.ts +35 -0
- package/dist/src/graph/kg/extraction/code/plugin-engine.d.ts.map +1 -0
- package/dist/src/graph/kg/extraction/code/plugin-engine.js +573 -0
- package/dist/src/graph/kg/extraction/code/plugin-engine.js.map +1 -0
- package/dist/src/graph/kg/extraction/code/plugin-types.d.ts +95 -0
- package/dist/src/graph/kg/extraction/code/plugin-types.d.ts.map +1 -0
- package/dist/src/graph/kg/extraction/code/plugin-types.js +5 -0
- package/dist/src/graph/kg/extraction/code/plugin-types.js.map +1 -0
- package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/orchestrator.js +17 -5
- package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -1
- package/dist/src/graph/kg/schema.sql +16 -11
- package/dist/src/graph/kg/surface/cli.d.ts.map +1 -1
- package/dist/src/graph/kg/surface/cli.js +153 -56
- package/dist/src/graph/kg/surface/cli.js.map +1 -1
- package/dist/src/hooks/workspace.d.ts +4 -2
- package/dist/src/hooks/workspace.d.ts.map +1 -1
- package/dist/src/hooks/workspace.js +6 -2
- package/dist/src/hooks/workspace.js.map +1 -1
- package/package.json +91 -91
- package/workflows/analyze.md +25 -49
- package/workflows/auto-test.md +699 -699
- package/workflows/blueprint.md +403 -431
- package/workflows/brainstorm.md +54 -195
- package/workflows/business-test.md +570 -570
- package/workflows/claude-instructions.md +23 -51
- package/workflows/codex-instructions.md +27 -77
- package/workflows/coding-philosophy.md +69 -69
- package/workflows/command-authoring.md +823 -823
- package/workflows/debug.md +43 -98
- package/workflows/delegate-usage.md +39 -241
- package/workflows/execute.md +4 -53
- package/workflows/grill.md +12 -56
- package/workflows/harvest.md +22 -68
- package/workflows/init.md +148 -148
- package/workflows/instruction-authoring-guide.md +97 -0
- package/workflows/issue-execute.md +110 -110
- package/workflows/issue-gaps-analyze.codex.md +260 -260
- package/workflows/issue-gaps-analyze.md +216 -216
- package/workflows/issue-plan.md +110 -110
- package/workflows/issue.md +338 -346
- package/workflows/knowhow.md +0 -32
- package/workflows/learn.md +277 -277
- package/workflows/maestro-chain-execute.md +20 -20
- package/workflows/refactor.md +22 -44
- package/workflows/retrospective.md +16 -65
- package/workflows/review.md +446 -486
- package/workflows/roadmap.md +35 -132
- package/workflows/skill-authoring.md +265 -265
- package/workflows/spec-generate.md +470 -470
- package/workflows/specs-remove.md +104 -104
- package/workflows/sync.md +11 -41
- package/workflows/test-gen.md +226 -226
- package/workflows/test.md +385 -475
- package/workflows/ui-design.md +391 -391
- package/workflows/ui-style.md +199 -199
- package/workflows/wiki-connect.md +151 -151
- package/workflows/wiki-digest.md +178 -178
- package/workflows/wiki-manage.md +109 -109
- package/workflows/cli-tools-usage.md +0 -252
- package/workflows/delegate-protocol.codex.md +0 -65
|
@@ -1,151 +1,151 @@
|
|
|
1
|
-
# Wiki Connect Workflow
|
|
2
|
-
|
|
3
|
-
Knowledge graph link discovery and health improvement. Analyzes the unified wiki index to find orphaned entries, missing connections, and transitive link gaps, then suggests or auto-applies new `related` links.
|
|
4
|
-
|
|
5
|
-
**Closed-loop**: wiki-connect improves graph → wiki-digest produces better clusters → learn-follow surfaces richer trails.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Prerequisites
|
|
10
|
-
|
|
11
|
-
- `.workflow/` initialized (`.workflow/state.json` exists)
|
|
12
|
-
- Wiki entries exist (at least 5 for meaningful analysis)
|
|
13
|
-
- `maestro wiki` CLI available
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Argument Shape
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
/wiki-connect → full graph analysis, all types
|
|
21
|
-
/wiki-connect --scope spec → limit to spec entries only
|
|
22
|
-
/wiki-connect --scope memory → limit to memory entries only
|
|
23
|
-
/wiki-connect --min-similarity 0.5 → raise threshold (default: 0.3)
|
|
24
|
-
/wiki-connect --fix → auto-apply top suggestions
|
|
25
|
-
/wiki-connect --max 10 → limit suggestion count (default: 20)
|
|
26
|
-
/wiki-connect --scope spec --fix --max 5 → combined: fix top 5 spec connections
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
| Flag | Effect |
|
|
30
|
-
|------|--------|
|
|
31
|
-
| `--scope <type>` | Limit to wiki type: spec, knowhow, note, issue. Default: all |
|
|
32
|
-
| `--min-similarity N` | Minimum similarity score 0.0-1.0 (default: 0.3) |
|
|
33
|
-
| `--fix` | Auto-apply top suggestions via `maestro wiki update` |
|
|
34
|
-
| `--max N` | Maximum suggestions to generate (default: 20) |
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## Stage 1: Load Wiki State
|
|
39
|
-
|
|
40
|
-
Gather baseline in parallel via `maestro wiki list --json`, `health`, `orphans`, `hubs --top 10`.
|
|
41
|
-
|
|
42
|
-
Working state: entry count by type, baseline health score, orphan IDs, hub in-degree counts.
|
|
43
|
-
|
|
44
|
-
Apply `--scope` filter if provided — restrict all subsequent analysis to matching type.
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Stage 2: Identify Connection Candidates
|
|
49
|
-
|
|
50
|
-
For each entry, compute potential connections across four dimensions:
|
|
51
|
-
|
|
52
|
-
### 2a. Orphan Rescue
|
|
53
|
-
For each orphan entry:
|
|
54
|
-
1. `maestro wiki search "<orphan title>"` — BM25 title match
|
|
55
|
-
2. Tag overlap: entries sharing 2+ tags with the orphan
|
|
56
|
-
3. Same category: entries with matching `category` field
|
|
57
|
-
4. Same parent: entries sharing the same `parent` field
|
|
58
|
-
|
|
59
|
-
### 2b. Missing Bidirectional Links
|
|
60
|
-
Scan forward links (from `maestro wiki graph`):
|
|
61
|
-
- If A → B exists but B → A is missing, suggest adding reverse link
|
|
62
|
-
- Priority: entries where B has low in-degree (would benefit most)
|
|
63
|
-
|
|
64
|
-
### 2c. Transitive Closure
|
|
65
|
-
For connected pairs A → B and B → C:
|
|
66
|
-
- If A has no link to C, AND A and C share tags or category, suggest A → C
|
|
67
|
-
- Skip if distance >2 hops (avoid over-connecting)
|
|
68
|
-
|
|
69
|
-
### 2d. Type Bridge
|
|
70
|
-
Detect entries of different types referencing the same concept:
|
|
71
|
-
- e.g., `spec-auth` and `knowhow-auth-gotcha` — same domain, different perspectives
|
|
72
|
-
- Use tag overlap + title keyword match to detect shared concepts
|
|
73
|
-
- Only suggest if entries are currently unlinked
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Stage 3: Score Candidates
|
|
78
|
-
|
|
79
|
-
Score each candidate connection (source → target):
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
score = 0.4 × tag_overlap_ratio + 0.3 × title_bm25_similarity + 0.2 × same_category_bonus + 0.1 × type_bridge_bonus
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Ratios: tag_overlap = shared/max(source,target) tags, BM25 = normalized wiki search, category/type bonuses = 1.0 if match/bridge.
|
|
86
|
-
|
|
87
|
-
Filter: score >= `--min-similarity`, sort descending, limit to `--max`.
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Stage 4: Present Suggestions
|
|
92
|
-
|
|
93
|
-
Display ranked suggestions:
|
|
94
|
-
|
|
95
|
-
```
|
|
96
|
-
== Wiki Connection Suggestions ==
|
|
97
|
-
Baseline health: 72/100 | Orphans: 8 | Broken links: 3
|
|
98
|
-
|
|
99
|
-
# Score Source → Target Reason
|
|
100
|
-
1 0.85 memory-auth-flow → spec-auth tag overlap (auth, security) + type bridge
|
|
101
|
-
2 0.71 note-cache-pattern → spec-performance title BM25 match + type bridge
|
|
102
|
-
3 0.65 knowhow-retry-fix → spec-error-handling tag overlap (error, retry)
|
|
103
|
-
...
|
|
104
|
-
|
|
105
|
-
Projected health after fix: 81/100 (+9)
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
If NOT `--fix`: display and exit with next-step hints.
|
|
109
|
-
If `--fix`: proceed to Stage 5.
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## Stage 5: Apply Connections (--fix only)
|
|
114
|
-
|
|
115
|
-
For each accepted suggestion: fetch entry, append target-id to `related` list (dedup), update via `maestro wiki update <source-id> --frontmatter`.
|
|
116
|
-
|
|
117
|
-
After all updates: re-run `maestro wiki health`, report applied/skipped counts and health delta.
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## Stage 6: Persist & Report
|
|
122
|
-
|
|
123
|
-
1. Write `.workflow/knowhow/KNW-wiki-connections-{YYYY-MM-DD}.md`:
|
|
124
|
-
- Baseline vs final health scores
|
|
125
|
-
- All suggestions (applied and unapplied) with scores
|
|
126
|
-
- Orphan rescue results
|
|
127
|
-
- Graph structure observations (hub concentration, type distribution)
|
|
128
|
-
|
|
129
|
-
2. Append graph insights as `<spec-entry>` to `.workflow/specs/learnings.md`:
|
|
130
|
-
- `source="wiki-connect"`, `category="technique"`
|
|
131
|
-
- e.g., "Auth entries poorly cross-referenced", "Memory entries have highest orphan rate"
|
|
132
|
-
|
|
133
|
-
3. Display summary:
|
|
134
|
-
```
|
|
135
|
-
== Wiki Connect Complete ==
|
|
136
|
-
Suggestions: {total} ({applied} applied, {skipped} skipped)
|
|
137
|
-
Health: {baseline} → {new} ({delta})
|
|
138
|
-
Report: .workflow/knowhow/KNW-wiki-connections-{date}.md
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## Next Steps
|
|
144
|
-
|
|
145
|
-
| Action | Command |
|
|
146
|
-
|--------|---------|
|
|
147
|
-
| Generate knowledge digest | `/wiki-digest <topic>` |
|
|
148
|
-
| Follow-along on orphan | `/learn-follow <wiki-id>` |
|
|
149
|
-
| View full graph | `maestro wiki graph` |
|
|
150
|
-
| Run harvest for new content | `/manage-harvest --recent 7` |
|
|
151
|
-
|
|
1
|
+
# Wiki Connect Workflow
|
|
2
|
+
|
|
3
|
+
Knowledge graph link discovery and health improvement. Analyzes the unified wiki index to find orphaned entries, missing connections, and transitive link gaps, then suggests or auto-applies new `related` links.
|
|
4
|
+
|
|
5
|
+
**Closed-loop**: wiki-connect improves graph → wiki-digest produces better clusters → learn-follow surfaces richer trails.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
- `.workflow/` initialized (`.workflow/state.json` exists)
|
|
12
|
+
- Wiki entries exist (at least 5 for meaningful analysis)
|
|
13
|
+
- `maestro wiki` CLI available
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Argument Shape
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/wiki-connect → full graph analysis, all types
|
|
21
|
+
/wiki-connect --scope spec → limit to spec entries only
|
|
22
|
+
/wiki-connect --scope memory → limit to memory entries only
|
|
23
|
+
/wiki-connect --min-similarity 0.5 → raise threshold (default: 0.3)
|
|
24
|
+
/wiki-connect --fix → auto-apply top suggestions
|
|
25
|
+
/wiki-connect --max 10 → limit suggestion count (default: 20)
|
|
26
|
+
/wiki-connect --scope spec --fix --max 5 → combined: fix top 5 spec connections
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
| Flag | Effect |
|
|
30
|
+
|------|--------|
|
|
31
|
+
| `--scope <type>` | Limit to wiki type: spec, knowhow, note, issue. Default: all |
|
|
32
|
+
| `--min-similarity N` | Minimum similarity score 0.0-1.0 (default: 0.3) |
|
|
33
|
+
| `--fix` | Auto-apply top suggestions via `maestro wiki update` |
|
|
34
|
+
| `--max N` | Maximum suggestions to generate (default: 20) |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Stage 1: Load Wiki State
|
|
39
|
+
|
|
40
|
+
Gather baseline in parallel via `maestro wiki list --json`, `health`, `orphans`, `hubs --top 10`.
|
|
41
|
+
|
|
42
|
+
Working state: entry count by type, baseline health score, orphan IDs, hub in-degree counts.
|
|
43
|
+
|
|
44
|
+
Apply `--scope` filter if provided — restrict all subsequent analysis to matching type.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Stage 2: Identify Connection Candidates
|
|
49
|
+
|
|
50
|
+
For each entry, compute potential connections across four dimensions:
|
|
51
|
+
|
|
52
|
+
### 2a. Orphan Rescue
|
|
53
|
+
For each orphan entry:
|
|
54
|
+
1. `maestro wiki search "<orphan title>"` — BM25 title match
|
|
55
|
+
2. Tag overlap: entries sharing 2+ tags with the orphan
|
|
56
|
+
3. Same category: entries with matching `category` field
|
|
57
|
+
4. Same parent: entries sharing the same `parent` field
|
|
58
|
+
|
|
59
|
+
### 2b. Missing Bidirectional Links
|
|
60
|
+
Scan forward links (from `maestro wiki graph`):
|
|
61
|
+
- If A → B exists but B → A is missing, suggest adding reverse link
|
|
62
|
+
- Priority: entries where B has low in-degree (would benefit most)
|
|
63
|
+
|
|
64
|
+
### 2c. Transitive Closure
|
|
65
|
+
For connected pairs A → B and B → C:
|
|
66
|
+
- If A has no link to C, AND A and C share tags or category, suggest A → C
|
|
67
|
+
- Skip if distance >2 hops (avoid over-connecting)
|
|
68
|
+
|
|
69
|
+
### 2d. Type Bridge
|
|
70
|
+
Detect entries of different types referencing the same concept:
|
|
71
|
+
- e.g., `spec-auth` and `knowhow-auth-gotcha` — same domain, different perspectives
|
|
72
|
+
- Use tag overlap + title keyword match to detect shared concepts
|
|
73
|
+
- Only suggest if entries are currently unlinked
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Stage 3: Score Candidates
|
|
78
|
+
|
|
79
|
+
Score each candidate connection (source → target):
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
score = 0.4 × tag_overlap_ratio + 0.3 × title_bm25_similarity + 0.2 × same_category_bonus + 0.1 × type_bridge_bonus
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Ratios: tag_overlap = shared/max(source,target) tags, BM25 = normalized wiki search, category/type bonuses = 1.0 if match/bridge.
|
|
86
|
+
|
|
87
|
+
Filter: score >= `--min-similarity`, sort descending, limit to `--max`.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Stage 4: Present Suggestions
|
|
92
|
+
|
|
93
|
+
Display ranked suggestions:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
== Wiki Connection Suggestions ==
|
|
97
|
+
Baseline health: 72/100 | Orphans: 8 | Broken links: 3
|
|
98
|
+
|
|
99
|
+
# Score Source → Target Reason
|
|
100
|
+
1 0.85 memory-auth-flow → spec-auth tag overlap (auth, security) + type bridge
|
|
101
|
+
2 0.71 note-cache-pattern → spec-performance title BM25 match + type bridge
|
|
102
|
+
3 0.65 knowhow-retry-fix → spec-error-handling tag overlap (error, retry)
|
|
103
|
+
...
|
|
104
|
+
|
|
105
|
+
Projected health after fix: 81/100 (+9)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
If NOT `--fix`: display and exit with next-step hints.
|
|
109
|
+
If `--fix`: proceed to Stage 5.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Stage 5: Apply Connections (--fix only)
|
|
114
|
+
|
|
115
|
+
For each accepted suggestion: fetch entry, append target-id to `related` list (dedup), update via `maestro wiki update <source-id> --frontmatter`.
|
|
116
|
+
|
|
117
|
+
After all updates: re-run `maestro wiki health`, report applied/skipped counts and health delta.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Stage 6: Persist & Report
|
|
122
|
+
|
|
123
|
+
1. Write `.workflow/knowhow/KNW-wiki-connections-{YYYY-MM-DD}.md`:
|
|
124
|
+
- Baseline vs final health scores
|
|
125
|
+
- All suggestions (applied and unapplied) with scores
|
|
126
|
+
- Orphan rescue results
|
|
127
|
+
- Graph structure observations (hub concentration, type distribution)
|
|
128
|
+
|
|
129
|
+
2. Append graph insights as `<spec-entry>` to `.workflow/specs/learnings.md`:
|
|
130
|
+
- `source="wiki-connect"`, `category="technique"`
|
|
131
|
+
- e.g., "Auth entries poorly cross-referenced", "Memory entries have highest orphan rate"
|
|
132
|
+
|
|
133
|
+
3. Display summary:
|
|
134
|
+
```
|
|
135
|
+
== Wiki Connect Complete ==
|
|
136
|
+
Suggestions: {total} ({applied} applied, {skipped} skipped)
|
|
137
|
+
Health: {baseline} → {new} ({delta})
|
|
138
|
+
Report: .workflow/knowhow/KNW-wiki-connections-{date}.md
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Next Steps
|
|
144
|
+
|
|
145
|
+
| Action | Command |
|
|
146
|
+
|--------|---------|
|
|
147
|
+
| Generate knowledge digest | `/wiki-digest <topic>` |
|
|
148
|
+
| Follow-along on orphan | `/learn-follow <wiki-id>` |
|
|
149
|
+
| View full graph | `maestro wiki graph` |
|
|
150
|
+
| Run harvest for new content | `/manage-harvest --recent 7` |
|
|
151
|
+
|
package/workflows/wiki-digest.md
CHANGED
|
@@ -1,178 +1,178 @@
|
|
|
1
|
-
# Wiki Digest Workflow
|
|
2
|
-
|
|
3
|
-
Knowledge synthesis from the wiki knowledge graph. Clusters entries by semantic theme, identifies knowledge gaps, produces coverage heatmaps, and optionally creates knowledge-gap issues.
|
|
4
|
-
|
|
5
|
-
Unlike `maestro wiki list` which shows raw entries, this workflow synthesizes and interprets the knowledge base — producing curated summaries with gap analysis and recommended actions.
|
|
6
|
-
|
|
7
|
-
**Closed-loop**: harvest extracts → wiki stores → wiki-digest synthesizes → gap issues → issue pipeline.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Prerequisites
|
|
12
|
-
|
|
13
|
-
- `.workflow/` initialized
|
|
14
|
-
- Wiki entries exist (at least 5 for meaningful clustering)
|
|
15
|
-
- `maestro wiki` CLI available
|
|
16
|
-
- `.workflow/specs/learnings.md` exists (optional, for cross-reference)
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Argument Shape
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
/wiki-digest → digest entire wiki
|
|
24
|
-
/wiki-digest auth → topic-scoped digest
|
|
25
|
-
/wiki-digest --recent 14 → entries updated in last 14 days
|
|
26
|
-
/wiki-digest --type spec → spec entries only
|
|
27
|
-
/wiki-digest --format full → detailed per-entry summaries
|
|
28
|
-
/wiki-digest auth --create-issues → digest + auto-create gap issues
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
| Flag | Effect |
|
|
32
|
-
|------|--------|
|
|
33
|
-
| `<topic>` | Search wiki for matching entries via BM25 |
|
|
34
|
-
| `--recent N` | Entries updated within last N days |
|
|
35
|
-
| `--type <type>` | Filter by wiki type: spec, knowhow, note, issue |
|
|
36
|
-
| `--format brief\|full` | `brief` = compact (default), `full` = detailed per-entry |
|
|
37
|
-
| `--create-issues` | Auto-create knowledge-gap issues in `issues.jsonl` |
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Stage 1: Scope & Load
|
|
42
|
-
|
|
43
|
-
Determine scope from arguments:
|
|
44
|
-
|
|
45
|
-
| Input | Resolution |
|
|
46
|
-
|-------|-----------|
|
|
47
|
-
| `<topic>` | `maestro wiki search "<topic>" --json` |
|
|
48
|
-
| `--recent N` | `maestro wiki list --json` → filter by updated date |
|
|
49
|
-
| `--type <type>` | `maestro wiki list --type <type> --json` |
|
|
50
|
-
| No args | `maestro wiki list --json` (all entries) |
|
|
51
|
-
|
|
52
|
-
Load entry metadata: id, title, tags, status, type, related, summary, category.
|
|
53
|
-
|
|
54
|
-
For `--format full`: also fetch entry bodies via `maestro wiki get <id>` for top entries (by hub score).
|
|
55
|
-
|
|
56
|
-
Run `maestro wiki health` for baseline health metrics.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Stage 2: Theme Clustering
|
|
61
|
-
|
|
62
|
-
Group entries into 3-5 semantic themes by: tag co-occurrence (2+ shared tags), title BM25 similarity, relationship proximity (`related` links), and type sub-clustering.
|
|
63
|
-
|
|
64
|
-
Per theme: name (dominant tag), entry count/IDs, type distribution, status distribution.
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Stage 3: Per-Theme Analysis
|
|
69
|
-
|
|
70
|
-
For each theme, produce:
|
|
71
|
-
|
|
72
|
-
### Summary Paragraph
|
|
73
|
-
Synthesize what these entries collectively teach. Focus on the knowledge pattern, not individual details.
|
|
74
|
-
|
|
75
|
-
### Key Entries
|
|
76
|
-
Top 3-5 most important entries by:
|
|
77
|
-
- Hub score (in-degree from `maestro wiki hubs`)
|
|
78
|
-
- Backlink count (from `maestro wiki backlinks <id>`)
|
|
79
|
-
- Recency (recently updated entries weigh more)
|
|
80
|
-
|
|
81
|
-
### Gap Detection
|
|
82
|
-
- **Broken links**: `[[references]]` that don't resolve within the theme
|
|
83
|
-
- **Orphans**: entries in this theme with no connections
|
|
84
|
-
- **TODO markers**: entries with `?`, "TODO", "TBD" in title or body
|
|
85
|
-
- **Missing perspectives**: theme has specs but no knowhow? Issues but no decisions?
|
|
86
|
-
|
|
87
|
-
### Health Score
|
|
88
|
-
Per-theme health adapted from wiki health formula (entries, connectivity, completeness).
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## Stage 4: Cross-Reference with Knowhow Insights
|
|
93
|
-
|
|
94
|
-
Search via `maestro wiki search` or parse `.workflow/specs/learnings.md` for keyword matches against each theme. Flag **unlinked insights** — learning entries matching a theme but not referenced by any wiki entry in that theme.
|
|
95
|
-
|
|
96
|
-
If `learnings.md` not found, skip with W002 warning.
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## Stage 5: Coverage Heatmap
|
|
101
|
-
|
|
102
|
-
Build a type × theme matrix showing knowledge density:
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
Theme 1 Theme 2 Theme 3 Theme 4 Theme 5
|
|
106
|
-
spec ███░░ ░░░░░ █████ ██░░░ ░░░░░
|
|
107
|
-
knowhow ░░░░░ ████░ ██░░░ ░░░░░ ███░░
|
|
108
|
-
note █░░░░ ██░░░ ████░ █░░░░ ░░░░░
|
|
109
|
-
issue ██░░░ ░░░░░ █░░░░ ███░░ ░░░░░
|
|
110
|
-
|
|
111
|
-
Legend: █ = entries exist, ░ = sparse/missing
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
Empty cells = knowledge gaps. Each gap becomes a candidate for Stage 7.
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## Stage 6: Write Digest
|
|
119
|
-
|
|
120
|
-
Produce `.workflow/knowhow/KNW-digest-{slug}-{YYYY-MM-DD}.md`:
|
|
121
|
-
|
|
122
|
-
```markdown
|
|
123
|
-
# Knowledge Digest: {scope description}
|
|
124
|
-
**Generated:** {date} | **Entries:** {count} | **Health:** {score}/100
|
|
125
|
-
|
|
126
|
-
## Themes
|
|
127
|
-
|
|
128
|
-
### 1. {Theme Name} ({N} entries)
|
|
129
|
-
{summary paragraph}
|
|
130
|
-
|
|
131
|
-
**Key entries:** {linked entry IDs}
|
|
132
|
-
**Gaps:** {list of missing knowledge}
|
|
133
|
-
**Health:** {score}/100
|
|
134
|
-
|
|
135
|
-
### 2. {Theme Name} ...
|
|
136
|
-
|
|
137
|
-
## Coverage Heatmap
|
|
138
|
-
{type × theme matrix}
|
|
139
|
-
|
|
140
|
-
## Knowledge Gaps
|
|
141
|
-
| Gap | Theme | Type Missing | Suggested Action |
|
|
142
|
-
|-----|-------|-------------|-----------------|
|
|
143
|
-
| No knowhow for auth patterns | Security | knowhow | /learn-decompose src/auth/ |
|
|
144
|
-
|
|
145
|
-
## Unlinked Insights
|
|
146
|
-
{knowhow entries not connected to wiki graph}
|
|
147
|
-
|
|
148
|
-
## Recommended Actions
|
|
149
|
-
1. {action}: {reason}
|
|
150
|
-
2. ...
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## Stage 7: Gap → Issue Routing (if --create-issues)
|
|
156
|
-
|
|
157
|
-
For each knowledge gap from Stage 5: dedup against `.workflow/issues/issues.jsonl` (same theme + type). If new, append with `type: "knowledge-gap"`, `status: "open"`, `severity: "low"`, `source: "wiki-digest"`, `tags: ["knowledge-gap", "{theme-slug}"]`. Report created count.
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## Stage 8: Persist
|
|
162
|
-
|
|
163
|
-
1. Write digest file to `.workflow/knowhow/`
|
|
164
|
-
2. Append meta-insights as `<spec-entry>` to `.workflow/specs/learnings.md` (`source="wiki-digest"`, `category="technique"`)
|
|
165
|
-
3. Display summary: scope, entry count, theme count, gap count, created issues (if applicable), report path.
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
## Next Steps
|
|
170
|
-
|
|
171
|
-
| Action | Command |
|
|
172
|
-
|--------|---------|
|
|
173
|
-
| Deep dive on a theme | `/learn-follow <wiki-id>` |
|
|
174
|
-
| Fix graph connectivity | `/wiki-connect --fix` |
|
|
175
|
-
| Decompose for patterns | `/learn-decompose <path>` |
|
|
176
|
-
| Create missing entries | `maestro wiki create --type <type> --slug <slug>` |
|
|
177
|
-
| Triage gap issues | `/manage-issue list --source wiki-digest` |
|
|
178
|
-
|
|
1
|
+
# Wiki Digest Workflow
|
|
2
|
+
|
|
3
|
+
Knowledge synthesis from the wiki knowledge graph. Clusters entries by semantic theme, identifies knowledge gaps, produces coverage heatmaps, and optionally creates knowledge-gap issues.
|
|
4
|
+
|
|
5
|
+
Unlike `maestro wiki list` which shows raw entries, this workflow synthesizes and interprets the knowledge base — producing curated summaries with gap analysis and recommended actions.
|
|
6
|
+
|
|
7
|
+
**Closed-loop**: harvest extracts → wiki stores → wiki-digest synthesizes → gap issues → issue pipeline.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- `.workflow/` initialized
|
|
14
|
+
- Wiki entries exist (at least 5 for meaningful clustering)
|
|
15
|
+
- `maestro wiki` CLI available
|
|
16
|
+
- `.workflow/specs/learnings.md` exists (optional, for cross-reference)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Argument Shape
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
/wiki-digest → digest entire wiki
|
|
24
|
+
/wiki-digest auth → topic-scoped digest
|
|
25
|
+
/wiki-digest --recent 14 → entries updated in last 14 days
|
|
26
|
+
/wiki-digest --type spec → spec entries only
|
|
27
|
+
/wiki-digest --format full → detailed per-entry summaries
|
|
28
|
+
/wiki-digest auth --create-issues → digest + auto-create gap issues
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
| Flag | Effect |
|
|
32
|
+
|------|--------|
|
|
33
|
+
| `<topic>` | Search wiki for matching entries via BM25 |
|
|
34
|
+
| `--recent N` | Entries updated within last N days |
|
|
35
|
+
| `--type <type>` | Filter by wiki type: spec, knowhow, note, issue |
|
|
36
|
+
| `--format brief\|full` | `brief` = compact (default), `full` = detailed per-entry |
|
|
37
|
+
| `--create-issues` | Auto-create knowledge-gap issues in `issues.jsonl` |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Stage 1: Scope & Load
|
|
42
|
+
|
|
43
|
+
Determine scope from arguments:
|
|
44
|
+
|
|
45
|
+
| Input | Resolution |
|
|
46
|
+
|-------|-----------|
|
|
47
|
+
| `<topic>` | `maestro wiki search "<topic>" --json` |
|
|
48
|
+
| `--recent N` | `maestro wiki list --json` → filter by updated date |
|
|
49
|
+
| `--type <type>` | `maestro wiki list --type <type> --json` |
|
|
50
|
+
| No args | `maestro wiki list --json` (all entries) |
|
|
51
|
+
|
|
52
|
+
Load entry metadata: id, title, tags, status, type, related, summary, category.
|
|
53
|
+
|
|
54
|
+
For `--format full`: also fetch entry bodies via `maestro wiki get <id>` for top entries (by hub score).
|
|
55
|
+
|
|
56
|
+
Run `maestro wiki health` for baseline health metrics.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Stage 2: Theme Clustering
|
|
61
|
+
|
|
62
|
+
Group entries into 3-5 semantic themes by: tag co-occurrence (2+ shared tags), title BM25 similarity, relationship proximity (`related` links), and type sub-clustering.
|
|
63
|
+
|
|
64
|
+
Per theme: name (dominant tag), entry count/IDs, type distribution, status distribution.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Stage 3: Per-Theme Analysis
|
|
69
|
+
|
|
70
|
+
For each theme, produce:
|
|
71
|
+
|
|
72
|
+
### Summary Paragraph
|
|
73
|
+
Synthesize what these entries collectively teach. Focus on the knowledge pattern, not individual details.
|
|
74
|
+
|
|
75
|
+
### Key Entries
|
|
76
|
+
Top 3-5 most important entries by:
|
|
77
|
+
- Hub score (in-degree from `maestro wiki hubs`)
|
|
78
|
+
- Backlink count (from `maestro wiki backlinks <id>`)
|
|
79
|
+
- Recency (recently updated entries weigh more)
|
|
80
|
+
|
|
81
|
+
### Gap Detection
|
|
82
|
+
- **Broken links**: `[[references]]` that don't resolve within the theme
|
|
83
|
+
- **Orphans**: entries in this theme with no connections
|
|
84
|
+
- **TODO markers**: entries with `?`, "TODO", "TBD" in title or body
|
|
85
|
+
- **Missing perspectives**: theme has specs but no knowhow? Issues but no decisions?
|
|
86
|
+
|
|
87
|
+
### Health Score
|
|
88
|
+
Per-theme health adapted from wiki health formula (entries, connectivity, completeness).
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Stage 4: Cross-Reference with Knowhow Insights
|
|
93
|
+
|
|
94
|
+
Search via `maestro wiki search` or parse `.workflow/specs/learnings.md` for keyword matches against each theme. Flag **unlinked insights** — learning entries matching a theme but not referenced by any wiki entry in that theme.
|
|
95
|
+
|
|
96
|
+
If `learnings.md` not found, skip with W002 warning.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Stage 5: Coverage Heatmap
|
|
101
|
+
|
|
102
|
+
Build a type × theme matrix showing knowledge density:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Theme 1 Theme 2 Theme 3 Theme 4 Theme 5
|
|
106
|
+
spec ███░░ ░░░░░ █████ ██░░░ ░░░░░
|
|
107
|
+
knowhow ░░░░░ ████░ ██░░░ ░░░░░ ███░░
|
|
108
|
+
note █░░░░ ██░░░ ████░ █░░░░ ░░░░░
|
|
109
|
+
issue ██░░░ ░░░░░ █░░░░ ███░░ ░░░░░
|
|
110
|
+
|
|
111
|
+
Legend: █ = entries exist, ░ = sparse/missing
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Empty cells = knowledge gaps. Each gap becomes a candidate for Stage 7.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Stage 6: Write Digest
|
|
119
|
+
|
|
120
|
+
Produce `.workflow/knowhow/KNW-digest-{slug}-{YYYY-MM-DD}.md`:
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
# Knowledge Digest: {scope description}
|
|
124
|
+
**Generated:** {date} | **Entries:** {count} | **Health:** {score}/100
|
|
125
|
+
|
|
126
|
+
## Themes
|
|
127
|
+
|
|
128
|
+
### 1. {Theme Name} ({N} entries)
|
|
129
|
+
{summary paragraph}
|
|
130
|
+
|
|
131
|
+
**Key entries:** {linked entry IDs}
|
|
132
|
+
**Gaps:** {list of missing knowledge}
|
|
133
|
+
**Health:** {score}/100
|
|
134
|
+
|
|
135
|
+
### 2. {Theme Name} ...
|
|
136
|
+
|
|
137
|
+
## Coverage Heatmap
|
|
138
|
+
{type × theme matrix}
|
|
139
|
+
|
|
140
|
+
## Knowledge Gaps
|
|
141
|
+
| Gap | Theme | Type Missing | Suggested Action |
|
|
142
|
+
|-----|-------|-------------|-----------------|
|
|
143
|
+
| No knowhow for auth patterns | Security | knowhow | /learn-decompose src/auth/ |
|
|
144
|
+
|
|
145
|
+
## Unlinked Insights
|
|
146
|
+
{knowhow entries not connected to wiki graph}
|
|
147
|
+
|
|
148
|
+
## Recommended Actions
|
|
149
|
+
1. {action}: {reason}
|
|
150
|
+
2. ...
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Stage 7: Gap → Issue Routing (if --create-issues)
|
|
156
|
+
|
|
157
|
+
For each knowledge gap from Stage 5: dedup against `.workflow/issues/issues.jsonl` (same theme + type). If new, append with `type: "knowledge-gap"`, `status: "open"`, `severity: "low"`, `source: "wiki-digest"`, `tags: ["knowledge-gap", "{theme-slug}"]`. Report created count.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Stage 8: Persist
|
|
162
|
+
|
|
163
|
+
1. Write digest file to `.workflow/knowhow/`
|
|
164
|
+
2. Append meta-insights as `<spec-entry>` to `.workflow/specs/learnings.md` (`source="wiki-digest"`, `category="technique"`)
|
|
165
|
+
3. Display summary: scope, entry count, theme count, gap count, created issues (if applicable), report path.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Next Steps
|
|
170
|
+
|
|
171
|
+
| Action | Command |
|
|
172
|
+
|--------|---------|
|
|
173
|
+
| Deep dive on a theme | `/learn-follow <wiki-id>` |
|
|
174
|
+
| Fix graph connectivity | `/wiki-connect --fix` |
|
|
175
|
+
| Decompose for patterns | `/learn-decompose <path>` |
|
|
176
|
+
| Create missing entries | `maestro wiki create --type <type> --slug <slug>` |
|
|
177
|
+
| Triage gap issues | `/manage-issue list --source wiki-digest` |
|
|
178
|
+
|