@synap-core/workspace-templates 0.12.0 → 0.24.0
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/README.md +509 -0
- package/automations/bookmark-enrichment.automation.json +321 -0
- package/automations/github-pr-events.automation.json +505 -0
- package/automations/mail-feed.automation.json +86 -0
- package/automations/ship-a-change-checks-green.automation.json +106 -0
- package/automations/ship-a-change-checks-red.automation.json +106 -0
- package/automations/ship-a-change-deployed.automation.json +56 -0
- package/automations/ship-a-change-pr-merged.automation.json +110 -0
- package/automations/ship-a-change-pr-opened.automation.json +104 -0
- package/automations/url-bookmark-capture.automation.json +132 -0
- package/capabilities/agency-skills.capability.json +157 -0
- package/capabilities/apify.capability.json +265 -0
- package/capabilities/apollo.capability.json +120 -0
- package/capabilities/arch-backend.capability.json +97 -0
- package/capabilities/arch-client-intelligence.capability.json +401 -0
- package/capabilities/backblaze-b2.capability.json +205 -0
- package/capabilities/cal-com.capability.json +266 -0
- package/capabilities/canva.capability.json +274 -0
- package/capabilities/claude-code-routines.capability.json +172 -0
- package/capabilities/claude-managed-agents.capability.json +215 -0
- package/capabilities/client-comms-report.capability.json +246 -0
- package/capabilities/content-idea-to-production.capability.json +29 -0
- package/capabilities/datagouv.capability.json +315 -0
- package/capabilities/discord-bot.capability.json +157 -0
- package/capabilities/dropbox.capability.json +281 -0
- package/capabilities/exa.capability.json +109 -0
- package/capabilities/fal-ai.capability.json +83 -0
- package/capabilities/fal-media-lab.capability.json +158 -0
- package/capabilities/fireflies.capability.json +191 -0
- package/capabilities/freellmapi.capability.json +114 -0
- package/capabilities/generic-apikey.capability.json +92 -0
- package/capabilities/github-merge.capability.json +99 -0
- package/capabilities/github-read.capability.json +325 -0
- package/capabilities/governance-tighten-recommender.capability.json +81 -0
- package/capabilities/jev.capability.json +226 -0
- package/capabilities/lead-conversion-enrollment.capability.json +246 -0
- package/capabilities/mail-feed.capability.json +277 -0
- package/capabilities/mailgun.capability.json +52 -0
- package/capabilities/nango-google.capability.json +639 -0
- package/capabilities/notion.capability.json +417 -0
- package/capabilities/omniroute.capability.json +137 -0
- package/capabilities/posthog-analytics.capability.json +258 -0
- package/capabilities/postiz.capability.json +467 -0
- package/capabilities/proactive-digest.capability.json +190 -0
- package/capabilities/proton.capability.json +288 -0
- package/capabilities/replicate-rvm.capability.json +97 -0
- package/capabilities/research-methods.capability.json +57 -0
- package/capabilities/shopify.capability.json +395 -0
- package/capabilities/slack.capability.json +369 -0
- package/capabilities/stripe.capability.json +1496 -0
- package/capabilities/telegram-bridge.capability.json +56 -0
- package/capabilities/treg.capability.json +102 -0
- package/capabilities/unipile-linkedin.capability.json +494 -0
- package/capabilities/vercel.capability.json +424 -0
- package/dist/define-DqoItRiR.d.ts +1370 -0
- package/dist/index.d.ts +174 -900
- package/dist/index.js +26447 -24075
- package/dist/index.js.map +1 -1
- package/dist/wire.d.ts +222 -0
- package/dist/wire.js +77 -0
- package/dist/wire.js.map +1 -0
- package/package.json +27 -4
- package/retired.yaml +136 -0
- package/skills/app-factory-build-slice/SKILL.md +70 -0
- package/skills/app-factory-build-slice.catalog.json +17 -0
- package/skills/app-factory-design-canvas/SKILL.md +96 -0
- package/skills/app-factory-design-canvas.catalog.json +17 -0
- package/skills/app-factory-design-review/SKILL.md +105 -0
- package/skills/app-factory-design-review.catalog.json +18 -0
- package/skills/app-factory-research/SKILL.md +123 -0
- package/skills/app-factory-research.catalog.json +17 -0
- package/skills/bookmark-enrichment/SKILL.md +40 -0
- package/skills/carousel-format/carousel-format.skill.json +18 -0
- package/skills/collage-broll/collage-broll.skill.json +20 -0
- package/skills/content-taste/content-taste.skill.json +18 -0
- package/skills/creative-director/creative-director.skill.json +18 -0
- package/skills/design-critique/SKILL.md +138 -0
- package/skills/design-critique.catalog.json +12 -0
- package/skills/designing-with-real-components/SKILL.md +140 -0
- package/skills/designing-with-real-components.catalog.json +12 -0
- package/skills/edit-loop/edit-loop.skill.json +25 -0
- package/skills/facecam-edit/facecam-edit.skill.json +24 -0
- package/skills/mapping-the-server/SKILL.md +54 -0
- package/skills/math-explainer-manimgx/math-explainer-manimgx.skill.json +20 -0
- package/skills/motion-quality-gates/motion-quality-gates.skill.json +20 -0
- package/skills/open-design-edit/open-design-edit.skill.json +24 -0
- package/skills/reading-client-progress/SKILL.md +65 -0
- package/skills/routing-to-channels/SKILL.md +54 -0
- package/skills/stellar-scf-grants-advisor/ASSOCIATE-CHEATSHEET.md +133 -0
- package/skills/stellar-scf-grants-advisor/ASSOCIATE-ONBOARDING-GUIDE.md +761 -0
- package/skills/stellar-scf-grants-advisor/CLIENT-FAQ.md +181 -0
- package/skills/stellar-scf-grants-advisor/PARTNER-HANDOVER.md +130 -0
- package/skills/stellar-scf-grants-advisor/SKILL.md +102 -0
- package/skills/stellar-scf-grants-advisor/examples/README.md +43 -0
- package/skills/stellar-scf-grants-advisor/examples/chat-summary-templates.md +158 -0
- package/skills/stellar-scf-grants-advisor/examples/corpus-comparable-rows.md +136 -0
- package/skills/stellar-scf-grants-advisor/examples/q10-team-rewrites.md +109 -0
- package/skills/stellar-scf-grants-advisor/examples/q2-description-rewrites.md +88 -0
- package/skills/stellar-scf-grants-advisor/examples/q6-integration-rewrites.md +107 -0
- package/skills/stellar-scf-grants-advisor/examples/tranche-structures.md +176 -0
- package/skills/stellar-scf-grants-advisor/reference/01-methodology.md +96 -0
- package/skills/stellar-scf-grants-advisor/reference/02-scoring-framework.md +199 -0
- package/skills/stellar-scf-grants-advisor/reference/03-rejection-patterns.md +241 -0
- package/skills/stellar-scf-grants-advisor/reference/04-winner-patterns.md +120 -0
- package/skills/stellar-scf-grants-advisor/reference/05-comeback-patterns.md +92 -0
- package/skills/stellar-scf-grants-advisor/reference/06-budget-benchmarks.md +125 -0
- package/skills/stellar-scf-grants-advisor/reference/07-integration-list.md +147 -0
- package/skills/stellar-scf-grants-advisor/reference/08-abstract-fields.md +258 -0
- package/skills/stellar-scf-grants-advisor/reference/09-build-fields.md +259 -0
- package/skills/stellar-scf-grants-advisor/reference/10-corpus-winners.md +135 -0
- package/skills/stellar-scf-grants-advisor/reference/11-corpus-rejects.md +267 -0
- package/skills/stellar-scf-grants-advisor/reference/12-client-communication.md +131 -0
- package/skills/stellar-scf-grants-advisor/reference/13-excel-output-spec.md +199 -0
- package/skills/stellar-scf-grants-advisor/reference/14-worked-examples.md +160 -0
- package/skills/stellar-scf-grants-advisor/templates/abstract-review-builder.py +253 -0
- package/skills/stellar-scf-grants-advisor/templates/build-review-builder.py +213 -0
- package/skills/video-direction/video-direction.skill.json +20 -0
- package/skills/video-style-vocabulary/video-style-vocabulary.skill.json +20 -0
- package/skills/video-toolbox/video-toolbox.skill.json +20 -0
- package/src/__fixtures__/lifecycle-presets.flat-before.json +205 -0
- package/src/agency-os.yaml +122 -0
- package/src/agent-os-skill-slugs.test.ts +65 -0
- package/src/apify-social-reader.test.ts +317 -0
- package/src/base.yaml +85 -39
- package/src/blockchain-ecosystem.yaml +1 -0
- package/src/brand-library.yaml +525 -14
- package/src/builder-dev-fold.template.test.ts +113 -0
- package/src/builder.yaml +779 -91
- package/src/business-model-catalog-description.test.ts +47 -0
- package/src/business-model-grp.template.test.ts +214 -0
- package/src/business-model.yaml +296 -49
- package/src/catalog-safety.test.ts +198 -0
- package/src/catalog.template-items.test.ts +75 -0
- package/src/catalog.ts +66 -2
- package/src/concept-guard.test.ts +28 -8
- package/src/concept-guard.ts +2 -2
- package/src/content-creation.template.test.ts +52 -0
- package/src/content-creation.yaml +192 -0
- package/src/content-os.edit-loop.template.test.ts +210 -0
- package/src/content-os.publish-due-posts.template.test.ts +261 -0
- package/src/content-os.template.test.ts +349 -0
- package/src/content-os.video-takes.template.test.ts +338 -0
- package/src/content-os.work-a-take.template.test.ts +125 -0
- package/src/content-os.yaml +1873 -39
- package/src/content-studio-retired.template.test.ts +82 -0
- package/src/corpus-flow-validity.test.ts +4 -5
- package/src/crm-absorbs-outreach.template.test.ts +117 -0
- package/src/crm-build-plan.template.test.ts +128 -0
- package/src/crm-lists.template.test.ts +96 -0
- package/src/crm-messages-cadence.template.test.ts +246 -0
- package/src/crm-one-send-door.template.test.ts +65 -0
- package/src/crm.yaml +1563 -181
- package/src/decisions-wave.template.test.ts +186 -0
- package/src/define.ts +146 -17
- package/src/design-to-implementation.template.test.ts +94 -0
- package/src/domain-template-type.test.ts +75 -0
- package/src/ecosystem.yaml +27 -66
- package/src/enterprise-os.yaml +10 -134
- package/src/facecam-edit.audio-studio.test.ts +188 -0
- package/src/fal-generate-image.test.ts +200 -0
- package/src/fal-media-lab-pod-files.test.ts +180 -0
- package/src/finance.yaml +254 -1
- package/src/foundation.yaml +78 -38
- package/src/frame-host-modules.d.mts +6 -0
- package/src/frame-host-modules.mjs +58 -0
- package/src/generate.mjs +9 -3
- package/src/github-merge.test.ts +210 -0
- package/src/grants.yaml +46 -17
- package/src/hr.yaml +39 -6
- package/src/index.ts +36 -1
- package/src/intent.test.ts +161 -0
- package/src/internal-runbook.yaml +19 -1
- package/src/jev.test.ts +356 -0
- package/src/legal.yaml +33 -1
- package/src/life-os.yaml +51 -240
- package/src/lifecycle-coverage.test.ts +124 -0
- package/src/lifecycle-declarations.test.ts +252 -0
- package/src/lifecycle-presets.test.ts +468 -0
- package/src/lifecycle-presets.ts +494 -0
- package/src/lifecycle-stuck.test.ts +46 -0
- package/src/lifecycle-waits.parity.test.ts +319 -0
- package/src/marketing.yaml +108 -4
- package/src/meetings-knowledge.yaml +18 -0
- package/src/networking.yaml +23 -2
- package/src/operations.yaml +304 -4
- package/src/pipeline-views.template.test.ts +88 -0
- package/src/playbook-goal-placeholders.test.ts +57 -0
- package/src/postiz-contract.test.ts +134 -0
- package/src/presentation-declarations.test.ts +174 -0
- package/src/process-contract.validate.test.ts +352 -0
- package/src/project-management.yaml +39 -740
- package/src/publish-body.d.mts +29 -0
- package/src/publish-body.mjs +74 -0
- package/src/publish-body.test.ts +74 -0
- package/src/publish-official-lib.test.ts +176 -0
- package/src/replicate-rvm.test.ts +504 -0
- package/src/research-base.yaml +119 -20
- package/src/research-decision.yaml +60 -3
- package/src/reserved-profile-slugs.test.ts +81 -0
- package/src/retired-goal-kinds.test.ts +52 -0
- package/src/role-reference-and-step-domain.test.ts +192 -0
- package/src/seed-obligation.test.ts +1 -6
- package/src/send-message-maps.test.ts +227 -0
- package/src/shared-role-ssot.test.ts +40 -2
- package/src/ship-a-change.template.test.ts +177 -0
- package/src/skills.test.ts +170 -0
- package/src/social.yaml +85 -27
- package/src/space-packages.freshness.test.ts +97 -0
- package/src/space-packages.generated.ts +40 -0
- package/src/space-packages.test.ts +125 -0
- package/src/space-packages.ts +73 -0
- package/src/start.test.ts +188 -0
- package/src/stripe-capability.test.ts +192 -0
- package/src/task-intents.test.ts +293 -0
- package/src/template-documents.test.ts +158 -0
- package/src/templates.ts +20907 -21464
- package/src/types.ts +475 -61
- package/src/unipile-linkedin-find-profile.test.ts +183 -0
- package/src/unipile-publish-post.test.ts +162 -0
- package/src/validate-flow.drift.test.ts +2 -3
- package/src/validate-flow.ts +22 -2
- package/src/validate-onboarding.test.ts +59 -0
- package/src/validate.test.ts +71 -4
- package/src/validate.ts +1416 -7
- package/src/wire-core.ts +231 -0
- package/src/wire.test.ts +159 -0
- package/src/wire.ts +107 -0
- package/views/bookmark-views-pack.view.json +39 -0
- package/views/event-views-pack.view.json +45 -0
- package/views/task-views-pack.view.json +53 -0
- package/src/agent-fleet.yaml +0 -1645
- package/src/business-developer.template.test.ts +0 -351
- package/src/business-developer.yaml +0 -860
- package/src/content-studio.yaml +0 -361
- package/src/dev-dashboard.yaml +0 -990
- package/src/outreach-comms.yaml +0 -486
- package/src/the-arch.yaml +0 -201
package/src/business-model.yaml
CHANGED
|
@@ -27,12 +27,25 @@
|
|
|
27
27
|
#
|
|
28
28
|
# The porteur and funder ROLES it needs are declared in foundation.yaml, the
|
|
29
29
|
# shared-role SSOT — see the note there.
|
|
30
|
+
#
|
|
31
|
+
# THIS IS THE CANONICAL GRP (concept consolidation W4a, 2026-09-25). The method
|
|
32
|
+
# ships as a TRACK TEMPLATE — "Business Model (GRP)", `scope: project`, six
|
|
33
|
+
# steps, each naming the DOMAIN (workspace template slug) it is worked in — and
|
|
34
|
+
# the nine seeded questions are the GRP method's own set, one per component of
|
|
35
|
+
# its three pillars: GRP = Génération · Rémunération · Partage (founder decision
|
|
36
|
+
# A, 2026-09-28 — NOT the later "GRP #1 … #9" wedge/ICP/positioning set). They
|
|
37
|
+
# are copied verbatim from the founder's live pod-level rows so an install ADOPTS
|
|
38
|
+
# them (seed dedupe is `${kind}:${title}` in the target workspace OR among the
|
|
39
|
+
# user's pod-wide rows — services/definition-seeds.ts) instead of adding a
|
|
40
|
+
# second set. `convention` and `projection` are pod-wide kinds, so the GRP needs
|
|
41
|
+
# no workspace of its own: its entities are filed to the project by the track,
|
|
42
|
+
# not by where the session happened to run.
|
|
30
43
|
|
|
31
44
|
meta:
|
|
32
45
|
slug: business-model
|
|
33
46
|
domain: strategy
|
|
34
47
|
name: Business Model
|
|
35
|
-
description:
|
|
48
|
+
description: "Business Model (GRP): a track template you run on a project. Six steps turn the model's nine component questions into evidence-backed decisions, conventions and projections."
|
|
36
49
|
icon: layout-grid
|
|
37
50
|
color: "#0EA5E9"
|
|
38
51
|
tags: [strategy, business-model, grp, ibis, viability]
|
|
@@ -69,6 +82,11 @@ profiles:
|
|
|
69
82
|
valueType: string
|
|
70
83
|
inputType: select
|
|
71
84
|
enumValues: [open, exploring, answered, abandoned]
|
|
85
|
+
# `wedge-stage` (the C→A wedge ladder) left the template with the
|
|
86
|
+
# "GRP #" set (founder decision A, 2026-09-28): it is one venture's go-to-
|
|
87
|
+
# market ladder, not part of the Génération / Rémunération / Partage
|
|
88
|
+
# method, and only "GRP #1" ever carried it. The live Foundation overlay
|
|
89
|
+
# is untouched — reconcile is additive.
|
|
72
90
|
- slug: decision
|
|
73
91
|
displayName: Decision
|
|
74
92
|
icon: gavel
|
|
@@ -86,6 +104,12 @@ profiles:
|
|
|
86
104
|
icon: scale
|
|
87
105
|
color: rose
|
|
88
106
|
description: A binding rule the model must satisfy and did not choose — an eligibility threshold, a professional duty, a contractual floor, a platform policy. Distinct from a decision (nobody decided it) and from a finding (it constrains rather than informs).
|
|
107
|
+
# Pod-wide kind (same two axes as foundation's audience/offer): a GRP step
|
|
108
|
+
# worked in another domain (a Finance or Research session) must still be
|
|
109
|
+
# able to resolve and file a convention — it belongs to the project's
|
|
110
|
+
# model, not to the workspace the session ran in.
|
|
111
|
+
scope: shared
|
|
112
|
+
entityScope: pod
|
|
89
113
|
profileKind: kind
|
|
90
114
|
properties:
|
|
91
115
|
- slug: rule
|
|
@@ -102,7 +126,16 @@ profiles:
|
|
|
102
126
|
label: Type
|
|
103
127
|
valueType: string
|
|
104
128
|
inputType: select
|
|
105
|
-
enumValues:
|
|
129
|
+
enumValues:
|
|
130
|
+
[
|
|
131
|
+
regulatory,
|
|
132
|
+
deontological,
|
|
133
|
+
eligibility,
|
|
134
|
+
contractual,
|
|
135
|
+
platform,
|
|
136
|
+
fiscal,
|
|
137
|
+
other,
|
|
138
|
+
]
|
|
106
139
|
- slug: bindingStatus
|
|
107
140
|
label: Binding Status
|
|
108
141
|
valueType: string
|
|
@@ -128,6 +161,10 @@ profiles:
|
|
|
128
161
|
icon: trending-up
|
|
129
162
|
color: violet
|
|
130
163
|
description: A quantified scenario with its assumptions attached. The number is never the artifact — the assumptions are, because that is the only part anyone can argue with.
|
|
164
|
+
# Pod-wide for the same reason as `convention`: the money step runs in
|
|
165
|
+
# Finance, and its projections must land on the project's model.
|
|
166
|
+
scope: shared
|
|
167
|
+
entityScope: pod
|
|
131
168
|
profileKind: kind
|
|
132
169
|
properties:
|
|
133
170
|
- slug: scenario
|
|
@@ -163,6 +200,35 @@ profiles:
|
|
|
163
200
|
inputType: select
|
|
164
201
|
enumValues: [low, medium, high]
|
|
165
202
|
|
|
203
|
+
# ── The GRP interrogation marker (founder decision D4: joins the template) ──
|
|
204
|
+
# A workspace role on `question`: marks a question as one of the nine GRP
|
|
205
|
+
# interrogations and carries its number, its GRP pillar and how good the
|
|
206
|
+
# evidence behind its answer is. Property slugs verbatim from the live
|
|
207
|
+
# Foundation role (snake_case as live). GRP = Génération · Rémunération ·
|
|
208
|
+
# Partage — the live role's "Growth Research Positioning" was an agent's
|
|
209
|
+
# invented expansion and is corrected here. Seeds cannot carry facets, so a
|
|
210
|
+
# fresh install gets the role and the nine questions; the first GRP session
|
|
211
|
+
# attaches it. The seeds carry their pillar in `tags` regardless.
|
|
212
|
+
- slug: grp-interrogation
|
|
213
|
+
displayName: GRP Interrogation
|
|
214
|
+
description: "Marks a Question as one of the nine GRP business-model interrogations (GRP = Génération · Rémunération · Partage). Carries the interrogation number (1-9), its GRP pillar (generation, remuneration or sharing), and the quality of the evidence behind the answer."
|
|
215
|
+
profileKind: role
|
|
216
|
+
applicableKinds: [question]
|
|
217
|
+
properties:
|
|
218
|
+
- slug: interrogation_number
|
|
219
|
+
label: Interrogation number
|
|
220
|
+
valueType: number
|
|
221
|
+
inputType: number
|
|
222
|
+
- slug: grp_domain
|
|
223
|
+
label: GRP pillar
|
|
224
|
+
valueType: string
|
|
225
|
+
inputType: text
|
|
226
|
+
description: "generation (Génération), remuneration (Rémunération) or sharing (Partage) — the same word the question carries in its tags."
|
|
227
|
+
- slug: evidence_quality
|
|
228
|
+
label: Evidence quality
|
|
229
|
+
valueType: string
|
|
230
|
+
inputType: text
|
|
231
|
+
|
|
166
232
|
# Relation TYPE vocabulary. Declared here (not as bare entityLinks) because
|
|
167
233
|
# these two carry description + inverse labels that the entity-link path drops.
|
|
168
234
|
relationDefs:
|
|
@@ -240,7 +306,8 @@ views:
|
|
|
240
306
|
scopeProfileSlug: projection
|
|
241
307
|
description: Scenarios with their assumptions in the open, so a number can be argued with.
|
|
242
308
|
config:
|
|
243
|
-
columns:
|
|
309
|
+
columns:
|
|
310
|
+
[title, scenario, horizon, revenueEstimate, costEstimate, confidence]
|
|
244
311
|
- name: Open Interrogation
|
|
245
312
|
slug: business-model-open-questions
|
|
246
313
|
type: kanban
|
|
@@ -251,101 +318,281 @@ views:
|
|
|
251
318
|
# ── Seeds: the interrogation, not fake data ────────────────────────────────
|
|
252
319
|
# A strategy template that seeds example companies teaches nothing and gets
|
|
253
320
|
# deleted. What is actually reusable is the QUESTION SET — the workspace should
|
|
254
|
-
# arrive with the model's nine interrogations already open, so the first
|
|
321
|
+
# arrive with the model's nine interrogations already open, so the first step
|
|
255
322
|
# has somewhere to start and the kanban is not an empty box.
|
|
323
|
+
#
|
|
324
|
+
# The GRP method's nine questions, three per pillar — Génération (porteur,
|
|
325
|
+
# value proposition, value fabrication), Rémunération (revenue sources, volume
|
|
326
|
+
# and pricing, performance), Partage (stakeholders, conventions, ecosystem).
|
|
327
|
+
# VERBATIM from the founder's live pod-level rows (workspaceId NULL, read
|
|
328
|
+
# 2026-09-28): title, the question text in `properties.title`, `description`,
|
|
329
|
+
# `tags` and `questionStatus`. The PILLAR is the live tag `generation` /
|
|
330
|
+
# `remuneration` / `sharing` — that is how a step (or an agent) finds a pillar's
|
|
331
|
+
# questions; no new field. Only `askedAt` (2026-09-15, the day the founder asked
|
|
332
|
+
# them) is left out: a fixed historical date on a fresh install would be false,
|
|
333
|
+
# and an adopted row keeps its own anyway (adoption never rewrites properties).
|
|
334
|
+
# Do not paraphrase a title — the seed dedupe key is `${kind}:${title}`, so a
|
|
335
|
+
# reworded title seeds a SECOND set beside the live one instead of adopting it
|
|
336
|
+
# (asserted by business-model-grp.template.test.ts, and through the real helper
|
|
337
|
+
# by synap-backend compose-overlay.seeds.pglite.test.ts).
|
|
338
|
+
#
|
|
339
|
+
# Which STEP of the method each question serves is carried by the step itself:
|
|
340
|
+
# its `suggestedTasks` open with the exact titles of its questions (see the
|
|
341
|
+
# playbook below; porteur → Porteur; offer_buyer → Value proposition + Value
|
|
342
|
+
# fabrication; conventions_cost → Stakeholders + Conventions + Ecosystem;
|
|
343
|
+
# money_means → Revenue sources + Volume and pricing; refutation → Performance).
|
|
256
344
|
seedEntities:
|
|
257
345
|
- profileSlug: question
|
|
258
|
-
title:
|
|
346
|
+
title: "Porteur — what does the founder bring that cannot be hired, and what does the venture require of them personally?"
|
|
259
347
|
properties:
|
|
348
|
+
title: "Porteur — what does the founder bring that cannot be hired, and what does the venture require of them personally?"
|
|
349
|
+
description: "Generation / porteur. Tests intuitu personae: credentials, licences, reputation and relationships that are attached to a named person rather than to the company. Answering this exposes load-bearing single points of failure that a capability table hides. Circular: the porteur's standing determines which stakeholders will engage, and the stakeholders engaged determine what standing the porteur must hold."
|
|
350
|
+
tags: [business-model, grp, generation, method-question]
|
|
260
351
|
questionStatus: open
|
|
261
|
-
content: Name the person, then name the specific competence, network, capital, or legitimacy the model cannot survive without. If the answer is generic, the model has no porteur — it has a job posting.
|
|
262
352
|
- profileSlug: question
|
|
263
|
-
title:
|
|
353
|
+
title: "Value proposition — for whom is this indispensable, and what do they stop doing once they have it?"
|
|
264
354
|
properties:
|
|
355
|
+
title: "Value proposition — for whom is this indispensable, and what do they stop doing once they have it?"
|
|
356
|
+
description: "Generation / value proposition. The second half is the real test: a proposition nobody stops anything for is a preference, not a need. Circular: the conventions the venture is bound by constrain what may be promised, and the promise made determines which conventions become binding."
|
|
357
|
+
tags: [business-model, grp, generation, method-question]
|
|
265
358
|
questionStatus: open
|
|
266
|
-
content: Runway, hours available, geography, non-compete, dependants, health. Constraints discovered in month four were knowable in week one.
|
|
267
359
|
- profileSlug: question
|
|
268
|
-
title:
|
|
360
|
+
title: "Value fabrication — what is the chain that actually produces the value, and which link do we own?"
|
|
269
361
|
properties:
|
|
362
|
+
title: "Value fabrication — what is the chain that actually produces the value, and which link do we own?"
|
|
363
|
+
description: "Generation / fabrication de la valeur. Forces the distinction between the activity performed and the value delivered, and names the links owned by others. A venture that owns no link is a broker; a venture that owns every link is usually lying about cost."
|
|
364
|
+
tags: [business-model, grp, generation, method-question]
|
|
270
365
|
questionStatus: open
|
|
271
|
-
content: Not a description of what is built — a statement of the situation a buyer is in before, and after. If the offer can only be described by its features, the buyer has not been found yet.
|
|
272
366
|
- profileSlug: question
|
|
273
|
-
title:
|
|
367
|
+
title: "Revenue sources — who pays, for which unit, and why that unit rather than another?"
|
|
274
368
|
properties:
|
|
369
|
+
title: "Revenue sources — who pays, for which unit, and why that unit rather than another?"
|
|
370
|
+
description: "Remuneration / sources de revenus. The payer is frequently not the beneficiary, and the billing unit encodes a theory of value that is rarely stated. Circular: the segment chosen determines which revenue source is available, and the revenue source chosen re-selects the viable segment."
|
|
371
|
+
tags: [business-model, grp, remuneration, method-question]
|
|
275
372
|
questionStatus: open
|
|
276
|
-
content: Link to `audience` entities. Payer, user, and beneficiary are frequently three different parties, and a model that conflates them forecasts revenue from people who never pay.
|
|
277
373
|
- profileSlug: question
|
|
278
|
-
title:
|
|
374
|
+
title: "Volume and pricing — what volume at what price clears the cost base, and is that volume reachable in this market?"
|
|
279
375
|
properties:
|
|
376
|
+
title: "Volume and pricing — what volume at what price clears the cost base, and is that volume reachable in this market?"
|
|
377
|
+
description: "Remuneration / volume et prix. Separates the arithmetic question from the market question; a model can be internally coherent and still require a volume the addressable market cannot supply."
|
|
378
|
+
tags: [business-model, grp, remuneration, method-question]
|
|
280
379
|
questionStatus: open
|
|
281
|
-
content: Eligibility thresholds, professional duties, platform policies, fiscal regimes. Every convention starts `assumed`; the work is reading the source text and moving it to `verified`. An eligibility collision — where the segment with the most pull sits outside the scheme that would fund it — only becomes visible once the numbers are pulled.
|
|
282
380
|
- profileSlug: question
|
|
283
|
-
title:
|
|
381
|
+
title: "Performance — which number tells us the model works, and what observation would falsify it?"
|
|
284
382
|
properties:
|
|
383
|
+
title: "Performance — which number tells us the model works, and what observation would falsify it?"
|
|
384
|
+
description: "Remuneration / performance. Requires a stopping rule stated before the evidence arrives, while it can still be set honestly. Circular: price assumptions drive the performance target, and observed performance revises the pricing thesis."
|
|
385
|
+
tags: [business-model, grp, remuneration, method-question, falsifiable]
|
|
285
386
|
questionStatus: open
|
|
286
|
-
content: Time, tooling, subcontracting, the unbilled parts. Link the answer to a `projection` so the assumptions stay attached to the number.
|
|
287
387
|
- profileSlug: question
|
|
288
|
-
title:
|
|
388
|
+
title: "Stakeholders — who must say yes for this to exist, and what does each of them need in return?"
|
|
289
389
|
properties:
|
|
390
|
+
title: "Stakeholders — who must say yes for this to exist, and what does each of them need in return?"
|
|
391
|
+
description: "Sharing / parties prenantes. Covers actors with veto power who are not customers: regulators, orders and professional bodies, funders, referencing schemes, platform gatekeepers. Their consent is a precondition, not a sales outcome."
|
|
392
|
+
tags: [business-model, grp, sharing, method-question]
|
|
290
393
|
questionStatus: open
|
|
291
|
-
content: Attach `funder` roles to the companies or schemes involved, with their eligibility conditions. Subsidy is a credential and a discount; it is rarely a pipeline.
|
|
292
394
|
- profileSlug: question
|
|
293
|
-
title:
|
|
395
|
+
title: "Conventions — which rules bind us, who enforces them, and which are mandatory rather than advisory?"
|
|
294
396
|
properties:
|
|
397
|
+
title: "Conventions — which rules bind us, who enforces them, and which are mandatory rather than advisory?"
|
|
398
|
+
description: "Sharing / conventions. Deontological codes, eligibility thresholds, neutrality requirements and conflict-of-interest rules that constrain the model from outside. The binding-versus-advisory distinction decides whether a convention is a design constraint or a preference, and enforcement determines the cost of breach."
|
|
399
|
+
tags: [business-model, grp, sharing, method-question, conventions]
|
|
295
400
|
questionStatus: open
|
|
296
|
-
content: The means rest on the money and the money rests on the offer. That circularity is the model, not a planning error; record it with `rests_on` and stop trying to linearise it.
|
|
297
401
|
- profileSlug: question
|
|
298
|
-
title:
|
|
402
|
+
title: "Ecosystem — what does the venture give back, and what breaks if we extract without returning?"
|
|
299
403
|
properties:
|
|
404
|
+
title: "Ecosystem — what does the venture give back, and what breaks if we extract without returning?"
|
|
405
|
+
description: "Sharing / partage et ecosysteme. The reciprocity test that distinguishes a durable position from extraction. Answering it usually surfaces the convention or stakeholder relationship that fails first under pressure."
|
|
406
|
+
tags: [business-model, grp, sharing, method-question]
|
|
300
407
|
questionStatus: open
|
|
301
|
-
content: Set the falsifiable test now, while it can still be set honestly. A model with no refuting observation is a belief with a spreadsheet attached.
|
|
302
408
|
|
|
303
|
-
# The
|
|
304
|
-
#
|
|
409
|
+
# The method's dependency order, declared: a downstream pillar RESTS ON the
|
|
410
|
+
# upstream one — Rémunération rests on Génération (you are paid for value you
|
|
411
|
+
# generate), Partage rests on Rémunération and Génération (you share what you
|
|
412
|
+
# capture, with those the porteur can engage). Plus exactly the three cycles the
|
|
413
|
+
# questions' own descriptions name ("Circular: …"): value proposition ⇄
|
|
414
|
+
# conventions, porteur ⇄ stakeholders, volume and pricing ⇄ performance. Cycles
|
|
415
|
+
# are legal for `rests_on` — that is why this pack does not use `depends_on`.
|
|
305
416
|
suggestedRelations:
|
|
306
|
-
|
|
307
|
-
|
|
417
|
+
# Génération (internal): the chain produces what the proposition promises.
|
|
418
|
+
- sourceRef: "Value fabrication — what is the chain that actually produces the value, and which link do we own?"
|
|
419
|
+
targetRef: "Value proposition — for whom is this indispensable, and what do they stop doing once they have it?"
|
|
420
|
+
type: rests_on
|
|
421
|
+
# Rémunération rests on Génération.
|
|
422
|
+
- sourceRef: "Revenue sources — who pays, for which unit, and why that unit rather than another?"
|
|
423
|
+
targetRef: "Value proposition — for whom is this indispensable, and what do they stop doing once they have it?"
|
|
424
|
+
type: rests_on
|
|
425
|
+
- sourceRef: "Volume and pricing — what volume at what price clears the cost base, and is that volume reachable in this market?"
|
|
426
|
+
targetRef: "Value fabrication — what is the chain that actually produces the value, and which link do we own?"
|
|
427
|
+
type: rests_on
|
|
428
|
+
- sourceRef: "Volume and pricing — what volume at what price clears the cost base, and is that volume reachable in this market?"
|
|
429
|
+
targetRef: "Revenue sources — who pays, for which unit, and why that unit rather than another?"
|
|
430
|
+
type: rests_on
|
|
431
|
+
- sourceRef: "Performance — which number tells us the model works, and what observation would falsify it?"
|
|
432
|
+
targetRef: "Volume and pricing — what volume at what price clears the cost base, and is that volume reachable in this market?"
|
|
308
433
|
type: rests_on
|
|
309
|
-
|
|
310
|
-
|
|
434
|
+
# Partage rests on Génération / Rémunération.
|
|
435
|
+
- sourceRef: "Stakeholders — who must say yes for this to exist, and what does each of them need in return?"
|
|
436
|
+
targetRef: "Porteur — what does the founder bring that cannot be hired, and what does the venture require of them personally?"
|
|
311
437
|
type: rests_on
|
|
312
|
-
- sourceRef:
|
|
313
|
-
targetRef:
|
|
438
|
+
- sourceRef: "Stakeholders — who must say yes for this to exist, and what does each of them need in return?"
|
|
439
|
+
targetRef: "Revenue sources — who pays, for which unit, and why that unit rather than another?"
|
|
314
440
|
type: rests_on
|
|
315
|
-
- sourceRef:
|
|
316
|
-
targetRef:
|
|
441
|
+
- sourceRef: "Conventions — which rules bind us, who enforces them, and which are mandatory rather than advisory?"
|
|
442
|
+
targetRef: "Value proposition — for whom is this indispensable, and what do they stop doing once they have it?"
|
|
317
443
|
type: rests_on
|
|
318
|
-
- sourceRef:
|
|
319
|
-
targetRef:
|
|
444
|
+
- sourceRef: "Ecosystem — what does the venture give back, and what breaks if we extract without returning?"
|
|
445
|
+
targetRef: "Stakeholders — who must say yes for this to exist, and what does each of them need in return?"
|
|
320
446
|
type: rests_on
|
|
321
|
-
|
|
322
|
-
|
|
447
|
+
# The three named cycles (the back edges).
|
|
448
|
+
- sourceRef: "Value proposition — for whom is this indispensable, and what do they stop doing once they have it?"
|
|
449
|
+
targetRef: "Conventions — which rules bind us, who enforces them, and which are mandatory rather than advisory?"
|
|
323
450
|
type: rests_on
|
|
324
|
-
- sourceRef:
|
|
325
|
-
targetRef:
|
|
451
|
+
- sourceRef: "Porteur — what does the founder bring that cannot be hired, and what does the venture require of them personally?"
|
|
452
|
+
targetRef: "Stakeholders — who must say yes for this to exist, and what does each of them need in return?"
|
|
326
453
|
type: rests_on
|
|
327
|
-
- sourceRef:
|
|
328
|
-
targetRef:
|
|
454
|
+
- sourceRef: "Volume and pricing — what volume at what price clears the cost base, and is that volume reachable in this market?"
|
|
455
|
+
targetRef: "Performance — which number tells us the model works, and what observation would falsify it?"
|
|
329
456
|
type: rests_on
|
|
330
457
|
|
|
458
|
+
# ── The method: a TRACK TEMPLATE (scope project) ───────────────────────────
|
|
459
|
+
# The six steps of the founder's approved live method (73848ca9 on the pod),
|
|
460
|
+
# verbatim: goals, suggestedTasks, categories, and the open-ended `maintain`
|
|
461
|
+
# step. Two additions. (1) Each step's suggestedTasks OPEN with the exact titles
|
|
462
|
+
# of the seeded GRP questions it answers (the step → question map; a stage
|
|
463
|
+
# session is offered its goal + suggestedTasks, so the step names its questions
|
|
464
|
+
# by the same title the seed dedupe keys on). (2) `domain` per step — the workspace TEMPLATE slug the
|
|
465
|
+
# step is worked in (startStageSession resolves it to the project's installed
|
|
466
|
+
# workspace, and falls back to the project home when it is missing). ONE domain
|
|
467
|
+
# per step, the primary one:
|
|
468
|
+
# porteur → foundation the porteur role + non-goals/constraints are Foundation's.
|
|
469
|
+
# offer_buyer → foundation offer/audience/pain-point live there; buyer
|
|
470
|
+
# companies get the pod-wide `lead` role, which
|
|
471
|
+
# attaches from any workspace (W2b), so CRM is
|
|
472
|
+
# not needed to run this step.
|
|
473
|
+
# conventions_cost → foundation the Conventions + Projections views this pack
|
|
474
|
+
# installs live in Foundation; both kinds are
|
|
475
|
+
# pod-wide, so the unit-cost projection still
|
|
476
|
+
# shows in Finance.
|
|
477
|
+
# money_means → finance money before revenue = revenue-stream/budget/
|
|
478
|
+
# expense, Finance's kinds.
|
|
479
|
+
# refutation → research-base a falsifiable test is a hypothesis with a
|
|
480
|
+
# date; hypothesis/finding live in Research.
|
|
481
|
+
# maintain → foundation the Deprecation Check starts from a changed
|
|
482
|
+
# Foundation element.
|
|
483
|
+
# The session-scoped "Business Model Interrogation" this replaces is gone; the
|
|
484
|
+
# live-only copy on the founder's pod (f93b155b) is retired by a governed archive.
|
|
331
485
|
playbooks:
|
|
332
|
-
- name: Business Model
|
|
333
|
-
description:
|
|
334
|
-
goalTemplate: "Interrogate the business model
|
|
486
|
+
- name: Business Model (GRP)
|
|
487
|
+
description: The business-model method, run as a TRACK on a project (project-scoped). Walks the nine component questions as stages, resolves each into a decision backed by evidence, and records the conventions and projections the model rests on, including the cycles. Stages can be re-entered — the model is maintained, not finished.
|
|
488
|
+
goalTemplate: "Interrogate the business model of this project and record what it rests on: resolve each component question into a decision with evidence, keep conventions 'assumed' until their source is read, give every number a projection with its assumptions, and wire the graph with rests_on (cycles included)."
|
|
335
489
|
icon: layout-grid
|
|
490
|
+
scope: project
|
|
491
|
+
stages:
|
|
492
|
+
- key: porteur
|
|
493
|
+
name: Porteur & constraints
|
|
494
|
+
category: started
|
|
495
|
+
domain: foundation
|
|
496
|
+
goal: Name who the model rests on and what their situation forbids.
|
|
497
|
+
suggestedTasks:
|
|
498
|
+
- "Porteur — what does the founder bring that cannot be hired, and what does the venture require of them personally?"
|
|
499
|
+
- Who is the porteur, and what does the model rest on them for?
|
|
500
|
+
- What does the porteur's situation forbid?
|
|
501
|
+
- key: offer_buyer
|
|
502
|
+
name: Offer & buyer
|
|
503
|
+
category: started
|
|
504
|
+
domain: foundation
|
|
505
|
+
goal: State the offer as the problem it ends, and separate payer, user and beneficiary.
|
|
506
|
+
suggestedTasks:
|
|
507
|
+
- "Value proposition — for whom is this indispensable, and what do they stop doing once they have it?"
|
|
508
|
+
- "Value fabrication — what is the chain that actually produces the value, and which link do we own?"
|
|
509
|
+
- What is the offer, stated as the problem it ends?
|
|
510
|
+
- Who exactly buys it, and who merely benefits from it?
|
|
511
|
+
- key: conventions_cost
|
|
512
|
+
name: Conventions & unit cost
|
|
513
|
+
category: started
|
|
514
|
+
domain: foundation
|
|
515
|
+
goal: Read the rules that bind the model and cost one unit of delivery.
|
|
516
|
+
suggestedTasks:
|
|
517
|
+
- "Stakeholders — who must say yes for this to exist, and what does each of them need in return?"
|
|
518
|
+
- "Conventions — which rules bind us, who enforces them, and which are mandatory rather than advisory?"
|
|
519
|
+
- "Ecosystem — what does the venture give back, and what breaks if we extract without returning?"
|
|
520
|
+
- Which conventions bind this model, and which are still assumed?
|
|
521
|
+
- What does one unit of delivery actually cost to produce?
|
|
522
|
+
- key: money_means
|
|
523
|
+
name: Money & means
|
|
524
|
+
category: started
|
|
525
|
+
domain: finance
|
|
526
|
+
goal: Find the money before revenue and the means that must exist first; record the circularity.
|
|
527
|
+
suggestedTasks:
|
|
528
|
+
- "Revenue sources — who pays, for which unit, and why that unit rather than another?"
|
|
529
|
+
- "Volume and pricing — what volume at what price clears the cost base, and is that volume reachable in this market?"
|
|
530
|
+
- Where does the money come from before revenue does?
|
|
531
|
+
- What means — people, tools, licences, premises — must exist first?
|
|
532
|
+
- key: refutation
|
|
533
|
+
name: Refutation test
|
|
534
|
+
category: started
|
|
535
|
+
domain: research-base
|
|
536
|
+
goal: Set the falsifiable observation and its date while it can still be set honestly.
|
|
537
|
+
suggestedTasks:
|
|
538
|
+
- "Performance — which number tells us the model works, and what observation would falsify it?"
|
|
539
|
+
- What observation would refute this model, and by when?
|
|
540
|
+
- List conventions still 'assumed' and projections with low confidence.
|
|
541
|
+
- key: maintain
|
|
542
|
+
name: Keep the model current
|
|
543
|
+
category: started
|
|
544
|
+
domain: foundation
|
|
545
|
+
indefinite: true
|
|
546
|
+
goal: When a foundation element changes, find what rests on it and re-check it (GRP Deprecation Check).
|
|
547
|
+
suggestedTasks:
|
|
548
|
+
- Run 'GRP Deprecation Check' when positioning, offer, value or a non-goal changes.
|
|
336
549
|
|
|
550
|
+
# The `maintain` step's work template (founder decision D4: joins the
|
|
551
|
+
# template). A SESSION template, verbatim from the live Foundation playbook.
|
|
552
|
+
- name: GRP Deprecation Check
|
|
553
|
+
description: Cross-workspace GRP deprecation check. When a Foundation element (positioning, differentiator, value, non-goal) is updated, this playbook finds linked entities in Radar, Brand, CRM, Content, Operations and creates tasks for owners. Non-Architech-specific — reusable for any venture using the GRP framework.
|
|
554
|
+
goalTemplate: "Check if {updated_part} deprecates linked GRP parts: detect cross-workspace dependencies, notify owners, plan updates, verify resolution"
|
|
555
|
+
# `{name}` is what a run substitutes; `{{name}}` never was (see
|
|
556
|
+
# playbook-goal-placeholders.test.ts). Declared so the run asks for it.
|
|
557
|
+
params:
|
|
558
|
+
- name: updated_part
|
|
559
|
+
type: text
|
|
560
|
+
label: Foundation element that changed
|
|
561
|
+
required: true
|
|
562
|
+
icon: refresh-cw
|
|
563
|
+
stages:
|
|
564
|
+
- key: detect_impact
|
|
565
|
+
name: Detect Impact
|
|
566
|
+
category: started
|
|
567
|
+
- key: notify_owners
|
|
568
|
+
name: Notify Owners
|
|
569
|
+
category: started
|
|
570
|
+
- key: plan_update
|
|
571
|
+
name: Plan Update
|
|
572
|
+
category: started
|
|
573
|
+
- key: verify
|
|
574
|
+
name: Verify Resolution
|
|
575
|
+
category: started
|
|
576
|
+
|
|
577
|
+
# Founder decision D3: no shortcut on `question` (a question is answered inside
|
|
578
|
+
# a step of the method, not by launching the method from it). The convention
|
|
579
|
+
# shortcut points at the method.
|
|
337
580
|
actionPlacements:
|
|
338
|
-
- profileSlug: question
|
|
339
|
-
surface: entity-detail
|
|
340
|
-
kind: playbook
|
|
341
|
-
ref: Business Model Interrogation
|
|
342
|
-
label: Interrogate as model component
|
|
343
581
|
- profileSlug: convention
|
|
344
582
|
surface: entity-detail
|
|
345
583
|
kind: playbook
|
|
346
|
-
ref: Business Model
|
|
584
|
+
ref: Business Model (GRP)
|
|
347
585
|
label: Re-check what rests on this
|
|
348
586
|
|
|
349
587
|
integrations:
|
|
350
588
|
- templateKey: research-methods
|
|
351
589
|
- templateKey: exa
|
|
590
|
+
|
|
591
|
+
# ── taskIntents — WHAT THIS WORKSPACE NEEDS TO FUNCTION ───────────────────
|
|
592
|
+
# Closed vocabulary: `@synap-core/types/capability-intents` (pod migrations
|
|
593
|
+
# 0283/0284). DERIVED from the declared intents of this template's own
|
|
594
|
+
# `integrations` capability packs — not hand-guessed. Checked at authoring
|
|
595
|
+
# time by `validateTemplate` (`task-intent-unknown`) and by
|
|
596
|
+
# `src/task-intents.test.ts`.
|
|
597
|
+
taskIntents:
|
|
598
|
+
- search_external
|