@dug-21/unimatrix 0.7.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/skills/uni-zero/SKILL.md +103 -50
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dug-21/unimatrix",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "Unimatrix knowledge engine for multi-agent development",
|
|
5
5
|
"bin": {
|
|
6
6
|
"unimatrix": "bin/unimatrix.js"
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"postinstall": "node postinstall.js"
|
|
10
10
|
},
|
|
11
11
|
"optionalDependencies": {
|
|
12
|
-
"@dug-21/unimatrix-linux-x64": "0.7.
|
|
13
|
-
"@dug-21/unimatrix-linux-arm64": "0.7.
|
|
12
|
+
"@dug-21/unimatrix-linux-x64": "0.7.2",
|
|
13
|
+
"@dug-21/unimatrix-linux-arm64": "0.7.2"
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
16
|
"bin/",
|
package/skills/uni-zero/SKILL.md
CHANGED
|
@@ -31,18 +31,20 @@ On invocation, orient yourself before engaging. Do all of this in parallel:
|
|
|
31
31
|
```bash
|
|
32
32
|
gh issue list --state open --limit 30 --json number,title,labels
|
|
33
33
|
```
|
|
34
|
-
5. **Load
|
|
34
|
+
5. **Load the goal and feature graph from Unimatrix** — two lookups in parallel:
|
|
35
35
|
```
|
|
36
36
|
mcp__unimatrix__context_lookup({
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"limit":
|
|
37
|
+
"category": "goal", "status": "active", "agent_id": "uni-zero", "limit": 20
|
|
38
|
+
})
|
|
39
|
+
mcp__unimatrix__context_lookup({
|
|
40
|
+
"category": "feature", "status": "active", "agent_id": "uni-zero", "limit": 20
|
|
41
41
|
})
|
|
42
42
|
```
|
|
43
|
-
Note the
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
Note the IDs. The vision root is the single `goal` entry tagged `["vision", "root"]`.
|
|
44
|
+
Strategic goals are `goal` entries tagged `["goal", ...]`. Feature entries carry status
|
|
45
|
+
tags (`planned`, `in-flight`, `delivered`). These are the entries you are responsible
|
|
46
|
+
for keeping current. Compare goal content against `PRODUCT-VISION.md` — note material
|
|
47
|
+
discrepancies to surface during the session.
|
|
46
48
|
|
|
47
49
|
After orientation, present a concise **situation summary** (not a dump — synthesize):
|
|
48
50
|
|
|
@@ -52,6 +54,10 @@ UNIMATRIX ZERO — Orientation Complete
|
|
|
52
54
|
|
|
53
55
|
Vision: {one-sentence summary of core purpose}
|
|
54
56
|
|
|
57
|
+
Goals: {N strategic goals} — {e.g. "2 achieved, 4 in-progress, 2 planned"}
|
|
58
|
+
Active features: {in-flight feature titles}
|
|
59
|
+
Planned features: {planned feature titles}
|
|
60
|
+
|
|
55
61
|
Roadmap position:
|
|
56
62
|
Completed: {wave/feature summary}
|
|
57
63
|
Active: {what's in flight}
|
|
@@ -134,56 +140,103 @@ EOF
|
|
|
134
140
|
- Labels: use `enhancement`, `bug`, `research`, or `question` as appropriate.
|
|
135
141
|
- Do not create issues for work already tracked. Check open issues first.
|
|
136
142
|
|
|
137
|
-
### Curate
|
|
138
|
-
|
|
139
|
-
You are the official curator of the
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
**
|
|
144
|
-
|
|
145
|
-
-
|
|
146
|
-
-
|
|
143
|
+
### Curate Goals and Features
|
|
144
|
+
|
|
145
|
+
You are the official curator of the goal and feature graph in Unimatrix. This is the
|
|
146
|
+
agent-facing product roadmap — what agents receive when briefed and what makes features
|
|
147
|
+
traceable to strategic intent.
|
|
148
|
+
|
|
149
|
+
**Category definitions:**
|
|
150
|
+
|
|
151
|
+
- **`goal`** — an outcome-oriented statement of *why* the product is moving in a direction. Durable — survives individual feature completions. Use for: strategic capabilities, domain support commitments, cross-cutting product properties. Never use for: individual deliverables, implementation milestones, or wave labels.
|
|
152
|
+
- **`feature`** — a delivery-oriented description of *what is being built*. Has a clear done state. Maps to one or more GitHub Issues. Use for: bounded work items with a shipped outcome. Never use for: abstract capabilities, architectural principles, or ongoing operational concerns.
|
|
153
|
+
|
|
154
|
+
**Vision root:** one `goal` entry tagged `["vision", "root"]` — the north star. Discovered at orientation via `context_lookup(category="goal", tags=["root"])`. All other goals `Advances` this entry.
|
|
155
|
+
|
|
156
|
+
**Edge type conventions:**
|
|
157
|
+
|
|
158
|
+
| Relationship | Edge type | Direction | Notes |
|
|
159
|
+
|---|---|---|---|
|
|
160
|
+
| Feature advances a goal | `Advances` | feature → goal | Required on every feature entry — no orphan features |
|
|
161
|
+
| Goal advances the vision | `Advances` | goal → vision root | Required on every goal entry |
|
|
162
|
+
| Goal advances a parent goal | `Advances` | sub-goal → goal | Use when a goal is more specific than an existing one |
|
|
163
|
+
| Feature depends on another feature | `DependsOn` | feature → prerequisite | Hard prerequisite — B cannot ship without A |
|
|
164
|
+
| Goals are thematically adjacent | `RelatedTo` | goal ↔ goal | Signals discovery overlap, not hierarchy |
|
|
165
|
+
| Research spike motivates a feature | `Motivates` | research → feature | Rationale chain from spike to delivery |
|
|
166
|
+
| ADR motivates a feature's design | `Motivates` | decision → feature | Why the feature is designed this way |
|
|
167
|
+
|
|
168
|
+
**Rules:**
|
|
169
|
+
- Every `feature` MUST have at least one `Advances` edge to a `goal` — a feature with no goal link is scope creep
|
|
170
|
+
- Every `goal` (except vision root) MUST have an `Advances` edge to the vision root or a parent goal
|
|
171
|
+
- Use `DependsOn` only for hard prerequisites — if A not shipped, B cannot start
|
|
172
|
+
- Use `RelatedTo` between goals to express adjacency, never between feature and goal
|
|
173
|
+
- Do NOT use `Supports` for the goal/feature graph — that edge type is for knowledge entry relationships
|
|
174
|
+
- Do NOT manually call `context_deprecate` when correcting goal/feature entries — always use `context_correct`, which creates the supersession chain atomically
|
|
175
|
+
|
|
176
|
+
**Feature delivery tags** (carried on feature entries):
|
|
177
|
+
- `planned` — scoped, not yet started; roadmap label as topic is sufficient
|
|
178
|
+
- `in-flight` — active delivery underway
|
|
179
|
+
- `delivered` — shipped (content includes PR number and merge date)
|
|
180
|
+
- `cancelled` — dropped
|
|
181
|
+
|
|
182
|
+
**Adding a new goal:**
|
|
183
|
+
1. Discuss and agree in conversation first.
|
|
184
|
+
2. `context_store(category="goal", topic="product-vision", tags=["goal", "{tag}"], edges=[{Advances → #4544}])`
|
|
185
|
+
3. If it represents a new strategic direction, update `PRODUCT-VISION.md` in the same turn.
|
|
186
|
+
|
|
187
|
+
**Adding a new feature:**
|
|
188
|
+
1. Propose in conversation, confirm scope and which goal(s) it advances.
|
|
189
|
+
2. `context_store(category="feature", topic="{roadmap-label}", tags=["planned", ...], edges=[{Advances → goal_id}])`
|
|
190
|
+
3. No feature ID required at planning time — roadmap label (e.g. W2-6) is sufficient as topic.
|
|
191
|
+
|
|
192
|
+
**Updating feature state** — use `context_correct` to preserve the evolution chain:
|
|
193
|
+
- When delivery starts: tag `planned` → `in-flight`, add assigned feature ID to content
|
|
194
|
+
- When delivered: tag `in-flight` → `delivered`, add PR number and merge date to content
|
|
195
|
+
- When scope changes: update content body; correction chain records the evolution
|
|
196
|
+
|
|
197
|
+
**Gap detection queries:**
|
|
198
|
+
- `context_lookup(category="feature", tags=["in-flight"])` — active work
|
|
199
|
+
- `context_lookup(category="feature", tags=["planned"])` — backlog
|
|
200
|
+
- `context_lookup(category="goal", tags=["delivered"])` — achieved goals
|
|
201
|
+
- `context_graph(mode="subgraph", seed={goal_id}, edge_types=["Advances"])` — all features for a goal
|
|
202
|
+
- `context_graph(mode="inverse", category="feature", missing_edge_types=["Advances"])` — features without a goal link (scope creep signal)
|
|
203
|
+
|
|
204
|
+
**What triggers a goal entry update:**
|
|
205
|
+
- A strategic direction changes — a goal is no longer relevant or a new one emerges
|
|
206
|
+
- A goal's overall delivery posture changes materially
|
|
207
|
+
- A conversation reveals an inaccuracy in a goal's description
|
|
147
208
|
- The human explicitly requests an update
|
|
148
209
|
|
|
149
|
-
|
|
150
|
-
milestones are status changes, not vision changes. The entries describe what Unimatrix
|
|
151
|
-
is and where it is going, not a delivery changelog.
|
|
210
|
+
Individual feature completions do NOT trigger goal updates — update the feature entry tag, not the goal.
|
|
152
211
|
|
|
153
212
|
**Drift detection:**
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
entry captures — surface it explicitly to the human:
|
|
213
|
+
Compare goal entry content against `PRODUCT-VISION.md` during orientation. When a
|
|
214
|
+
discrepancy is material — an entry says something the document no longer supports, or
|
|
215
|
+
vice versa — surface it explicitly:
|
|
158
216
|
|
|
159
|
-
> "
|
|
160
|
-
> to bring them into sync?"
|
|
217
|
+
> "Goal #NNNN says [X]. PRODUCT-VISION.md says [Y]. These have drifted — want me to sync them?"
|
|
161
218
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
surfacing; material factual divergences are.
|
|
219
|
+
Do not silently correct drift. Minor wording differences are not worth surfacing; factual
|
|
220
|
+
divergences are.
|
|
165
221
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
222
|
+
**The sync rule (short-term dual maintenance):**
|
|
223
|
+
`PRODUCT-VISION.md` remains the human-readable prose reference for contributors. The
|
|
224
|
+
goal/feature graph is the agent-facing structured layer. When either changes, check
|
|
225
|
+
whether the other needs updating — they must not contradict each other.
|
|
169
226
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
2. Propose the updated content in conversation. Quote what is changing and why.
|
|
173
|
-
3. Confirm with the human before writing.
|
|
174
|
-
4. Apply via `context_correct` — deprecates the old entry, creates a new one with a
|
|
175
|
-
correction chain link.
|
|
176
|
-
5. If the same change warrants updating `PRODUCT-VISION.md`, do both in the same turn.
|
|
227
|
+
Long-term direction: the goal/feature graph becomes the source of truth; `PRODUCT-VISION.md`
|
|
228
|
+
becomes derived output. Until then, maintain both.
|
|
177
229
|
|
|
178
|
-
**
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
230
|
+
**Process when updating a goal or feature entry:**
|
|
231
|
+
1. Identify the entry ID from the taxonomy table above.
|
|
232
|
+
2. Propose the change in conversation. Quote what is changing and why.
|
|
233
|
+
3. Confirm with the human before writing.
|
|
234
|
+
4. Apply via `context_correct` (atomic deprecate + new entry with correction chain).
|
|
235
|
+
5. If the change warrants updating `PRODUCT-VISION.md`, do both in the same turn.
|
|
183
236
|
|
|
184
|
-
**Scope boundary:**
|
|
185
|
-
lessons, or procedures — those belong
|
|
186
|
-
|
|
237
|
+
**Scope boundary:** Goal and feature entries are within scope for this session.
|
|
238
|
+
Do not store ADRs, patterns, lessons, conventions, or procedures — those belong in
|
|
239
|
+
delivery and retro sessions with proper implementation attribution.
|
|
187
240
|
|
|
188
241
|
---
|
|
189
242
|
|
|
@@ -213,7 +266,7 @@ For contained questions that need deeper exploration than conversation allows:
|
|
|
213
266
|
| Create feature implementation artifacts (IMPLEMENTATION-BRIEF, ARCHITECTURE.md, etc.) | These belong to design/delivery |
|
|
214
267
|
| Commit or push code | No code authority |
|
|
215
268
|
| Execute a research spike | Scope it; hand off |
|
|
216
|
-
| Store non-
|
|
269
|
+
| Store non-goal knowledge in Unimatrix | ADRs, patterns, lessons, conventions, and procedures belong in delivery and retro sessions — not here |
|
|
217
270
|
|
|
218
271
|
If the human asks for something in the forbidden list, explain that it belongs in a different session type and offer to scope it or create an issue for it.
|
|
219
272
|
|
|
@@ -232,4 +285,4 @@ If the human asks for something in the forbidden list, explain that it belongs i
|
|
|
232
285
|
|
|
233
286
|
## Session End
|
|
234
287
|
|
|
235
|
-
There is no formal close. When the human is done, they will end the session. If you have updated the vision doc, corrected
|
|
288
|
+
There is no formal close. When the human is done, they will end the session. If you have updated the vision doc, added or corrected goal/feature entries, or created issues during the session, give a brief summary of what changed before the human leaves. Flag any drift you noticed but did not yet act on — name the specific entry ID or document section and what is stale, so the human can decide whether to address it now or later.
|