@rubytech/create-maxy-code 0.1.319 → 0.1.320

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 (86) hide show
  1. package/dist/__tests__/base-toolchain-deps.test.js +67 -0
  2. package/dist/index.js +7 -1
  3. package/package.json +1 -1
  4. package/payload/platform/config/brand.json +1 -1
  5. package/payload/platform/lib/graph-style/dist/index.d.ts.map +1 -1
  6. package/payload/platform/lib/graph-style/dist/index.js +15 -0
  7. package/payload/platform/lib/graph-style/dist/index.js.map +1 -1
  8. package/payload/platform/lib/graph-style/src/index.ts +16 -0
  9. package/payload/platform/lib/graph-write/dist/index.d.ts.map +1 -1
  10. package/payload/platform/lib/graph-write/dist/index.js +3 -0
  11. package/payload/platform/lib/graph-write/dist/index.js.map +1 -1
  12. package/payload/platform/lib/graph-write/src/index.ts +3 -0
  13. package/payload/platform/lib/models/dist/index.d.ts +8 -0
  14. package/payload/platform/lib/models/dist/index.d.ts.map +1 -1
  15. package/payload/platform/lib/models/dist/index.js +13 -1
  16. package/payload/platform/lib/models/dist/index.js.map +1 -1
  17. package/payload/platform/lib/models/src/index.ts +17 -0
  18. package/payload/platform/neo4j/schema.cypher +103 -0
  19. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +33 -4
  20. package/payload/platform/plugins/docs/references/admin-ui.md +21 -1
  21. package/payload/platform/plugins/docs/references/neo4j.md +9 -0
  22. package/payload/platform/plugins/docs/references/plugins-guide.md +2 -2
  23. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js +28 -0
  24. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js.map +1 -1
  25. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.js +7 -1
  26. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.js.map +1 -1
  27. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.d.ts.map +1 -1
  28. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.js +19 -1
  29. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.js.map +1 -1
  30. package/payload/platform/plugins/memory/references/schema-knowledge-work.md +80 -0
  31. package/payload/platform/plugins/projects/PLUGIN.md +11 -0
  32. package/payload/platform/plugins/projects/references/meeting-to-tasks.md +34 -0
  33. package/payload/platform/plugins/projects/references/prioritization.md +43 -0
  34. package/payload/platform/plugins/projects/references/risk-premortem.md +34 -0
  35. package/payload/platform/plugins/projects/references/sprint.md +5 -1
  36. package/payload/platform/plugins/projects/references/stakeholder-map.md +43 -0
  37. package/payload/platform/scripts/installer-device-verify.sh +38 -0
  38. package/payload/platform/services/claude-session-manager/dist/permission-mode-tail.d.ts +3 -1
  39. package/payload/platform/services/claude-session-manager/dist/permission-mode-tail.d.ts.map +1 -1
  40. package/payload/platform/services/claude-session-manager/dist/permission-mode-tail.js.map +1 -1
  41. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +2 -1
  42. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  43. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +2 -1
  44. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  45. package/payload/premium-plugins/venture-studio/PLUGIN.md +12 -3
  46. package/payload/premium-plugins/venture-studio/skills/investor-data-room/SKILL.md +14 -0
  47. package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/competitive-battlecard.md +37 -0
  48. package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/competitor-analysis.md +32 -0
  49. package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/monetization-strategy.md +35 -0
  50. package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/pricing-strategy.md +37 -0
  51. package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/strategy-frameworks.md +46 -0
  52. package/payload/premium-plugins/venture-studio/skills/legal-essentials/SKILL.md +65 -0
  53. package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/SKILL.md +6 -0
  54. package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/market-sizing.md +58 -0
  55. package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/strategy-red-team.md +41 -0
  56. package/payload/server/maxy-edge.js +1 -1
  57. package/payload/server/public/assets/{AdminLoginScreens-CrdmA3KA.js → AdminLoginScreens-D_e5PYXv.js} +1 -1
  58. package/payload/server/public/assets/AdminShell-Dc23yALw.js +1 -0
  59. package/payload/server/public/assets/{Checkbox-DXisJRUK.js → Checkbox-BHxSr_cA.js} +1 -1
  60. package/payload/server/public/assets/OperatorConversations-BqNOXEu8.js +9 -0
  61. package/payload/server/public/assets/OperatorConversations-pu50BU11.css +1 -0
  62. package/payload/server/public/assets/admin-DE55chV9.js +1 -0
  63. package/payload/server/public/assets/{browser-Bxx8w8BA.js → browser-C1Dp1UxB.js} +1 -1
  64. package/payload/server/public/assets/chat-BLQDFyDL.js +1 -0
  65. package/payload/server/public/assets/data-D_L6g-L_.js +1 -0
  66. package/payload/server/public/assets/graph-labels-C2r7zl8O.js +1 -0
  67. package/payload/server/public/assets/{graph-B59N222f.js → graph-ticN9QbK.js} +3 -3
  68. package/payload/server/public/assets/{operator-DpRAhwQN.js → operator-COIYJFG7.js} +1 -1
  69. package/payload/server/public/assets/{page-Ehjc9b9V.js → page-CsOGSSSb.js} +2 -2
  70. package/payload/server/public/assets/{public-BcqXGSaE.js → public-CjT_WNkz.js} +1 -1
  71. package/payload/server/public/browser.html +4 -4
  72. package/payload/server/public/chat.html +5 -5
  73. package/payload/server/public/data.html +4 -4
  74. package/payload/server/public/graph.html +6 -6
  75. package/payload/server/public/index.html +6 -6
  76. package/payload/server/public/operator.html +7 -7
  77. package/payload/server/public/public.html +5 -5
  78. package/payload/server/server.js +85 -7
  79. package/payload/server/public/assets/AdminShell-0meAFBva.js +0 -1
  80. package/payload/server/public/assets/OperatorConversations-DBy2G8q3.js +0 -9
  81. package/payload/server/public/assets/OperatorConversations-DvRXfq3q.css +0 -1
  82. package/payload/server/public/assets/admin-DX5lZxWt.js +0 -1
  83. package/payload/server/public/assets/chat-CT9YrNtI.js +0 -1
  84. package/payload/server/public/assets/data-B9NtsXgF.js +0 -1
  85. package/payload/server/public/assets/graph-labels-70w-1ov0.js +0 -1
  86. /package/payload/server/{chunk-NCRJQEZ3.js → chunk-GRKG3KNN.js} +0 -0
