@keighleykodric/weeve 0.1.0 → 0.1.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.
Files changed (98) hide show
  1. package/README.md +75 -19
  2. package/bin/weeve.js +467 -2
  3. package/examples/core/CODEOWNERS.template +9 -0
  4. package/examples/core/README.md +63 -0
  5. package/examples/core/demo/README.md +38 -0
  6. package/examples/core/demo/weeve/ally/ally-intake.md +16 -0
  7. package/examples/core/demo/weeve/compass/compass-intake.md +15 -0
  8. package/examples/core/demo/weeve/layers-plus/figma-notes.md +31 -0
  9. package/examples/core/demo/weeve/layers-plus/layers-plus-intake.md +13 -0
  10. package/examples/core/demo/weeve/rubric/component-inventory.md +42 -0
  11. package/examples/core/demo/weeve/rubric/rubric-intake.md +14 -0
  12. package/examples/core/demo/weeve/shared/competitive.md +28 -0
  13. package/examples/core/demo/weeve/shared/roadmap.md +26 -0
  14. package/examples/core/demo/weeve/shared/weeve-guardrails.md +28 -0
  15. package/examples/core/demo/weeve/shared/weeve-intake.md +18 -0
  16. package/examples/core/demo/weeve/shared/weeve-project.md +33 -0
  17. package/examples/core/demo/weeve.yaml +15 -0
  18. package/examples/core/weeve.yaml +14 -0
  19. package/examples/engineering/CODEOWNERS.template +9 -0
  20. package/examples/engineering/README.md +61 -0
  21. package/examples/engineering/demo/README.md +20 -0
  22. package/examples/engineering/demo/weeve/forge/architecture.md +39 -0
  23. package/examples/engineering/demo/weeve/forge/ci-metrics.md +47 -0
  24. package/examples/engineering/demo/weeve/forge/forge-intake.md +41 -0
  25. package/examples/engineering/demo/weeve/guard/guard-intake.md +17 -0
  26. package/examples/engineering/demo/weeve/helm/helm-intake.md +16 -0
  27. package/examples/engineering/demo/weeve/helm/incidents.md +40 -0
  28. package/examples/engineering/demo/weeve/helm/on-call-runbook.md +33 -0
  29. package/examples/engineering/demo/weeve/shared/roadmap.md +25 -0
  30. package/examples/engineering/demo/weeve/shared/team.md +33 -0
  31. package/examples/engineering/demo/weeve/shared/weeve-guardrails.md +27 -0
  32. package/examples/engineering/demo/weeve/shared/weeve-intake.md +18 -0
  33. package/examples/engineering/demo/weeve/shared/weeve-project.md +29 -0
  34. package/examples/engineering/demo/weeve/verify/coverage-report.md +49 -0
  35. package/examples/engineering/demo/weeve/verify/verify-intake.md +16 -0
  36. package/examples/engineering/demo/weeve.yaml +15 -0
  37. package/examples/engineering/weeve.yaml +14 -0
  38. package/examples/gtm/CODEOWNERS.template +8 -0
  39. package/examples/gtm/README.md +59 -0
  40. package/examples/gtm/demo/README.md +19 -0
  41. package/examples/gtm/demo/weeve/compass/compass-intake.md +15 -0
  42. package/examples/gtm/demo/weeve/maven/maven-intake.md +35 -0
  43. package/examples/gtm/demo/weeve/maven/website-notes.md +33 -0
  44. package/examples/gtm/demo/weeve/pitch/pitch-intake.md +54 -0
  45. package/examples/gtm/demo/weeve/pitch/sales-deck-notes.md +28 -0
  46. package/examples/gtm/demo/weeve/pitch/win-loss-notes.md +40 -0
  47. package/examples/gtm/demo/weeve/shared/competitive.md +30 -0
  48. package/examples/gtm/demo/weeve/shared/roadmap.md +19 -0
  49. package/examples/gtm/demo/weeve/shared/weeve-guardrails.md +24 -0
  50. package/examples/gtm/demo/weeve/shared/weeve-intake.md +18 -0
  51. package/examples/gtm/demo/weeve/shared/weeve-project.md +25 -0
  52. package/examples/gtm/demo/weeve.yaml +22 -0
  53. package/examples/gtm/weeve.yaml +14 -0
  54. package/examples/product/CODEOWNERS.template +10 -0
  55. package/examples/product/README.md +67 -0
  56. package/examples/product/demo/README.md +21 -0
  57. package/examples/product/demo/weeve/ally/ally-intake.md +16 -0
  58. package/examples/product/demo/weeve/compass/compass-intake.md +15 -0
  59. package/examples/product/demo/weeve/felt/felt-intake.md +37 -0
  60. package/examples/product/demo/weeve/felt/user-research.md +68 -0
  61. package/examples/product/demo/weeve/layers-plus/layers-plus-intake.md +14 -0
  62. package/examples/product/demo/weeve/rubric/component-inventory.md +42 -0
  63. package/examples/product/demo/weeve/rubric/rubric-intake.md +14 -0
  64. package/examples/product/demo/weeve/shared/competitive.md +28 -0
  65. package/examples/product/demo/weeve/shared/roadmap.md +32 -0
  66. package/examples/product/demo/weeve/shared/weeve-guardrails.md +27 -0
  67. package/examples/product/demo/weeve/shared/weeve-intake.md +18 -0
  68. package/examples/product/demo/weeve/shared/weeve-project.md +29 -0
  69. package/examples/product/demo/weeve.yaml +21 -0
  70. package/examples/product/weeve.yaml +14 -0
  71. package/examples/strategy/CODEOWNERS.template +8 -0
  72. package/examples/strategy/README.md +59 -0
  73. package/examples/strategy/demo/README.md +19 -0
  74. package/examples/strategy/demo/weeve/compass/compass-intake.md +34 -0
  75. package/examples/strategy/demo/weeve/compass/customer-segments.md +34 -0
  76. package/examples/strategy/demo/weeve/layers-plus/layers-plus-intake.md +15 -0
  77. package/examples/strategy/demo/weeve/maven/maven-intake.md +33 -0
  78. package/examples/strategy/demo/weeve/shared/competitive.md +40 -0
  79. package/examples/strategy/demo/weeve/shared/roadmap.md +29 -0
  80. package/examples/strategy/demo/weeve/shared/weeve-guardrails.md +22 -0
  81. package/examples/strategy/demo/weeve/shared/weeve-intake.md +17 -0
  82. package/examples/strategy/demo/weeve/shared/weeve-project.md +25 -0
  83. package/examples/strategy/demo/weeve.yaml +15 -0
  84. package/examples/strategy/weeve.yaml +14 -0
  85. package/package.json +14 -3
  86. package/spec/contributing-template.md +109 -0
  87. package/spec/readme-template.md +55 -0
  88. package/{docs/shared/SHIP-GATE.md → spec/ship-gate.md} +7 -7
  89. package/spec/signals-schema.md +685 -0
  90. package/spec/weeve-yaml.md +274 -0
  91. package/.github/SECURITY.md +0 -22
  92. package/GOVERNANCE.md +0 -173
  93. package/WORKFLOW.md +0 -354
  94. package/docs/shared/engineering-pack-contract.md +0 -94
  95. package/docs/shared/id-prefix-reference.md +0 -235
  96. package/docs/shared/idea-intake-pattern.md +0 -99
  97. package/docs/shared/lane-conventions.md +0 -207
  98. package/docs/shared/recommendations-schema.md +0 -363