@@ -59,7 +59,7 @@ either is a regression.
59
59
 
60
60
  **maxy title for public sessions.** A `role=public` webchat spawn never produces a useful Claude Code `ai-title` (an anonymous one-line visitor turn), so every public row would otherwise read identically. The webchat route (`chat.ts`) composes a deterministic title — `Web · <senderId[:8]>[ · <personId>] · <UTC YYYY-MM-DD HH:mm>` (personId present only for gated visitors) — and threads it through the native webchat gateway's public spawn (`handleInbound` → `buildPublicWebchatSpawnRequest` → `managerSpawn`) to the manager `POST /public-spawn` body as `name`. `/spawn` validates it with `validateUserTitle` and, for `role=public` only, writes it into `UserTitleStore` so it occupies the operator-rename tier and wins over `ai-title`. Admin (`/rc-spawn`) and WhatsApp titling are unchanged. Observability: every public spawn logs `[spawn] role=public … title="…"` (or `title=missing`); the manager's row builder emits `[public-title] sessionId=… unexpected titleSource=<ai|null>` on the next list read for any public row that did not resolve from the user tier.
61
61
 
62
- **Public visitor surface.** The public-host root (`GET /`), the `/:slug` agent routes, and the admin-host `/public` / `/public-chat` previews all serve one shell, `public.html` → [`app/public-entry.tsx`](../../../ui/app/public-entry.tsx) → `PublicChat`. `PublicChat` reuses `useSession` purely as the magic-link gatekeeper — it drives `AccessGate`, resolves the agent slug from the path, and handles `?token=` verification; once the grant is satisfied it mounts `ChatSurface variant="public"`, whose transcript reads the visitor-scoped, **delivered-only** stream `GET /api/public-reader/stream` ([`server/routes/public-reader.ts`](../../../ui/server/routes/public-reader.ts)) — the visitor sees the agent's delivered prose, never the tool/tool-result/directive bytes the legacy `/api/chat` SSE render exposed. Branding is resolved client-side by `useSession`, so the server hands back the bare shell with no per-agent HTML injection. There is exactly one public client surface and it is 1:1 visitor↔agent: the earlier `?surface=next` A/B handle is retired, group messaging is retired (not a supported product surface), and a former `/g/<slug>` group URL now serves the same 1:1 shell — a stale bookmark gets the 1:1 chat, never a broken render.
62
+ **Public visitor surface.** The public-host root (`GET /`), the `/:slug` agent routes, and the admin-host `/public` / `/public-chat` previews all serve one shell, `public.html` → [`app/public-entry.tsx`](../../../ui/app/public-entry.tsx) → `PublicChat`. `PublicChat` reuses `useSession` purely as the magic-link gatekeeper — it drives `AccessGate`, resolves the agent slug from the path, and handles `?token=` verification; once the grant is satisfied it mounts `ChatSurface variant="public"`, whose transcript reads the visitor-scoped, **delivered-only** stream `GET /api/public-reader/stream` ([`server/routes/public-reader.ts`](../../../ui/server/routes/public-reader.ts)) — the visitor sees the agent's delivered prose, never the tool/tool-result/directive bytes the legacy `/api/chat` SSE render exposed. The human visitor's branding is resolved client-side by `useSession`. For the head only, the server injects per-agent link-preview meta — `<title>`, `og:title`/`og:description`/`og:image`, `theme-color`, and a per-agent favicon, resolved from the same branding cache `useSession` reads — into the served shell, so a link-preview crawler (which never runs the client bundle) gets a branded card per agent instead of one generic shell; an agent with no branding cache gets the clean brand-default shell with no empty meta tags. There is exactly one public client surface and it is 1:1 visitor↔agent: the earlier `?surface=next` A/B handle is retired, group messaging is retired (not a supported product surface), and a former `/g/<slug>` group URL now serves the same 1:1 shell — a stale bookmark gets the 1:1 chat, never a broken render.
63
63
 
64
64
  ### Graph
65
65
 
@@ -144,6 +144,26 @@ the Web Share API and is disabled where unavailable. Signals:
144
144
  `[data-ui] op=mount header=operator home=absent`, `op=select-enter`,
145
145
  `op=select-exit reason=<cancel|action>`, `op=share supported=<bool> count=<n>`.
146
146
 