package/WORKFLOW.md DELETED
@@ -1,354 +0,0 @@
1
- # WORKFLOW.md — Cross-pack rhythm
2
-
3
- How ideas move from raw capture through to shipped code. This is the canonical doc for the cross-pack workflow. All sibling pack READMEs cite this file.
4
-
5
- ---
6
-
7
- ## The rhythm in one sentence
8
-
9
- > Capture raw ideas in your preferred tool. Each lane's intake skill routes them. Lanes process their slice. Recommendations accumulate. Pilot synthesizes and ships.
10
-
11
- ---
12
-
13
- ## The full flow
14
-
15
- ```
16
- Your capture tool (notes, daily log, Obsidian, etc.)
17
- ↓ raw capture
18
- *-intake skills (per pack)
19
- ↓ scoped rows with stable IDs
20
- Pack main skills (primitives, zones, layers, campaigns)
21
- ↓ structured findings
22
- <pack>-recommendations.md (the recommendations file)
23
- ↓ one file per pack in docs/<pack>/
24
- /pilot-roadmap
25
- ↓ merged, tiered, conflict-surfaced
26
- docs/pilot/pilot-roadmap.md
27
-
28
- /pilot-ship
29
- ↓ N items per day, guardrails, PR
30
- shipped code
31
- ```
32
-
33
- ---
34
-
35
- ## Step by step
36
-
37
- ### Step 1 — Raw capture
38
-
39
- Every idea, observation, or strategic thought gets captured first — in whatever tool you use. A daily note, an Obsidian vault, a plain text file. The goal is capture, not routing — get it down before it evaporates.
40
-
41
- ```
42
- User-to-user referral program — tight community, peer vouching,
43
- low CAC. Maps to Compass doctrine + Layers+ Layer 4-7 + Maven channel strategy.
44
- ```
45
-
46
- This goes in your project notes. You can also skip straight to Step 2 and capture directly via intake skills.
47
-
48
- > **Tip:** [Claudette](https://github.com/keighleykodric/claudette) is a personal CLI companion built for this workflow — `/research`, `/todo`, `/focus` commands that feed naturally into Weeve's intake skills. Not required, but designed to pair well.
49
-
50
- ### Step 2 — Route to lanes via intake skills
51
-
52
- Once captured, route the idea to the lanes that own slices of it. Each lane has an intake skill that accepts raw intent — paste in whatever context you have — and writes a scoped row with a stable ID.
53
-
54
- **What to include with your intake:** The more context you provide, the better the intake skill can scope the work. Include any of:
55
- - The idea or observation in your own words
56
- - Links to relevant docs, tickets, or threads
57
- - File paths or folder references in your codebase
58
- - Screenshots, error messages, or user feedback
59
- - Ticket/issue IDs from your project tracker
60
-
61
- The intake skill will ask clarifying questions if it needs more.
62
-
63
- ```
64
- /compass-intake → CI-prefixed row → routes to compass-position / compass-move
65
- /layers-plus-intake → LI-prefixed row → routes to layers-plus-strategy / surface
66
- /ally-intake → AI-prefixed row → routes to ally zone audit
67
- /rubric-intake → RI-prefixed row → routes to rubric-components / patterns
68
- /maven-intake → MI-prefixed row → routes to maven-campaign-plan / deliverable
69
- ```
70
-
71
- One idea may produce intake rows in multiple packs if it spans strategy, product, and channel.
72
-
73
- ### Step 3 — Packs process their slice
74
-
75
- Each pack's main skills process the intake rows. They write findings to their output files under `docs/<pack>/` in the consumer project.
76
-
77
- - Compass primitives + lenses → findings in `compass-*.md`
78
- - Layers+ layers → findings in `layers-plus-*.md`
79
- - Ally zones → findings in `ally-*.md`
80
- - Rubric zones → findings in `rubric-*.md`
81
- - Maven phases → findings in `maven-*.md`
82
-
83
- Each pack is autonomous — it doesn't need the others to run.
84
-
85
- ### Step 4 — Recommendations: the shared output format
86
-
87
- Each pack writes a `<pack>-recommendations.md` file — the recommendations file Pilot reads. This file is the distilled, tiered, prioritized output of all the pack's work. It's the only file Pilot needs from each pack.
88
-
89
- ```
90
- docs/compass/compass-recommendations.md
91
- docs/layers-plus/layers-plus-recommendations.md
92
- docs/ally/ally-recommendations.md
93
- docs/rubric/rubric-recommendations.md
94
- docs/maven/maven-recommendations.md
95
- ```
96
-
97
- ### Step 5 — Pilot synthesizes: /pilot-roadmap
98
-
99
- `/pilot-roadmap` reads all `<pack>-recommendations.md` files present, merges them into one prioritized backlog, surfaces cross-pack conflicts, and writes `docs/pilot/pilot-roadmap.md`.
100
-
101
- Items are tiered: Now → Next → Watch. Cross-pack conflicts are surfaced explicitly — Pilot does not silently pick a side.
102
-
103
- ### Step 6 — Pilot ships: /pilot-ship
104
-
105
- `/pilot-ship` picks N items from the roadmap, executes against guardrails (constraints, design system health, accessibility health), and opens or updates a PR.
106
-
107
- One daily batch, one check-in, one PR.
108
-
109
- ---
110
-
111
- ## The worked example — user-to-user referral
112
-
113
- A strategic idea decomposed across the full system. This is the canonical illustration of how a cross-cutting idea flows. The route-then-decompose pattern is identical for any cross-functional setting: a SaaS team routing a growth initiative across strategy and delivery, a consulting firm coordinating an engagement across strategy and operations, a nonprofit aligning programme design with communications and fundraising.
114
-
115
- ### The idea
116
-
117
- Existing users send a personalized referral link to a peer who isn't on the platform. Link carries context (referrer ID, prefilled profile, voucher message). Recipient lands on a guided signup that knows who sent them. Referring user sees status updates. Reward: free month per successful referral.
118
-
119
- ### Why it spans multiple packs
120
-
121
- | Pack | Its slice |
122
- | --- | --- |
123
- | Compass | Strategic bet: is referral the right growth wedge? Which doctrine supports it? |
124
- | Layers+ | Product surface: how does referral become a first-class product object? |
125
- | Maven | Channel: how do we announce the program and sustain referral messaging? |
126
-
127
- ### How it flows
128
-
129
- | Step | Tool | What happens |
130
- | --- | --- | --- |
131
- | 1 | Your notes / capture tool | Raw capture: "User-to-user referral program — tight community, peer vouching, low CAC." Lands in project notes. |
132
- | 2 | `/compass-intake` | Strategic slice captured: "Codify referral-as-growth-wedge as doctrine; specific move = build user-to-user invite mechanic." Writes CI-prefixed row. |
133
- | 3 | `/compass-doctrine`, `/compass-move` | Process intake. Writes doctrine row (D-prefixed) and move row (M-prefixed). |
134
- | 4 | `/layers-plus-intake` | Product slice: "Build referral as first-class product surface — Layer 4 strategic bet, Layers 5-7 implementation." Writes LI-prefixed row. |
135
- | 5 | `/layers-plus-strategy`, `/layers-plus-conceptual-model`, `/layers-plus-interaction-flow`, `/layers-plus-surface` | Each layer processes its scoped rows. |
136
- | 6 | `/maven-intake` | Channel slice: "Plan referral program announcement + ongoing referral messaging." Writes MI-prefixed row. |
137
- | 7 | `/maven-campaign-plan`, `/maven-deliverable` | Process intake. Writes campaign plan and deliverable rows. |
138
- | 8 | `/compass-recommendations`, `/layers-plus-recommendations`, `/maven-recommendations` | Each pack writes its prioritized recommendations. |
139
- | 9 | `/pilot-roadmap` | Reads all three recommendations files. Synthesizes one backlog. Referral shows as one tracked initiative with strategy, product, and channel slices. |
140
- | 10 | `/pilot-ship` | Picks N items, executes, opens PR. |
141
-
142
- ### Key pattern
143
-
144
- Single-pack ideas exist ("add a tooltip on the time-window picker" → Layers+ only). Most strategic ideas don't. The route-then-decompose pattern handles both:
145
-
146
- - A tooltip change is one intake row.
147
- - A growth wedge is six.
148
-
149
- **Heuristic:** if you're not sure where it lands, ask "what's the *highest* tier this touches?" Start there and let it cascade. The referral idea's highest tier is Compass (strategic bet about *how we grow*). Start there.
150
-
151
- ---
152
-
153
- ## First-run order
154
-
155
- When setting up the system from scratch, run packs in this order. Each step produces inputs that make the next step richer.
156
-
157
- ```
158
- 1. Compass — establish strategic position and growth doctrine
159
- 2. Layers+ — evaluate product design against that strategy
160
- 3. Felt — audit user research posture; feeds observed-behaviour and user-needs
161
- 4. Ally — audit accessibility on the existing surface
162
- 5. Rubric — audit design system health
163
- 6. Maven — develop marketing positioning and brand voice
164
- 7. Pitch — audit revenue health and GTM execution (reads Maven positioning)
165
- 8. Pilot — synthesize all recommendations files
166
- ```
167
-
168
- **Why this order:** Compass sets the strategic frame; Layers+ uses it. Felt runs after Layers+ because its research output (felt-research.md, felt-personas.md) feeds directly into layers-plus-observed-behaviour and layers-plus-user-needs confidence ratings — run Layers+ first to know what research questions are open, then run Felt to answer them. Ally and Rubric are parallel (order between them doesn't matter). Maven reads Compass and Layers+ outputs for positioning context. Pitch runs after Maven — it checks whether the positioning is landing in deals and co-owns the Marketing→Sales lead handoff. Pilot reads all. (Forge/Helm/Verify/Guard can run in parallel after Layers+; see PITCH-LANE.md for the full 11-lane sequencing.)
169
-
170
- Packs can be run in any order — this sequence is the recommended path for a first full run, not a hard dependency.
171
-
172
- ---
173
-
174
- ## Within-pack sequences
175
-
176
- Cross-pack order is in the First-run order section above. Within each pack, skills run in a defined sequence. Steps marked _(optional)_ can be skipped on first run and added on re-runs or when the area is relevant.
177
-
178
- ### Compass
179
-
180
- ```
181
- /compass-intro — onboarding; load once per project
182
- /compass-orient — broad diagnostic; shows which primitives are missing
183
- /compass-position — what you have, who your customers are, which markets
184
- /compass-context — external forces, trends, competitor moves
185
- /compass-doctrine — operating principles and anti-patterns
186
- /compass-choice — active strategic choices and decisions
187
- /compass-move — strategic moves in flight
188
- Lens skills (pick relevant ones):
189
- /compass-wardley — Wardley map; evolution and ecosystem position
190
- /compass-jtbd — Jobs-to-be-done; primary market and outcomes
191
- /compass-7powers — 7 Powers; defensibility check
192
- /compass-market-research — (optional) external signal probe
193
- /compass-recommendations — tiered move list from all lens outputs
194
- ```
195
-
196
- ### Layers+
197
-
198
- ```
199
- /layers-plus-intro — onboarding; load once per project
200
- /layers-plus-orient — broad diagnostic across all seven layers
201
- /layers-plus-user-needs — formalise user needs and job stories
202
- /layers-plus-domain — domain concepts, terminology, constraints
203
- /layers-plus-conceptual-model — product objects, relationships, key attributes
204
- /layers-plus-interaction-flow — task flows, decision points, failure paths
205
- /layers-plus-surface — screens, UI surfaces, component inventory
206
- /layers-plus-observed-behaviour — (optional) user research synthesis
207
- /layers-plus-strategy — opportunity map tied to user needs
208
- /layers-plus-recommendations — prioritised improvement list
209
- ```
210
-
211
- ### Felt
212
-
213
- ```
214
- /felt-intro — onboarding; load once per project
215
- /felt-orient — broad diagnostic across all seven research zones
216
- Zone skills (run the zone with the biggest gap first):
217
- /felt-research — generative research coverage audit
218
- /felt-testing — usability and evaluative test coverage audit
219
- /felt-data — analytics instrumentation and funnel audit
220
- /felt-journey — journey map coverage and pain point catalogue
221
- /felt-personas — segment definitions and JTBD validity audit
222
- /felt-synthesis — affinity maps, themes, HMW statements
223
- /felt-feedback — NPS, CSAT, support tickets, app reviews
224
- Ad hoc:
225
- /felt-intake — capture research requests and observations any time
226
- Output (on demand from zone data):
227
- /felt-report — stakeholder-ready research readout
228
- /felt-recommendations — tiered research gap list (Pilot reads this)
229
- Maintenance:
230
- /felt-triage — walk open findings; close / defer / dismiss
231
- /felt-check — verify closed findings are actually resolved
232
- /felt-tickets — push findings to task management
233
- /felt-dashboard — HTML visual status dashboard
234
- ```
235
-
236
- ### Ally
237
-
238
- ```
239
- /ally-intro — onboarding and zone framework; load once per project
240
- /ally-map — route inventory + broad pass across all 7 zones
241
- /ally-landscape — bottleneck analysis; recommends which zone to address next
242
- Zone skills (run the zones landscape recommends first):
243
- /ally-bones — semantic structure, landmarks, relationships
244
- /ally-flow — keyboard nav, focus management, wayfinding
245
- /ally-signal — contrast, text alternatives, media
246
- /ally-control — input, touch, pointer, errors, forms
247
- /ally-ease — time limits, language, reading level
248
- /ally-calm — flashing, harmful motion, sensory overwhelm
249
- /ally-reach — AT compatibility, screen readers, name/role/value
250
- Output (on demand from audit data):
251
- /ally-plan — ally-recommendations.md (Pilot reads this)
252
- /ally-status — team health snapshot
253
- /ally-report — org/leadership progress view
254
- ```
255
-
256
- ### Rubric
257
-
258
- ```
259
- /rubric-intro — onboarding; load once per project
260
- /rubric-gap [topic] — (optional) trace a gap cascade before the zone audits
261
- Zone audits (run in order; each builds on the last):
262
- /rubric-tokens — foundations: CSS tokens, colour, spacing
263
- /rubric-components — component inventory and conformance
264
- /rubric-patterns — layout patterns, page templates
265
- /rubric-voice — copy tone, vocabulary, Tier 1/2/3 conventions
266
- /rubric-audit — full sweep across all four zones
267
- /rubric-recommendations — prioritised system improvements (Pilot reads this)
268
- ```
269
-
270
- ### Maven
271
-
272
- ```
273
- /maven-intake — route raw observations to Maven; writes stable IDs
274
- /maven-positioning — ICP, problem statement, unique attribute
275
- /maven-brand-voice — tone, vocabulary, voice rules
276
- /maven-channel-monitor — (optional) monitor live channel signals
277
- /maven-campaign-plan — campaign design for a specific motion
278
- Deliverables (on demand):
279
- /maven-deliverable — one-pager, case study, or other artifact
280
- /maven-social — platform-specific social posts
281
- /maven-email — email sequence
282
- /maven-battlecard — competitive battlecard
283
- /maven-seo — keyword and content gap analysis
284
- /maven-recommendations — prioritised marketing improvements (Pilot reads this)
285
- ```
286
-
287
- ### Pitch
288
-
289
- ```
290
- /pitch-intake — route raw sales observations (deals, objections, patterns)
291
- /pitch-orient — diagnostic sweep; surfaces bottleneck zone
292
- Zone audits (run weekly or on trigger):
293
- /pitch-pipeline — stage distribution, velocity, stall rate, coverage
294
- /pitch-icp — deal-level ICP fit and qualification discipline
295
- /pitch-conversion — stage-to-stage drop-off, deal size, time-to-close
296
- /pitch-competitive — win/loss patterns, battlecard accuracy
297
- /pitch-outreach — sequence performance, channel mix, positioning alignment
298
- /pitch-proposal — discovery quality, demo effectiveness, reference coverage
299
- /pitch-pricing — discount discipline, pricing floor, pricing power
300
- /pitch-leads — marketing → sales handoff (co-owned with Maven)
301
- /pitch-forecast — commit-to-close rate, methodology health
302
- /pitch-handoff — sales → CS handoff quality, early churn indicators
303
- /pitch-recommendations — prioritised sales moves (Pilot reads this)
304
- ```
305
-
306
- ---
307
-
308
- ## Cadence
309
-
310
- | Pack | Typical cadence |
311
- | --- | --- |
312
- | Ally | Weekly (change detection) |
313
- | Rubric | Weekly (drift detection) |
314
- | Felt | On-demand (after each research study; quarterly hygiene sweep) |
315
- | Layers+ | Monthly or on-demand (deeper, slower-changing) |
316
- | Compass | Quarterly (strategic position) |
317
- | Maven | On-demand (campaign-driven) |
318
- | Pitch | Weekly (pipeline, conversion, forecast); on-trigger for competitive, pricing, handoff |
319
- | Pilot `/roadmap` | After any pack refreshes its recommendations |
320
- | Pilot `/ship` | Daily (autonomous batch) |
321
-
322
- ---
323
-
324
- ## Roadmap refresh triggers
325
-
326
- `/pilot-roadmap` should be re-run when one of three trigger types fires. Running it on an arbitrary schedule produces noise; running it only when these triggers fire keeps it signal-dense.
327
-
328
- **Milestone trigger** — re-run after any of:
329
- - A pack completes a run and writes a new `<pack>-recommendations.md`
330
- - A ship batch closes (all Now items shipped → re-read to confirm and promote Next items)
331
- - A new pack is installed or an existing pack is significantly revised
332
-
333
- **Signal trigger** — re-run immediately when a Watch item escalates:
334
- - Any P-W item fires (competitor announcement, platform shift, external adopter feedback)
335
- - A constraint in `docs/business.md` changes (e.g., a legal or business blocker resolves)
336
- - A significant blocking finding is confirmed that wasn't in the current roadmap
337
-
338
- **Time-based floor** — re-run at minimum once per quarter, even if no milestone or signal trigger has fired. Quarterly runs catch slow drift: Watch items that have aged past their revisit date, Next items whose effort estimates are now stale, constraints that have silently become unblocked.
339
-
340
- **Who triggers it:** The Pilot operator (see GOVERNANCE.md § Roles). On teams, any pack owner can request a re-run by opening a PR to update their `<pack>-recommendations.md` and tagging the Pilot operator for review.
341
-
342
- **What happens after a re-run:** Compare the new `pilot-roadmap.md` diff against the prior version. If any Now items changed tier, or any new conflicts surfaced, notify pack owners before starting the next `/pilot-ship` batch.
343
-
344
- ---
345
-
346
- ## Pack independence
347
-
348
- Every pack works standalone. The workflow above is opt-in, not required. A designer can run Layers+ alone. A strategist can run Compass alone. Cross-pack references are citations — each pack degrades gracefully when sibling outputs are absent.
349
-
350
- **The one exception:** Pilot needs at least one pack to have written a `<pack>-recommendations.md` file. With no packs writing recommendations, Pilot has nothing to synthesize. This is stated plainly in Pilot's README.
351
-
352
- ---
353
-
354
- *Maintained in [keighleykodric/weeve-pilot](https://github.com/keighleykodric/weeve-pilot). All sibling pack READMEs cite this file.*
@@ -1,94 +0,0 @@
1
- # Engineering pack — contract shape
2
-
3
- _Pilot reference document · Draft 2026-05-23_
4
-
5
- This document defines the contract shape for a future engineering pack — what `engineering-recommendations.md` would contain, how findings are tiered, and how Pilot synthesizes it alongside strategy, product, accessibility, design system, and marketing outputs.
6
-
7
- **Purpose:** Claim the dev lane by defining the schema now, before it's filled. Anyone building an engineering pack for this family has a conformant target to hit. ClaudeFast and successor tools become plug-in candidates rather than competitors.
8
-
9
- ---
10
-
11
- ## What the engineering domain covers
12
-
13
- The engineering domain audits the operator's technical foundation — not whether the product works (that's QA) but whether the team can ship it safely, repeatedly, and at speed.
14
-
15
- | Subdomain | Questions it asks |
16
- |---|---|
17
- | CI/CD pipeline | Is every change tested before merge? Is the deploy path automated and auditable? |
18
- | Infrastructure | Are environments reproducible? Is there a paper trail for who changed what? |
19
- | Security posture | Are secrets managed correctly? Are dependencies audited? Is access scoped? |
20
- | Test coverage | Are the right things tested at the right level (unit / integration / e2e)? |
21
- | Observability | Can the team detect, diagnose, and recover from failures without tribal knowledge? |
22
- | Technical debt | Is debt tracked, prioritised, and scheduled — or just accumulated? |
23
-
24
- The engineering pack audits the operator's *shipping system*, not the product's feature set. Stays in its lane.
25
-
26
- ---
27
-
28
- ## `engineering-recommendations.md` — the output recommendations file
29
-
30
- Follows the shared schema (`docs/shared/recommendations-schema.md` v0.1). Three tiers, stable IDs, evidence-traced.
31
-
32
- ### Tier 1 — Foundations (fix first)
33
-
34
- Items that block safe, reliable shipping. Examples:
35
-
36
- ```
37
- ENG-T1-1 · 🔴 High · CI/CD · No automated tests run on PR · Every merge is manual trust. Add a test-runner step to the PR pipeline before merge is allowed. · Effort: S
38
- ENG-T1-2 · 🔴 High · Security · Secrets in source control · Rotate affected credentials immediately; move to env var management (Vault, Doppler, or platform secrets). · Effort: XS
39
- ENG-T1-3 · 🟡 Medium · Observability · No structured error logging · Errors surface as user complaints, not alerts. Add structured logging to critical paths; wire to an alerting channel. · Effort: M
40
- ```
41
-
42
- ### Tier 2 — Layer-specific
43
-
44
- Targeted improvements within a subdomain once foundations are stable.
45
-
46
- ```
47
- ENG-T2-1 · 🟡 Medium · CI/CD · Deploy pipeline has no rollback path · One bad deploy requires manual intervention. Add a rollback trigger to the pipeline. · Effort: S
48
- ENG-T2-2 · 🟡 Medium · Test coverage · No integration tests for critical user flows · Unit tests pass but flows break at seams. Add integration tests for checkout, auth, and payment paths. · Effort: M
49
- ```
50
-
51
- ### Tier 3 — Polish
52
-
53
- Self-contained improvements with no dependencies.
54
-
55
- ```
56
- ENG-T3-1 · 🟢 Low · Technical debt · No debt register · Debt is invisible until it blocks a sprint. Create a lightweight `docs/engineering/debt.md` with known items, effort estimates, and revisit triggers. · Effort: XS
57
- ```
58
-
59
- ---
60
-
61
- ## Pilot synthesis — how it integrates
62
-
63
- Pilot reads `engineering-recommendations.md` the same way it reads any pack output: looks for the `## Tier 1`, `## Tier 2`, `## Tier 3` sections, extracts items, merges with other pack findings, and surfaces cross-pack conflicts.
64
-
65
- **Expected cross-pack citations:**
66
-
67
- | Engineering finding | Cross-pack implication |
68
- |---|---|
69
- | No CI pipeline | Ally finding fixes may not ship (no automated gate) — cite in ally-recommendations |
70
- | No rollback path | Rubric token changes are risky without rollback — cite in rubric-recommendations |
71
- | Secrets in source control | Compass strategic moves gated on security posture — cite in compass-recommendations |
72
- | No observability | Layers+ interaction flow findings can't be validated in prod — cite in layers-plus-recommendations |
73
-
74
- Pilot surfaces these cross-pack conflicts explicitly in `pilot-roadmap.md` rather than silently picking a side.
75
-
76
- ---
77
-
78
- ## ID prefix
79
-
80
- Engineering pack uses `ENG-` prefix for all finding IDs. Tier label included: `ENG-T1-`, `ENG-T2-`, `ENG-T3-`.
81
-
82
- Qualified cross-pack reference format (per `docs/shared/id-prefix-reference.md`): `ENG::ENG-T1-1`.
83
-
84
- ---
85
-
86
- ## Why now
87
-
88
- The Claude Code skills ecosystem had 15,134 repos indexed by May 2026 and is commoditising. Every adjacent tool (ClaudeFast, Copilot Workspace, Cursor) will eventually cover engineering workflows. The contract shape — what `engineering-recommendations.md` *is* — is at Genesis stage. Defining it now means future tools that want to plug into this family have a target to conform to, rather than a format to compete with.
89
-
90
- This document is the lane claim. The engineering pack itself can be built by any contributor (internal or external) once the recommendations file shape is clear.
91
-
92
- ---
93
-
94
- _Maintained in pilot/docs/shared/ · Referenced by: pilot-roadmap skill, compass-recommendations SR4_
@@ -1,235 +0,0 @@
1
- # Cross-pack ID prefix reference
2
-
3
- _Version: 0.2_
4
- _Published: 2026-05-24_
5
- _Scope: All lanes — Compass, Layers+, Ally, Rubric, Maven, Forge, Helm, Verify, Guard, Charter, Anchor, Ledger, Roster, Pitch, Pilot_
6
-
7
- Finding IDs are pack-local. Each pack uses its own prefix system. This document is the single cross-pack reference so Pilot can synthesise across packs without ID collisions.
8
-
9
- ---
10
-
11
- ## Pilot
12
-
13
- Pilot generates its own IDs when synthesising across packs.
14
-
15
- | Prefix | Meaning | Example |
16
- |---|---|---|
17
- | `P-N` | Now batch (current sprint) | `P-N1`, `P-N7` |
18
- | `P-X` | Next / cross-pack backlog item | `P-X5`, `P-X18` |
19
- | `P-B` | Backlog (pre-prioritised) | `P-B1` |
20
- | `P-W` | Watch signal | `P-W1`, `P-W14` |
21
-
22
- ---
23
-
24
- ## Compass
25
-
26
- Compass uses a two-part ID system: primitive-layer prefixes for raw findings, and `SR` prefixes for synthesised strategic recommendations.
27
-
28
- **Primitive findings (within pack):**
29
-
30
- | Prefix | Layer | Example |
31
- |---|---|---|
32
- | `CI` | Context item (external forces) | `CI5` |
33
- | `D` | Doctrine finding | `D6` |
34
- | `J` | JTBD lens finding | `J1`, `J3` |
35
- | `M` | Move finding | `M1` |
36
- | `P` | 7 Powers finding | `P2`, `P3` |
37
- | `W` | Wardley lens finding | `W1`, `W3` |
38
- | `C` | Choice finding | `C1`, `C4` |
39
-
40
- **Synthesised recommendations (Pilot-readable recommendations file):**
41
-
42
- | Prefix | Meaning | Example |
43
- |---|---|---|
44
- | `SR` | Strategic recommendation (tiered) | `SR1`, `SR6` |
45
-
46
- ---
47
-
48
- ## Layers+
49
-
50
- Layers+ uses layer-prefixed finding IDs that reflect the seven-layer model. Cross-lens suffixes are appended when findings span accessibility or design system concerns.
51
-
52
- | Prefix | Layer | Example |
53
- |---|---|---|
54
- | `OB` | Observed behaviour | `OB1`, `OB2` |
55
- | `D` | The domain | `D1` |
56
- | `UN` | User needs | `UN1` |
57
- | `ST` | Strategy | `ST1`, `ST2` |
58
- | `CM` | Conceptual model | `CM2`, `CM-A1`, `CM-DS1` |
59
- | `IF` | Interaction flow | `IF1`, `IF-A1`, `IF-DS1` |
60
- | `SU` | Surface | `SU4`, `SU-AP1`, `SU-AR1` |
61
-
62
- Cross-lens suffix convention:
63
- - `-A` — accessibility sub-finding (routes to Ally)
64
- - `-DS` — design system sub-finding (routes to Rubric)
65
- - `-AP` — accessibility, primary concern
66
- - `-AR` — accessibility, reach/AT concern
67
-
68
- **Synthesised recommendations (Pilot-readable recommendations file):**
69
-
70
- | Prefix | Meaning | Example |
71
- |---|---|---|
72
- | `T1-` | Tier 1 recommendation | `T1-1`, `T1-4` |
73
- | `T2-` | Tier 2 recommendation | `T2-1`, `T2-7` |
74
- | `T3-` | Tier 3 recommendation | `T3-1`, `T3-4` |
75
-
76
- ---
77
-
78
- ## Ally
79
-
80
- Ally uses zone-prefixed finding IDs. Zone abbreviations match the seven Ally zones.
81
-
82
- | Prefix | Zone | Example |
83
- |---|---|---|
84
- | `Bones-` | Semantic structure | `Bones-M1` |
85
- | `Flow-` | Keyboard nav / focus | `Flow-M1` |
86
- | `Signal-` | Contrast / text alternatives | `Signal-M1`, `Signal-M2` |
87
- | `Control-` | Input / form handling | `Control-M1` |
88
- | `Ease-` | Cognitive ease / readability | `Ease-H1`, `Ease-M1` |
89
- | `Calm-` | Motion / sensory | `Calm-L1` |
90
- | `Reach-` | AT compatibility | `Reach-M1`, `Reach-L1` |
91
-
92
- Severity suffix: `-H` (High), `-M` (Medium), `-L` (Low), followed by a sequence number.
93
-
94
- Dashboard-specific findings use `Dashboard-Manual-N`.
95
-
96
- **Synthesised recommendations (Pilot-readable recommendations file):**
97
-
98
- | Prefix | Meaning | Example |
99
- |---|---|---|
100
- | `T1-` | Tier 1 recommendation | `T1-1`, `T1-3` |
101
- | `T2-` | Tier 2 recommendation | `T2-1`, `T2-7` |
102
- | `T3-` | Tier 3 recommendation | `T3-1`, `T3-2` |
103
-
104
- ---
105
-
106
- ## Rubric
107
-
108
- Rubric uses a gap cascade ID system for tickets and cross-references zone-prefixed IDs for findings.
109
-
110
- | Prefix | Meaning | Example |
111
- |---|---|---|
112
- | `G[N]-T[N]` | Gap cascade ticket (Gap number – Ticket number) | `G1-T1`, `G1-T7` |
113
-
114
- Zone findings within Rubric audits use the same zone abbreviations as Ally (Foundations, Components, Patterns, Voice, Quality gate, Governance, Adoption, Multi-brand) but without standardised short-codes in the current version.
115
-
116
- **Synthesised recommendations (Pilot-readable recommendations file):**
117
-
118
- Rubric currently maps its findings to `rubric-recommendations.md` without a formal Tier ID system. Findings are referenced by gap cascade ID (`G1-T1` etc.) or descriptive label. A formal tier structure is a pending addition.
119
-
120
- ---
121
-
122
- ## Maven
123
-
124
- Maven uses `MR` (Maven Recommendation) prefixes for its synthesised output.
125
-
126
- | Prefix | Meaning | Example |
127
- |---|---|---|
128
- | `MR` | Maven recommendation | `MR1`, `MR4` |
129
-
130
- ---
131
-
132
- ## Forge
133
-
134
- | Prefix | Meaning | Example |
135
- |---|---|---|
136
- | `FR` | Forge recommendation | `FR1`, `FR4` |
137
-
138
- Intake IDs are lane-internal (`I<n>`) and not propagated to Pilot.
139
-
140
- ---
141
-
142
- ## Helm
143
-
144
- | Prefix | Meaning | Example |
145
- |---|---|---|
146
- | `HR` | Helm recommendation | `HR1`, `HR3` |
147
-
148
- ---
149
-
150
- ## Verify
151
-
152
- | Prefix | Meaning | Example |
153
- |---|---|---|
154
- | `VR` | Verify recommendation | `VR1`, `VR2` |
155
-
156
- ---
157
-
158
- ## Guard
159
-
160
- | Prefix | Meaning | Example |
161
- |---|---|---|
162
- | `GR` | Guard recommendation | `GR1`, `GR5` |
163
-
164
- ---
165
-
166
- ## Charter
167
-
168
- | Prefix | Meaning | Example |
169
- |---|---|---|
170
- | `CR` | Charter recommendation | `CR1`, `CR2` |
171
-
172
- ---
173
-
174
- ## Anchor
175
-
176
- | Prefix | Meaning | Example |
177
- |---|---|---|
178
- | `AR` | Anchor recommendation | `AR1`, `AR3` |
179
-
180
- ---
181
-
182
- ## Ledger
183
-
184
- | Prefix | Meaning | Example |
185
- |---|---|---|
186
- | `LR` | Ledger recommendation | `LR1`, `LR2` |
187
-
188
- ---
189
-
190
- ## Roster
191
-
192
- | Prefix | Meaning | Example |
193
- |---|---|---|
194
- | `RO` | Roster recommendation | `RO1`, `RO2` |
195
-
196
- ---
197
-
198
- ## Pitch
199
-
200
- | Prefix | Meaning | Example |
201
- |---|---|---|
202
- | `PR` | Pitch recommendation | `PR1`, `PR3` |
203
-
204
- ---
205
-
206
- ## Raw capture (pre-intake)
207
-
208
- The raw capture step (your notes, daily log, or personal CLI tool) does not generate finding IDs — captured items are routed to the appropriate lane's intake skill, which assigns lane-local IDs.
209
-
210
- ---
211
-
212
- ## Collision risk at Pilot synthesis
213
-
214
- **Known collision risks:**
215
-
216
- | Pack A | Pack B | Colliding prefix | Notes |
217
- |---|---|---|---|
218
- | Compass `D` | Layers+ `D` | `D` | Both use `D` for doctrine/domain findings |
219
- | Compass `M` | Pilot `P-N` | Low risk | Different contexts |
220
- | Ally T1/T2/T3 | Layers+ T1/T2/T3 | `T1-`, `T2-`, `T3-` | Same tier numbering, different packs — always qualify with pack name when cross-referencing |
221
-
222
- **Convention:** When Pilot synthesises across packs, prefix all cited finding IDs with the pack abbreviation:
223
-
224
- ```
225
- compass:SR3 → Compass strategic recommendation 3
226
- layers:T2-7 → Layers+ tier 2, item 7
227
- ally:Ease-H1 → Ally Ease zone, High severity, finding 1
228
- rubric:G1-T5 → Rubric gap cascade 1, ticket 5
229
- maven:MR3 → Maven recommendation 3
230
- ```
231
-
232
- ---
233
-
234
- _Closes: Layers+ CM-DS2 🟡 (no cross-pack ID reference)_
235
- _Generated: 2026-05-23 · pilot-ship batch_