147
+ **`/data` list ↔ grid view + image thumbnails.** A toolbar toggle switches the
148
+ file browser between the two-line list and a **grid**. In grid view, image
149
+ files render an inline thumbnail; folders render a folder tile (still navigate
150
+ on tap); every other file renders a labelled tile (name + size) that downloads
151
+ on tap. Tapping a thumbnail opens a full-size overlay (reusing the chat
152
+ attachment overlay), not a download — download stays reachable via long-press →
153
+ select → Download. The chosen view persists across reload and `/data` ↔ `/`
154
+ navigation (`localStorage['maxy-data-view']`). A file counts as an image only
155
+ when its **extension** is one the inline-serve route can serve
156
+ (`png/jpg/jpeg/gif/webp/svg`, the server's `detectMimeType` image set) — the
157
+ sidecar `mimeType` is not consulted, so the grid never promises a thumbnail the
158
+ serve route would refuse. Thumbnails load from the same `/api/admin/files/download`
159
+ route with `disposition=inline` (`inlineImageUrl`), which for an `image/*` file
160
+ returns the bytes with **no** `Content-Disposition` and a cacheable header so the
161
+ browser renders them in an `<img>`; a non-image inline request is refused `400`,
162
+ and the account-scope guard is identical to the attachment path. Signals:
163
+ `[data] op=view-mode mode=<grid|list>`, `[data] op=thumb-serve path=… mime=… size=… status=200`,
164
+ `[data] op=thumb-refused path=… reason=not-image`, and client `[data] op=thumb-error path=…`
165
+ from a thumbnail that fails to load.
166
+
147
167
  **`/data` search — locate-in-files link and clear button.** Every
148
168
  search hit is a `:FileArtifact` backed by a physical file, so each result card
149
169
  whose `relativePath` is a non-empty string carries a **locate link** (folder
@@ -41,6 +41,8 @@ If a session never runs an insight pass, its prose nodes are not lost — the ne
41
41
  | Meeting | MENTIONS | Organization |
42
42
  | KnowledgeDocument | MENTIONS | Person |
43
43
  | KnowledgeDocument | MENTIONS | Organization |
44
+ | ConversationArchive | MENTIONS | Person |
45
+ | ConversationArchive | MENTIONS | Organization |
44
46
  | Note | MENTIONS | Person |
45
47
  | Note | MENTIONS | Organization |
46
48
  | Idea | MENTIONS | Person |
@@ -59,5 +61,12 @@ If a session never runs an insight pass, its prose nodes are not lost — the ne
59
61
  | Page | REFERENCES | Page |
60
62
  | Report | REFERENCES | Report |
61
63
  | Report | REFERENCES | Page |
64
+ | Person | REPORTS_TO | Person |
65
+ | Source | AUTHORED_BY | Person |
66
+ | Project | ADVANCES | Objective |
67
+ | Project | ADVANCES | KeyResult |
68
+ | Task | ADVANCES | Objective |
69
+ | Task | ADVANCES | KeyResult |
70
+ | Task | DEPENDS_ON | Task |
62
71
 
63
72
  <!-- TYPED-EDGE-TABLE:END -->
@@ -38,7 +38,7 @@ These are enabled during onboarding and can be added or removed at any time. Som
38
38
  | `business-assistant` | Customer enquiries, scheduling, quoting, invoicing, daily briefings | Personal assistant |
39
39
  | `sales` | Buying signal detection, closing techniques, objection handling | Personal assistant |
40
40
  | `deep-research` | Structured multi-source research — query decomposition, source evaluation, citations | Research assistant |
41
- | `projects` | Structured project execution — phased sprints, investigations, reviews, retrospectives | Project manager |
41
+ | `projects` | Structured project execution — phased sprints, investigations, reviews, retrospectives, plus method references for stakeholder mapping, risk pre-mortems, task prioritization, and meeting-to-tasks | Project manager |
42
42
  | `telegram` | Telegram bot — BotFather setup, messaging, channels | Personal assistant |
43
43
  | `whatsapp` | WhatsApp messaging, pairing, and conversation browsing | Personal assistant |
44
44
  | `replicate` | Image generation — three models for photorealistic, design, and fast draft images | Content producer, Research assistant |
@@ -89,7 +89,7 @@ There is no per-account purchase record; the brand decides the shipping set.
89
89
  | `teaching` | Skills | Interactive tutoring, lesson planning, and study pack generation from your knowledge base | Yes — all 3 skills serve students and parents |
90
90
  | `real-agent` | Bundle (13 sub-plugins) | UK estate agency skills — sales, listings, vendor management, buyer management, lead generation, coaching, business operations, teaching, Loop CRM (five value pillars: auto-respond, viewing lifecycle, pipeline mining, listings prospecting, maintenance & preferences), PropertyData market analytics (valuation, sold prices, £/sqft baselines, £/sqft growth, demand-rent, area risk, planning precedent, UPRN matching, property-type distribution), gov.uk EPC floor-area lookup, property brochures, social-share image cards, A4 market reports, and single-address preval packs (full UK address → 4-page A4 PDF covering valuation, area, and demand). 3 specialist roles (negotiator, valuer, compliance) | 4 sub-plugins (estate-sales, buyers, estate-coaching, estate-teaching) |
91
91
  | `writer-craft` | Skills + Agent | Manuscript review and writing craft — story architecture, reader engagement, prose craft, editorial practice, and multi-level review | No — writing craft serves the author |
92
- | `venture-studio` | Skills + Agent | Founding-a-business workflow — office-hours discovery, brand pack, zero-to-prototype validation, and the full investor data room (business plan, prospectus, term sheet, deck blueprint, A4 print pipeline). Pre-seeds a `Project` with one `Task` per artefact so nothing gets forgotten. | No — founder-facing only |
92
+ | `venture-studio` | Skills + Agent | Founding-a-business workflow — office-hours discovery, brand pack, zero-to-prototype validation, the full investor data room (business plan, prospectus, term sheet, deck blueprint, A4 print pipeline), and a `legal-essentials` skill that drafts an NDA and a UK-GDPR/PECR privacy policy. Carries citation-routed method references for market sizing (TAM/SAM/SOM), pricing, monetization, competitor analysis, battlecards, strategy frameworks (SWOT/PESTLE/Porter's/Ansoff), and a pre-fundraise strategy red-team. Pre-seeds a `Project` with one `Task` per artefact so nothing gets forgotten. | No — founder-facing only |
93
93
  | `management-consulting` | Skills | 21 MBB-style strategy skills for client engagements — situation assessment, growth-barrier and assumption diagnosis, market mapping, competitive intel, segmentation, profit-pool analysis, strategic options, pricing, business cases, portfolio review, operating-model design, initiative prioritization, transformation roadmaps, war-gaming, risk registers, KPI design, value realization, stakeholder alignment, executive narrative, and decision memos. No MCP server. | No — consultant-facing only |
94
94
 
95
95
  **How it works:** Every boot {{productName}} delivers the brand's premium plugins from staging into `platform/plugins/` and stamps `enabledPlugins` against what is actually on disk. No conversation needed — the brand's full set is active from the first turn after install. Updates and reinstalls re-deliver from staging.
@@ -131,6 +131,34 @@ test("loadSchema: brand.json vertical naming existing file → brandVertical set
131
131
  rmSync(path, { force: true });
132
132
  }
133
133
  });
134
+ test("loadSchema: knowledge-work vertical documents Objective with required props", () => {
135
+ // Task 952 — the Maxy brand's knowledge-work vertical. schema-knowledge-work.md
136
+ // is shipped with the plugin; loading it surfaces the new gap labels and
137
+ // their required-property groups so the validator can enforce them.
138
+ const path = writeBrandJson({ vertical: "schema-knowledge-work" });
139
+ try {
140
+ const schema = loadSchema({ brandJsonPath: path });
141
+ assert.equal(schema.brandVertical, "schema-knowledge-work");
142
+ const objective = schema.markdownLabels.get("Objective");
143
+ assert.ok(objective, "Objective must be documented in schema-knowledge-work.md");
144
+ const simpleNames = objective.required
145
+ .filter((g) => g.kind === "simple")
146
+ .map((g) => g.name);
147
+ // The required-property column drives the validator's missing-group
148
+ // rejection. `title` (among others) must be present, so a write that
149
+ // omits it is rejected with outcome=missing-group.
150
+ for (const prop of ["accountId", "title", "framework", "timeframe", "status"]) {
151
+ assert.ok(simpleNames.includes(prop), `Objective required props must include '${prop}', got ${simpleNames.join(", ")}`);
152
+ }
153
+ // The other six gap labels are documented too.
154
+ for (const label of ["KeyResult", "Decision", "Risk", "Source", "Finding", "Hypothesis"]) {
155
+ assert.ok(schema.markdownLabels.get(label), `${label} must be documented in schema-knowledge-work.md`);
156
+ }
157
+ }
158
+ finally {
159
+ rmSync(path, { force: true });
160
+ }
161
+ });
134
162
  test("loadSchema: brand.json vertical naming a missing file → loud-fail at boot", () => {
135
163
  // Task 193 verification: misconfigured vertical must block boot, with the
136
164
  // missing file named in the error.
@@ -1 +1 @@
1
- {"version":3,"file":"schema-loader.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/schema-loader.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-loader.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/schema-loader.test.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@ describe("typed-edge-schema", () => {
4
4
  it("exports a non-empty allowlist", () => {
5
5
  expect(TYPED_EDGE_ALLOWLIST.length).toBeGreaterThan(0);
6
6
  });
7
- it("covers the nine seed edge types from the task brief", () => {
7
+ it("covers the nine seed edge types plus the knowledge-work auto-extractable edges", () => {
8
8
  const expected = [
9
+ // Nine seed edge types from the original task brief.
9
10
  "ATTENDED",
10
11
  "WORKS_AT",
11
12
  "INVESTED_IN",
@@ -15,6 +16,11 @@ describe("typed-edge-schema", () => {
15
16
  "AUTHORED",
16
17
  "ATTACHED_TO",
17
18
  "REFERENCES",
19
+ // Knowledge-work vertical (Task 952) — auto-extractable edges only.
20
+ "REPORTS_TO",
21
+ "AUTHORED_BY",
22
+ "ADVANCES",
23
+ "DEPENDS_ON",
18
24
  ].sort();
19
25
  expect([...TYPED_EDGE_TYPES]).toEqual(expected);
20
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"typed-edge-schema.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/typed-edge-schema.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-edge-schema.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/typed-edge-schema.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typed-edge-schema.d.ts","sourceRoot":"","sources":["../../src/lib/typed-edge-schema.ts"],"names":[],"mappings":"AAwCA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,aAAa,CAqE7D,CAAC;AAUF,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAET;AAED,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAE3C,CAAC;AAKT;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAUtD,CAAC"}
1
+ {"version":3,"file":"typed-edge-schema.d.ts","sourceRoot":"","sources":["../../src/lib/typed-edge-schema.ts"],"names":[],"mappings":"AAyCA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,aAAa,CA2F7D,CAAC;AAUF,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAET;AAED,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAE3C,CAAC;AAKT;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAUtD,CAAC"}
@@ -19,7 +19,8 @@
19
19
  // Scope: this constant is the canonical (source, edgeType, target)
20
20
  // allowlist for every edge type that appears in it — currently
21
21
  // ATTENDED, WORKS_AT, INVESTED_IN, FOUNDED, ADVISES, MENTIONS, AUTHORED,
22
- // ATTACHED_TO, REFERENCES. Three writers honour it:
22
+ // ATTACHED_TO, REFERENCES, and the knowledge-work auto-extractable edges
23
+ // REPORTS_TO, AUTHORED_BY, ADVANCES, DEPENDS_ON. Three writers honour it:
23
24
  // 1. The typed-edge pass (`memory-typed-edge-pass`) — proposes only
24
25
  // tuples from this list, rejects others with reason
25
26
  // "not-in-allowlist".
@@ -104,6 +105,23 @@ export const TYPED_EDGE_ALLOWLIST = [
104
105
  { sourceLabel: "Page", edgeType: "REFERENCES", targetLabel: "Page" },
105
106
  { sourceLabel: "Report", edgeType: "REFERENCES", targetLabel: "Report" },
106
107
  { sourceLabel: "Report", edgeType: "REFERENCES", targetLabel: "Page" },
108
+ // Knowledge-work vertical (schema-knowledge-work.md). Only the
109
+ // auto-extractable pairs live here — edges a reader can infer from text
110
+ // without a deterministic writer. The vertical's deterministic /
111
+ // agent-written edges (MEASURED_BY, DECIDES, SUPERSEDES, THREATENS,
112
+ // DERIVED_FROM, the CiTO CITES/SUPPORTS/REFUTES, and the RACI verbs)
113
+ // stay prose-governed in schema-knowledge-work.md, not in this allowlist.
114
+ // REPORTS_TO — org reporting line between two people.
115
+ { sourceLabel: "Person", edgeType: "REPORTS_TO", targetLabel: "Person" },
116
+ // AUTHORED_BY — a referenced source was written by a person.
117
+ { sourceLabel: "Source", edgeType: "AUTHORED_BY", targetLabel: "Person" },
118
+ // ADVANCES — a project or task advances an objective or its key result.
119
+ { sourceLabel: "Project", edgeType: "ADVANCES", targetLabel: "Objective" },
120
+ { sourceLabel: "Project", edgeType: "ADVANCES", targetLabel: "KeyResult" },
121
+ { sourceLabel: "Task", edgeType: "ADVANCES", targetLabel: "Objective" },
122
+ { sourceLabel: "Task", edgeType: "ADVANCES", targetLabel: "KeyResult" },
123
+ // DEPENDS_ON — task precedence (PDM); optional `type` ∈ {FS,SS,FF,SF}.
124
+ { sourceLabel: "Task", edgeType: "DEPENDS_ON", targetLabel: "Task" },
107
125
  ];
108
126
  /** Set form for O(1) lookup during validation. */
109
127
  const ALLOWLIST_SET = new Set(TYPED_EDGE_ALLOWLIST.map(({ sourceLabel, edgeType, targetLabel }) => `${sourceLabel}|${edgeType}|${targetLabel}`));
@@ -1 +1 @@
1
- {"version":3,"file":"typed-edge-schema.js","sourceRoot":"","sources":["../../src/lib/typed-edge-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-edge-schema.js","sourceRoot":"","sources":["../../src/lib/typed-edge-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ # Schema Reference — Knowledge Work
2
+
3
+ Vertical schema for `businessType: "knowledge-work"` — the Maxy brand's knowledge workers: strategists, founders, operators, researchers, analysts.
4
+
5
+ This reference extends the base schema. All base node types remain valid. Load `schema-base.md` first.
6
+
7
+ When loading this reference, confirm: "Using schema-base + schema-knowledge-work".
8
+
9
+ ---
10
+
11
+ ## Reuse the base — this vertical adds only the gaps
12
+
13
+ Most of knowledge work is already in the base schema. Use the base labels, do not duplicate them:
14
+
15
+ - People and orgs: `Person`, `Organization`, `Position`, `Credential`. Reporting lines are the `REPORTS_TO` edge below, not a node.
16
+ - Work: `Task` (a `schema:Action`), `Project`, `Meeting`, `Event`, `Workflow`.
17
+ - Concepts and content: `DefinedTerm` (concepts, skills, glossary, learnings), `Concept`, `Idea`, `CreativeWork`, `KnowledgeDocument` and `Section`.
18
+
19
+ The gaps this vertical fills are: goals and OKRs, decision records, risk, and the research / citation / evidence layer. It adds those seven labels and nothing else.
20
+
21
+ ---
22
+
23
+ ## Additional Node Types
24
+
25
+ | Entity | Neo4j Label | Schema.org Type | Required Properties |
26
+ |--------|-------------|-----------------|---------------------|
27
+ | Objective | `Objective` | platform-native | `accountId`, `title`, `framework` (OKR/OGSM/V2MOM/Hoshin), `timeframe`, `status` (draft/active/achieved/missed/abandoned) |
28
+ | KeyResult | `KeyResult` | platform-native | `accountId`, `title`, `target`, `current`, `unit`, `status` (on-track/at-risk/missed/achieved) |
29
+ | Decision | `Decision` | `schema:CreativeWork` | `accountId`, `title`, `status` (proposed/accepted/superseded/rejected), `decision` |
30
+ | Risk | `Risk` | platform-native | `accountId`, `statement`, `probability` (low/medium/high), `impact` (low/medium/high), `status` (open/mitigated/accepted/closed) |
31
+ | Source | `Source` | `schema:CreativeWork` | `accountId`, `title`, `sourceType` (article/book/web/dataset/report) |
32
+ | Finding | `Finding` | platform-native | `accountId`, `statement`, `status` (draft/validated/retracted) |
33
+ | Hypothesis | `Hypothesis` | platform-native | `accountId`, `statement`, `status` (open/supported/refuted/assumed) |
34
+
35
+ `Objective` carries the strategy framework on a `framework` discriminator rather than proliferating one label per framework: OGSM and V2MOM strategy/method tiers are `Objective` nodes distinguished by `framework`. A North-Star metric is an `Objective`-level `KeyResult`, not a separate label. A `Source` is a referenced work (a citation target), distinct from an ingested `KnowledgeDocument` whose full text lives on disk. An open research question is a `Hypothesis {status:'open'}`; an assumption is a `Hypothesis {status:'assumed'}` — the base `Question` label stays reserved for `schema:Question` FAQ content.
36
+
37
+ Optional properties seen in practice: `Decision` — `context`, `consequences`, `decidedAt`; `Source` — `url`, `doi`, `datePublished`; `Finding` — `confidence`.
38
+
39
+ ---
40
+
41
+ ## Idempotency contracts
42
+
43
+ MERGE keys per label:
44
+
45
+ - `:Objective` — `(accountId, title)`
46
+ - `:KeyResult` — `(accountId, objectiveTitle, title)` — child of the `:Objective` it measures
47
+ - `:Decision` — `(accountId, title)`
48
+ - `:Risk` — `(accountId, statement)`
49
+ - `:Source` — `(accountId, title)`
50
+ - `:Finding` — `(accountId, statement)`
51
+ - `:Hypothesis` — `(accountId, statement)`
52
+
53
+ ---
54
+
55
+ ## Relationship Patterns
56
+
57
+ ```
58
+ (:Objective)-[:MEASURED_BY]->(:KeyResult)
59
+ (:Project)-[:ADVANCES]->(:Objective)
60
+ (:Project)-[:ADVANCES]->(:KeyResult)
61
+ (:Task)-[:ADVANCES]->(:Objective)
62
+ (:Task)-[:ADVANCES]->(:KeyResult)
63
+ (:Decision)-[:SUPERSEDES]->(:Decision)
64
+ (:Risk)-[:THREATENS]->(:Objective)
65
+ (:Risk)-[:THREATENS]->(:Project)
66
+ (:Source)-[:AUTHORED_BY]->(:Person)
67
+ (:Source)-[:CITES]->(:Source)
68
+ (:Source)-[:SUPPORTS]->(:Source)
69
+ (:Source)-[:REFUTES]->(:Source)
70
+ (:Finding)-[:DERIVED_FROM]->(:Source)
71
+ (:Finding)-[:DERIVED_FROM]->(:KnowledgeDocument)
72
+ (:Finding)-[:SUPPORTS]->(:Hypothesis)
73
+ (:Finding)-[:REFUTES]->(:Hypothesis)
74
+ (:Task)-[:DEPENDS_ON]->(:Task)
75
+ (:Person)-[:REPORTS_TO]->(:Person)
76
+ (:Person)-[:RESPONSIBLE_FOR]->(:Task)
77
+ (:Person)-[:ACCOUNTABLE_FOR]->(:Decision)
78
+ ```
79
+
80
+ A `Decision` records what it decided through a `DECIDES` edge to the entity it governs (an `Objective`, a `Project`, a `Task`, or any base entity), and supersedes the decision it replaces. `Source`-to-`Source` citation uses CiTO verbs (`CITES`, `SUPPORTS`, `REFUTES`); a `Finding` is derived from its evidence (`DERIVED_FROM`, the PROV `wasDerivedFrom` relation) and bears on a `Hypothesis` (`SUPPORTS`/`REFUTES`). Task precedence uses `DEPENDS_ON` with an optional `type` property in `{FS, SS, FF, SF}` (the project-management precedence kinds). Responsibility is an edge, never a node: reporting lines are `REPORTS_TO`, and RACI assignment is `RESPONSIBLE_FOR` / `ACCOUNTABLE_FOR` / `CONSULTED_ON` / `INFORMED_OF` from a `Person` to a `Task` or `Decision` — consistent with the base doctrine that responsibility is a property of an edge, not its own node.
@@ -32,6 +32,17 @@ Explicit triggers always apply structured execution without asking:
32
32
 
33
33
  Load the relevant reference via `plugin-read` when entering a mode. Each reference describes outcomes and constraints for that mode — follow them.
34
34
 
35
+ ## Method References
36
+
37
+ Beyond the four modes, the plugin carries method references for recurring needs that attach to a mode rather than defining one. Load the relevant reference via `plugin-read` when the need arises. Each one terminates in a graph write — a Task, a relationship, or a `[PROJECT:*]` note — never a free-text artefact the graph never sees.
38
+
39
+ | Method | Reference | Attaches to |
40
+ |--------|-----------|-------------|
41
+ | Identify and engage stakeholders (Power × Interest) | `references/stakeholder-map.md` | Sprint Plan (Standard + Full) |
42
+ | Surface and rank risks before execution | `references/risk-premortem.md` | Sprint Challenge Premise (Full) |
43
+ | Order ready tasks by impact and effort (RICE / ICE / MoSCoW / Kano) | `references/prioritization.md` | Sprint Plan |
44
+ | Turn a meeting transcript into decisions and tasks | `references/meeting-to-tasks.md` | Any mode |
45
+
35
46
  ## Creating a Project
36
47
 
37
48
  Use `project-create` to create a project atomically. One tool call creates the parent `:Project:Task` node, all child work items, dependency relationships (`BLOCKS`), and entity relationships (`RAISED_BY`, `AFFECTS`) in a single transaction.
@@ -0,0 +1,34 @@
1
+ # Meeting to Tasks
2
+
3
+ A method for turning a meeting transcript into tracked project records: decisions captured as notes, action items created as child tasks. A client engagement generates meetings, but a transcript on its own is inert — the decisions and commitments in it are not in the graph, so nothing reminds anyone to act on them. This converts the conversation into the same structures the rest of the plugin uses.
4
+
5
+ ## Method: separate decisions from actions
6
+
7
+ Read the transcript and pull out two distinct kinds of content. Keep them separate — they terminate differently.
8
+
9
+ - **Decisions** — things the meeting settled. A choice made, a direction agreed, a scope change, a problem identified. These are facts about the project's history.
10
+ - **Action items** — things someone committed to do. Each has an owner (even if implicit) and an outcome. These are future work.
11
+
12
+ Discard everything else. Discussion that led nowhere, restated context, and small talk do not become records. The test for an action item is whether someone is expected to do something as a result; the test for a decision is whether the project's state changed because of it.
13
+
14
+ For each action item, capture who owns it and what "done" looks like, so it can be created as a real task rather than a vague reminder.
15
+
16
+ ## Graph termination
17
+
18
+ The transcript itself is never the deliverable — the records it produces are.
19
+
20
+ - **Decisions become project notes.** Append each to the project with `project-update` using the matching lifecycle format: a settled direction or scope change as `[PROJECT:CHANGE] {what changed} — Reason: {why}`, a problem raised as `[PROJECT:ISSUE] {description} — Impact: {assessment}`, a general decision as a `[PROJECT:PHASE]` note. These land in the project's searchable history.
21
+ - **Action items become child tasks.** Create each with `work-create`, naming the owner in the task description (there is no assignee relationship — the owner lives on the task itself). Attach the task to the project via `work-relate` (`PART_OF`, passing the project `taskId`). If the transcript names who requested the action, link that person with `RAISED_BY`; link any affected entity with `AFFECTS`. The action then flows through `work-ready` and execution like any other task.
22
+
23
+ After processing a transcript, `project-get` shows new notes for the decisions and new child tasks for the action items. A transcript that produces neither was not processed — it was only read.
24
+
25
+ ## Wiring
26
+
27
+ This method is invokable in any mode, not tied to a single sprint phase — meetings happen throughout a project's life. Load it via `plugin-read` whenever a transcript is pasted into a project conversation, or when the operator asks to turn meeting notes into tasks. If the meeting belongs to no existing project, create or identify the project first so the notes and tasks have a parent.
28
+
29
+ ## When to Use
30
+
31
+ - A meeting transcript pasted into a project conversation.
32
+ - "Turn these notes into tasks."
33
+ - "What did we agree in that call?"
34
+ - "Capture the action items from the client meeting."
@@ -0,0 +1,43 @@
1
+ # Prioritization
2
+
3
+ A method for ordering a project's tasks when every one looks important and dependency edges alone do not decide the sequence. `BLOCKS` relationships say what *must* come before what; they say nothing about what *should* come first among tasks that are all ready. This reference supplies a named framework for that choice and reflects the result in how tasks are created and noted — no schema change.
4
+
5
+ ## When dependency order is not enough
6
+
7
+ `work-ready` returns the set of tasks with no unresolved blockers. When that set has one item, the choice is made. When it has many, the operator needs a way to rank them. Pick one framework below to fit the project; do not mix them within a single project.
8
+
9
+ ### RICE
10
+
11
+ Score each task on Reach (how many people or cases it touches), Impact (how much it moves the outcome), Confidence (how sure you are of the first two), and Effort (how much work it takes). Rank by `(Reach × Impact × Confidence) ÷ Effort`. Use RICE when tasks vary widely in both benefit and cost and you want a single comparable number.
12
+
13
+ ### ICE
14
+
15
+ A lighter RICE: score Impact, Confidence, and Ease (the inverse of effort), each on a simple scale, and rank by their product. Use ICE for a quick ranking when full RICE scoring is more precision than the project warrants.
16
+
17
+ ### MoSCoW
18
+
19
+ Sort tasks into Must have, Should have, Could have, and Won't have (this time). Use MoSCoW when the project has a fixed deadline and the real question is what to drop, not what to score — it makes the cut line explicit.
20
+
21
+ ### Kano
22
+
23
+ Classify each task by how it affects satisfaction: basic expectations (their absence causes complaints, their presence is unremarkable), performance features (more is better), and delighters (unexpected, disproportionately appreciated). Use Kano when the project is about a client-facing result and you are deciding where extra effort earns the most goodwill.
24
+
25
+ ## Graph termination
26
+
27
+ Prioritization changes the order work is created and started, and records the decision — it never leaves a free-standing ranked list.
28
+
29
+ - **Create or order tasks to reflect the ranking.** When building the project, create the higher-ranked work items first so they surface earlier; for an existing project, the ranking decides which ready task is started next via the normal `work-ready` flow.
30
+ - **Record the method and the resulting order as a note.** Append to the project with `project-update`, e.g. `[PROJECT:PHASE] Prioritized via RICE — top three: site survey, supplier quotes, deposit invoice`. This makes the reasoning auditable later and visible in `project-get`.
31
+
32
+ No new property or relationship is introduced — priority lives in creation order and the lifecycle note, not a schema field.
33
+
34
+ ## Wiring
35
+
36
+ This method runs inside the Plan phase of `sprint.md`. Load it via `plugin-read` when a project has many tasks and dependency edges do not settle the sequence. It pairs with `stakeholder-map.md` in the same phase: stakeholder power often informs Impact.
37
+
38
+ ## When to Use
39
+
40
+ - A Plan phase where many tasks are ready and the order is unclear.
41
+ - "Everything feels urgent — what do we do first?"
42
+ - "We can't do all of this before the deadline — what makes the cut?"
43
+ - A client project where you are deciding where to spend the extra effort.
@@ -0,0 +1,34 @@
1
+ # Risk Pre-Mortem
2
+
3
+ A forward-looking method for surfacing what could go wrong before a project starts, ranking each risk, and turning the serious ones into either a recorded issue or a mitigation task. Investigation mode handles problems after they happen; this is the opposite — it finds problems while they are still cheap to prevent. The Challenge Premise phase of a Full sprint asks whether the work is right but names no method for the risks; this supplies it.
4
+
5
+ ## Method: imagine it already failed
6
+
7
+ The pre-mortem inverts the usual question. Instead of "what might go wrong?", assume the project has already failed and ask: "it is six months from now and this went badly — what happened?" Working backwards from an assumed failure surfaces risks that forward optimism hides, because the team is now explaining a failure rather than defending a plan.
8
+
9
+ Generate the list of failure causes, then rank each one on two axes:
10
+
11
+ - **Likelihood** — how probable is this, given what you know? Low / Medium / High.
12
+ - **Impact** — if it happens, how much does it hurt the project? Low / Medium / High.
13
+
14
+ The product of the two sets priority. A High × High risk is addressed before execution starts. A Low × Low risk is noted and left. The middle band is where judgement applies — a low-likelihood, high-impact risk (a key supplier folding) often deserves a mitigation even though it probably will not happen.
15
+
16
+ ## Graph termination
17
+
18
+ Every risk worth surfacing terminates in the graph — never as chat-only text.
19
+
20
+ - **Serious risks become a recorded issue.** For each High-impact risk, append a note to the project with `project-update` in the issue format: `[PROJECT:ISSUE] {risk description} — Impact: {likelihood × impact assessment}`. This lands it in the project's searchable lifecycle history.
21
+ - **Risks you will act on become a mitigation Task.** Where a risk warrants concrete preventive work, create it with `work-create` and attach it to the project via `work-relate` (`PART_OF`, passing the project `taskId`). The mitigation then flows through the normal `work-ready` / execution path like any other task.
22
+
23
+ A pre-mortem that produces only a verbal warning has failed its own method. The test: after running it, `project-get` shows `[PROJECT:ISSUE]` notes or related mitigation Tasks. If it shows neither, nothing was actually captured.
24
+
25
+ ## Wiring
26
+
27
+ This method runs inside the Challenge Premise phase of `sprint.md` (Full tier), before Lock Execution. Load it via `plugin-read` once the scope is agreed but execution has not begun — mitigations identified here change the locked task list. It can also run standalone before any significant project when the operator asks what could go wrong.
28
+
29
+ ## When to Use
30
+
31
+ - A Full sprint Challenge Premise phase, before the plan is locked.
32
+ - "What could go wrong with this?"
33
+ - "Before we commit, what are the risks?"
34
+ - A high-stakes project where a preventable failure would be expensive.
@@ -40,6 +40,8 @@ Understand the project scope: what are the deliverables, who are they for, what'
40
40
 
41
41
  Check for prior learnings: call `memory-search` with a description of the project to surface relevant learnings from past similar work. If learnings exist, factor them into the plan — adjust timelines, flag known risks, apply lessons learned.
42
42
 
43
+ When the project has more than one interested party, map them with `references/stakeholder-map.md`. When many tasks are ready and dependency order does not settle the sequence, order them with `references/prioritization.md`. Load either via `plugin-read`.
44
+
43
45
  ### Execute
44
46
 
45
47
  Work through the child tasks in dependency order. Before starting each task, check `work-ready` to confirm no blockers or AFFECTS conflicts. Append progress notes as work progresses. If a blocker is discovered mid-execution, create a new child task for it and link via `BLOCKS`.
@@ -73,7 +75,7 @@ Mark the parent Task complete with `[PROJECT:COMPLETE]`.
73
75
 
74
76
  ### Plan
75
77
 
76
- Same as Standard Plan, but more thorough: map all stakeholders, identify risks, estimate timeline for each work item, and define acceptance criteria for every deliverable.
78
+ Same as Standard Plan, but more thorough: map all stakeholders (use `references/stakeholder-map.md`), identify risks, estimate timeline for each work item, and define acceptance criteria for every deliverable. Order ready work with `references/prioritization.md` when the sequence is not obvious.
77
79
 
78
80
  ### Challenge Premise
79
81
 
@@ -85,6 +87,8 @@ Before locking in the execution plan, challenge the scope:
85
87
 
86
88
  Surface any concerns and resolve them before proceeding.
87
89
 
90
+ Run a pre-mortem to surface what could go wrong before the plan is locked: load `references/risk-premortem.md` via `plugin-read`. Mitigations identified here change the locked task list, so run it before Lock Execution.
91
+
88
92
  ### Lock Execution
89
93
 
90
94
  Finalise the execution plan: confirm the task list, dependency order, timeline, resource requirements, and acceptance criteria. This is the agreement — Phase 6 (Plan Conformity) will check the outcome against this.
@@ -0,0 +1,43 @@
1
+ # Stakeholder Map
2
+
3
+ A method for identifying the people a project affects or depends on, and deciding how to engage each one. The Plan phase of a Standard or Full sprint names "multiple stakeholders" but gives no way to find them or decide who needs what. This reference supplies that method and terminates in graph relationships, not a loose list.
4
+
5
+ Use this whenever a project has more than one interested party — a client plus their finance team, a landlord plus tenants, a partner plus the people who sign off the work. A project with a single decision-maker does not need it.
6
+
7
+ ## Method: Power × Interest
8
+
9
+ Place each stakeholder on two axes:
10
+
11
+ - **Power** — how much influence they have over whether the project succeeds. Can they approve it, fund it, block it, or redirect it?
12
+ - **Interest** — how much the project's outcome affects them. Will they feel the result day to day, or is it peripheral to them?
13
+
14
+ Each stakeholder lands in one of four quadrants. Each quadrant has a default engagement posture:
15
+
16
+ | Quadrant | Power | Interest | Engagement posture |
17
+ |----------|-------|----------|--------------------|
18
+ | Manage closely | High | High | Involve in decisions, update frequently, resolve their concerns first |
19
+ | Keep satisfied | High | Low | Brief enough to keep onside, do not overload — they disengage if flooded |
20
+ | Keep informed | Low | High | Regular updates, listen for early warnings — they often see problems first |
21
+ | Monitor | Low | Low | Minimal contact, light-touch updates only when the outcome touches them |
22
+
23
+ Work through the project and ask, for each person or group: who decides, who pays, who does the work, who is affected by the result, who could block it. Place each one. The grid surfaces two failure modes a flat list hides: a high-power stakeholder being treated as peripheral, and effort spent over-communicating with someone who has neither power nor interest.
24
+
25
+ ## Graph termination
26
+
27
+ A stakeholder map is not done until it lands in the graph against the project.
28
+
29
+ - **Record each stakeholder as a node related to the project.** If the person already exists, find them via `memory-search`; otherwise create them through the normal entity path. Then relate them to the project Task with `work-relate`: use `RAISED_BY` for the person who requested or sponsors the project, and `AFFECTS` for people or entities the project's outcome changes. Pass the project `taskId` from `project-create`/`project-get` and the stakeholder `elementId` from `memory-search`.
30
+ - **Record the engagement decision as a note.** Append the posture per quadrant to the project with `project-update`, e.g. `[PROJECT:PHASE] Stakeholders mapped — 2 manage-closely (client, surveyor), 1 keep-informed (tenant); client concerns resolved first`.
31
+
32
+ Do not leave the map as chat-only text. If a stakeholder is worth naming, the relationship is worth writing — that is what lets `project-get` and conflict detection (`AFFECTS`) see them later.
33
+
34
+ ## Wiring
35
+
36
+ This method runs inside the Plan phase of `sprint.md` (Standard and Full tiers). Load it via `plugin-read` when a project has more than one interested party. Full tier maps all stakeholders; Standard tier maps the ones with high power or high interest and monitors the rest.
37
+
38
+ ## When to Use
39
+
40
+ - A project Plan phase where "who are the deliverables for" has more than one answer.
41
+ - "Who do we need on side for this?"
42
+ - "Make sure we keep everyone in the loop on the refit."
43
+ - Before a project where one party could block progress and has not yet been engaged.