@synap-core/workspace-templates 0.4.0 → 0.6.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/dist/index.d.ts +493 -19
- package/dist/index.js +23899 -20
- package/dist/index.js.map +1 -0
- package/package.json +6 -5
- package/src/agent-fleet.yaml +2 -2
- package/src/blockchain-ecosystem.yaml +372 -0
- package/src/brand-library.yaml +1 -1
- package/src/communication.yaml +662 -0
- package/src/content-studio.yaml +268 -0
- package/src/crm.yaml +101 -2185
- package/src/define.ts +25 -2
- package/src/dev-dashboard.yaml +3 -0
- package/src/ecosystem.yaml +478 -0
- package/src/finance.yaml +1 -1
- package/src/foundation.yaml +227 -1
- package/src/grants.yaml +1096 -0
- package/src/hr.yaml +7 -1
- package/src/index.ts +6 -5
- package/src/internal-runbook.yaml +499 -0
- package/src/legal.yaml +7 -7
- package/src/life-os.yaml +2 -2
- package/src/marketing.yaml +36 -9
- package/src/operations.yaml +146 -420
- package/src/social.yaml +246 -0
- package/src/templates.ts +8904 -9370
- package/src/types.ts +55 -0
- package/dist/define.d.ts +0 -97
- package/dist/define.d.ts.map +0 -1
- package/dist/define.js +0 -91
- package/dist/index.d.ts.map +0 -1
- package/dist/templates.d.ts +0 -7
- package/dist/templates.d.ts.map +0 -1
- package/dist/templates.js +0 -24235
- package/dist/types.d.ts +0 -350
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -8
- package/src/content-os.yaml +0 -1064
- package/src/radar.yaml +0 -297
package/src/grants.yaml
ADDED
|
@@ -0,0 +1,1096 @@
|
|
|
1
|
+
# Blockchain Grants workspace template
|
|
2
|
+
# AI-generation-friendly YAML. Validated against types.ts at build time.
|
|
3
|
+
# Folded in from The Arch's orphaned `arch_*` grants schema, generalized to be
|
|
4
|
+
# blockchain-agnostic (Stellar/Soroban is one instance, not the model).
|
|
5
|
+
#
|
|
6
|
+
# Kinds: grant_submission (pipeline card + analysis unit), round (funding cycle +
|
|
7
|
+
# deadline source), project (product/initiative), analysis (SCF-style scoring),
|
|
8
|
+
# signal (recurring pattern). Role facets on company/person: client, partner,
|
|
9
|
+
# sponsor. `arch_team` dropped (system company/person via submitted_by),
|
|
10
|
+
# `arch_config` dropped (tokens→vault, crmWorkspaceId→workspace sources),
|
|
11
|
+
# `arch_category` demoted to a `categories` tag on grant_submission.
|
|
12
|
+
|
|
13
|
+
meta:
|
|
14
|
+
slug: grants
|
|
15
|
+
name: Grants Pipeline
|
|
16
|
+
description: "Grant-agency operations — submissions, rounds, analyses. Overlays the Operations workspace."
|
|
17
|
+
icon: award
|
|
18
|
+
color: "#6366F1"
|
|
19
|
+
tags:
|
|
20
|
+
- grants
|
|
21
|
+
- blockchain
|
|
22
|
+
- pipeline
|
|
23
|
+
- funding
|
|
24
|
+
isPublic: false
|
|
25
|
+
|
|
26
|
+
# OVERLAY on Operations — composes additively, no separate workspace is created.
|
|
27
|
+
# subtype MATCHES the operations base (no-op on the additive reconcile); visibility
|
|
28
|
+
# and capabilities are OMITTED so the base Operations workspace keeps its own.
|
|
29
|
+
dependencies:
|
|
30
|
+
- slug: operations
|
|
31
|
+
kind: workspace
|
|
32
|
+
relation: compose
|
|
33
|
+
reason: "Adds grant-agency operations onto your Operations workspace."
|
|
34
|
+
# SSOT ordering guarantee — this template REFERENCES foundation's pod-wide
|
|
35
|
+
# shared roles (client, partner, sponsor). The apply engine seeds a shared
|
|
36
|
+
# profile's pod-wide BASE property body from whichever template creates it
|
|
37
|
+
# FIRST, and adds a REUSING template's extra props as workspace OVERLAYS.
|
|
38
|
+
# Requiring foundation makes the resolver install it first (deps-first), so
|
|
39
|
+
# the base is always foundation's SSOT body and never this template's.
|
|
40
|
+
# `require`, not `compose`: foundation is a real workspace, not an overlay.
|
|
41
|
+
- slug: foundation
|
|
42
|
+
kind: workspace
|
|
43
|
+
relation: require
|
|
44
|
+
reason: "Provides the pod-wide client / partner / sponsor role vocabulary this workspace reuses."
|
|
45
|
+
|
|
46
|
+
workspace:
|
|
47
|
+
name: Grants Pipeline
|
|
48
|
+
description: Blockchain grants intelligence — pipeline, funding rounds, projects, and AI analyses
|
|
49
|
+
proposalId: grants-v1
|
|
50
|
+
subtype: operations
|
|
51
|
+
profiles:
|
|
52
|
+
# ── Grant Submission (pipeline card + analysis unit) ──────────────────────
|
|
53
|
+
- slug: grant_submission
|
|
54
|
+
displayName: Submission
|
|
55
|
+
icon: file-text
|
|
56
|
+
color: blue
|
|
57
|
+
description: A single grant application — one project, one round, one outcome. The pipeline card and analysis unit.
|
|
58
|
+
scope: WORKSPACE
|
|
59
|
+
properties:
|
|
60
|
+
# Pipeline + workflow state
|
|
61
|
+
- slug: stage
|
|
62
|
+
label: Stage
|
|
63
|
+
valueType: string
|
|
64
|
+
inputType: select
|
|
65
|
+
enumValues:
|
|
66
|
+
- scope
|
|
67
|
+
- abstract
|
|
68
|
+
- build
|
|
69
|
+
- awaiting-results
|
|
70
|
+
- slug: status
|
|
71
|
+
label: Status
|
|
72
|
+
valueType: string
|
|
73
|
+
inputType: select
|
|
74
|
+
enumValues:
|
|
75
|
+
- answered
|
|
76
|
+
- waiting-client
|
|
77
|
+
- needs-document
|
|
78
|
+
- in-review
|
|
79
|
+
- blocked
|
|
80
|
+
- slug: outcome
|
|
81
|
+
label: Outcome
|
|
82
|
+
valueType: string
|
|
83
|
+
inputType: select
|
|
84
|
+
enumValues:
|
|
85
|
+
- pending
|
|
86
|
+
- awarded
|
|
87
|
+
- rejected
|
|
88
|
+
- partial
|
|
89
|
+
# Body content (read by AI prompts)
|
|
90
|
+
- slug: summary
|
|
91
|
+
label: Abstract
|
|
92
|
+
valueType: string
|
|
93
|
+
inputType: textarea
|
|
94
|
+
placeholder: One-sentence description
|
|
95
|
+
- slug: description
|
|
96
|
+
label: Full Description
|
|
97
|
+
valueType: string
|
|
98
|
+
inputType: textarea
|
|
99
|
+
placeholder: Products & Services + Success Criteria + GTM + Traction
|
|
100
|
+
- slug: milestonesSummary
|
|
101
|
+
label: Milestones (combined)
|
|
102
|
+
valueType: string
|
|
103
|
+
inputType: textarea
|
|
104
|
+
- slug: oneSentenceDescription
|
|
105
|
+
label: One-Sentence Description
|
|
106
|
+
valueType: string
|
|
107
|
+
inputType: text
|
|
108
|
+
- slug: productsAndServices
|
|
109
|
+
label: Products & Services
|
|
110
|
+
valueType: string
|
|
111
|
+
inputType: textarea
|
|
112
|
+
- slug: successCriteria
|
|
113
|
+
label: Success Criteria
|
|
114
|
+
valueType: string
|
|
115
|
+
inputType: textarea
|
|
116
|
+
- slug: goToMarketPlan
|
|
117
|
+
label: Go-To-Market Plan
|
|
118
|
+
valueType: string
|
|
119
|
+
inputType: textarea
|
|
120
|
+
- slug: tractionEvidence
|
|
121
|
+
label: Traction Evidence
|
|
122
|
+
valueType: string
|
|
123
|
+
inputType: textarea
|
|
124
|
+
# Delivery / tranche state
|
|
125
|
+
- slug: trancheCompletion
|
|
126
|
+
label: Tranche Completion
|
|
127
|
+
valueType: string
|
|
128
|
+
inputType: text
|
|
129
|
+
placeholder: Pre-Launch | Mainnet
|
|
130
|
+
- slug: trancheCompletionPct
|
|
131
|
+
label: Tranche Completion %
|
|
132
|
+
valueType: number
|
|
133
|
+
inputType: number
|
|
134
|
+
- slug: awardType
|
|
135
|
+
label: Award Type
|
|
136
|
+
valueType: string
|
|
137
|
+
inputType: text
|
|
138
|
+
placeholder: Kickstart / Build
|
|
139
|
+
- slug: awardCompletionDurationWeeks
|
|
140
|
+
label: Completion Duration (weeks)
|
|
141
|
+
valueType: number
|
|
142
|
+
inputType: number
|
|
143
|
+
- slug: tranche1Deliverables
|
|
144
|
+
label: Tranche 1 — Deliverables
|
|
145
|
+
valueType: string
|
|
146
|
+
inputType: textarea
|
|
147
|
+
- slug: tranche2Testnet
|
|
148
|
+
label: Tranche 2 — Testnet
|
|
149
|
+
valueType: string
|
|
150
|
+
inputType: textarea
|
|
151
|
+
- slug: tranche3Mainnet
|
|
152
|
+
label: Tranche 3 — Mainnet
|
|
153
|
+
valueType: string
|
|
154
|
+
inputType: textarea
|
|
155
|
+
# Money
|
|
156
|
+
- slug: requestedAmount
|
|
157
|
+
label: Requested ($)
|
|
158
|
+
valueType: number
|
|
159
|
+
inputType: number
|
|
160
|
+
- slug: awardedAmount
|
|
161
|
+
label: Awarded ($)
|
|
162
|
+
valueType: number
|
|
163
|
+
inputType: number
|
|
164
|
+
- slug: totalPaidUsd
|
|
165
|
+
label: Total Paid (USD)
|
|
166
|
+
valueType: number
|
|
167
|
+
inputType: number
|
|
168
|
+
- slug: totalPaidXlm
|
|
169
|
+
label: Total Paid (native token)
|
|
170
|
+
valueType: number
|
|
171
|
+
inputType: number
|
|
172
|
+
- slug: currency
|
|
173
|
+
label: Currency
|
|
174
|
+
valueType: string
|
|
175
|
+
inputType: text
|
|
176
|
+
placeholder: USD
|
|
177
|
+
# Chain — blockchain-general; Stellar/Soroban is one instance (optional)
|
|
178
|
+
- slug: blockchain
|
|
179
|
+
label: Blockchain
|
|
180
|
+
valueType: string
|
|
181
|
+
inputType: text
|
|
182
|
+
placeholder: Stellar / Ethereum / Solana ...
|
|
183
|
+
- slug: techStack
|
|
184
|
+
label: Tech Stack
|
|
185
|
+
valueType: string
|
|
186
|
+
inputType: textarea
|
|
187
|
+
- slug: usesSoroban
|
|
188
|
+
label: Uses Soroban? (Stellar-specific)
|
|
189
|
+
valueType: boolean
|
|
190
|
+
inputType: checkbox
|
|
191
|
+
- slug: sorobanUsage
|
|
192
|
+
label: Soroban Usage (Stellar-specific)
|
|
193
|
+
valueType: string
|
|
194
|
+
inputType: textarea
|
|
195
|
+
- slug: whyStellar
|
|
196
|
+
label: Why This Chain (Stellar-specific)
|
|
197
|
+
valueType: string
|
|
198
|
+
inputType: textarea
|
|
199
|
+
# Team
|
|
200
|
+
- slug: teamMembers
|
|
201
|
+
label: Team Members
|
|
202
|
+
valueType: string
|
|
203
|
+
inputType: textarea
|
|
204
|
+
- slug: teamStatement
|
|
205
|
+
label: Team Statement
|
|
206
|
+
valueType: string
|
|
207
|
+
inputType: textarea
|
|
208
|
+
# Categories — a simple tag array (arch_category demoted to a tag)
|
|
209
|
+
- slug: categories
|
|
210
|
+
label: Categories
|
|
211
|
+
valueType: array
|
|
212
|
+
# Links
|
|
213
|
+
- slug: websiteUrl
|
|
214
|
+
label: Website
|
|
215
|
+
valueType: string
|
|
216
|
+
inputType: url
|
|
217
|
+
- slug: codeUrl
|
|
218
|
+
label: Code
|
|
219
|
+
valueType: string
|
|
220
|
+
inputType: url
|
|
221
|
+
- slug: videoUrl
|
|
222
|
+
label: Video
|
|
223
|
+
valueType: string
|
|
224
|
+
inputType: url
|
|
225
|
+
- slug: technicalArchitectureUrl
|
|
226
|
+
label: Technical Architecture URL
|
|
227
|
+
valueType: string
|
|
228
|
+
inputType: url
|
|
229
|
+
- slug: sourceSubmissionUrl
|
|
230
|
+
label: Source Submission URL
|
|
231
|
+
valueType: string
|
|
232
|
+
inputType: url
|
|
233
|
+
- slug: links
|
|
234
|
+
label: Links (JSON)
|
|
235
|
+
valueType: json
|
|
236
|
+
inputType: json
|
|
237
|
+
- slug: sourceRecordId
|
|
238
|
+
label: Source Record ID
|
|
239
|
+
valueType: string
|
|
240
|
+
inputType: text
|
|
241
|
+
# Foreign keys (kept alongside entityLinks, mirroring crm deal FKs)
|
|
242
|
+
- slug: projectId
|
|
243
|
+
label: Project
|
|
244
|
+
valueType: entity_id
|
|
245
|
+
inputType: text
|
|
246
|
+
targetProfileSlug: grant-project
|
|
247
|
+
- slug: roundId
|
|
248
|
+
label: Round
|
|
249
|
+
valueType: entity_id
|
|
250
|
+
inputType: text
|
|
251
|
+
targetProfileSlug: round
|
|
252
|
+
# ── Round (funding cycle + deadline source) ───────────────────────────────
|
|
253
|
+
- slug: round
|
|
254
|
+
displayName: Grant Round
|
|
255
|
+
icon: calendar-clock
|
|
256
|
+
color: indigo
|
|
257
|
+
description: A single round of a grants program (e.g. SCF #42) — the funding-cycle and deadline source.
|
|
258
|
+
scope: WORKSPACE
|
|
259
|
+
properties:
|
|
260
|
+
- slug: roundNumber
|
|
261
|
+
label: Round Number
|
|
262
|
+
valueType: number
|
|
263
|
+
inputType: number
|
|
264
|
+
- slug: year
|
|
265
|
+
label: Year
|
|
266
|
+
valueType: number
|
|
267
|
+
inputType: number
|
|
268
|
+
- slug: quarterYear
|
|
269
|
+
label: Quarter, Year
|
|
270
|
+
valueType: string
|
|
271
|
+
inputType: text
|
|
272
|
+
placeholder: Q2 '19
|
|
273
|
+
- slug: phase
|
|
274
|
+
label: Phase
|
|
275
|
+
valueType: string
|
|
276
|
+
inputType: text
|
|
277
|
+
- slug: scfVersion
|
|
278
|
+
label: Program Version
|
|
279
|
+
valueType: string
|
|
280
|
+
inputType: text
|
|
281
|
+
placeholder: SCF 3.0
|
|
282
|
+
- slug: roundType
|
|
283
|
+
label: Round Type
|
|
284
|
+
valueType: string
|
|
285
|
+
inputType: text
|
|
286
|
+
placeholder: Build Award Round
|
|
287
|
+
- slug: status
|
|
288
|
+
label: Status
|
|
289
|
+
valueType: string
|
|
290
|
+
inputType: select
|
|
291
|
+
enumValues:
|
|
292
|
+
- upcoming
|
|
293
|
+
- open
|
|
294
|
+
- review
|
|
295
|
+
- closed
|
|
296
|
+
- slug: description
|
|
297
|
+
label: Description
|
|
298
|
+
valueType: string
|
|
299
|
+
inputType: textarea
|
|
300
|
+
- slug: submissionDeadline
|
|
301
|
+
label: Submission Deadline
|
|
302
|
+
valueType: date
|
|
303
|
+
inputType: date
|
|
304
|
+
- slug: notificationDate
|
|
305
|
+
label: Notification Date
|
|
306
|
+
valueType: date
|
|
307
|
+
inputType: date
|
|
308
|
+
- slug: totalAwarded
|
|
309
|
+
label: Total Awarded ($)
|
|
310
|
+
valueType: number
|
|
311
|
+
inputType: number
|
|
312
|
+
- slug: totalPaid
|
|
313
|
+
label: Total Paid ($)
|
|
314
|
+
valueType: number
|
|
315
|
+
inputType: number
|
|
316
|
+
- slug: totalSubmissions
|
|
317
|
+
label: Total Submissions
|
|
318
|
+
valueType: number
|
|
319
|
+
inputType: number
|
|
320
|
+
- slug: awardedSubmissionsCount
|
|
321
|
+
label: Awarded Count
|
|
322
|
+
valueType: number
|
|
323
|
+
inputType: number
|
|
324
|
+
- slug: awardRate
|
|
325
|
+
label: Award Rate (0-1)
|
|
326
|
+
valueType: number
|
|
327
|
+
inputType: number
|
|
328
|
+
- slug: averageAwardAmount
|
|
329
|
+
label: Average Award ($)
|
|
330
|
+
valueType: number
|
|
331
|
+
inputType: number
|
|
332
|
+
- slug: votersNumber
|
|
333
|
+
label: Voters Number
|
|
334
|
+
valueType: number
|
|
335
|
+
inputType: number
|
|
336
|
+
- slug: roundUrl
|
|
337
|
+
label: Round URL
|
|
338
|
+
valueType: string
|
|
339
|
+
inputType: url
|
|
340
|
+
- slug: roundRecapUrl
|
|
341
|
+
label: Round Recap URL
|
|
342
|
+
valueType: string
|
|
343
|
+
inputType: url
|
|
344
|
+
- slug: sourceRecordId
|
|
345
|
+
label: Source Record ID
|
|
346
|
+
valueType: string
|
|
347
|
+
inputType: text
|
|
348
|
+
placeholder: Airtable rec…
|
|
349
|
+
# ── Project (product/initiative, distinct from applicant company) ─────────
|
|
350
|
+
- slug: grant-project
|
|
351
|
+
displayName: Project
|
|
352
|
+
icon: rocket
|
|
353
|
+
color: violet
|
|
354
|
+
description: A long-lived project identity that may span multiple rounds — the product/initiative, distinct from the applicant company.
|
|
355
|
+
scope: WORKSPACE
|
|
356
|
+
properties:
|
|
357
|
+
- slug: summary
|
|
358
|
+
label: Summary
|
|
359
|
+
valueType: string
|
|
360
|
+
inputType: textarea
|
|
361
|
+
- slug: description
|
|
362
|
+
label: Description
|
|
363
|
+
valueType: string
|
|
364
|
+
inputType: textarea
|
|
365
|
+
- slug: websiteUrl
|
|
366
|
+
label: Website
|
|
367
|
+
valueType: string
|
|
368
|
+
inputType: url
|
|
369
|
+
- slug: projectUrl
|
|
370
|
+
label: Project URL
|
|
371
|
+
valueType: string
|
|
372
|
+
inputType: url
|
|
373
|
+
- slug: githubUrl
|
|
374
|
+
label: GitHub
|
|
375
|
+
valueType: string
|
|
376
|
+
inputType: url
|
|
377
|
+
- slug: xUrl
|
|
378
|
+
label: X / Twitter
|
|
379
|
+
valueType: string
|
|
380
|
+
inputType: url
|
|
381
|
+
- slug: discordUrl
|
|
382
|
+
label: Discord
|
|
383
|
+
valueType: string
|
|
384
|
+
inputType: url
|
|
385
|
+
- slug: linkedinUrl
|
|
386
|
+
label: LinkedIn
|
|
387
|
+
valueType: string
|
|
388
|
+
inputType: url
|
|
389
|
+
- slug: mediumUrl
|
|
390
|
+
label: Medium
|
|
391
|
+
valueType: string
|
|
392
|
+
inputType: url
|
|
393
|
+
- slug: analyticsUrl
|
|
394
|
+
label: Analytics
|
|
395
|
+
valueType: string
|
|
396
|
+
inputType: url
|
|
397
|
+
- slug: docsUrl
|
|
398
|
+
label: Docs
|
|
399
|
+
valueType: string
|
|
400
|
+
inputType: url
|
|
401
|
+
- slug: integrationStatus
|
|
402
|
+
label: Integration Status
|
|
403
|
+
valueType: string
|
|
404
|
+
inputType: text
|
|
405
|
+
placeholder: Mainnet / Testnet
|
|
406
|
+
- slug: isActive
|
|
407
|
+
label: Active?
|
|
408
|
+
valueType: boolean
|
|
409
|
+
inputType: checkbox
|
|
410
|
+
- slug: openSourceLevel
|
|
411
|
+
label: Open Source
|
|
412
|
+
valueType: string
|
|
413
|
+
inputType: text
|
|
414
|
+
- slug: usesSoroban
|
|
415
|
+
label: Uses Soroban? (Stellar-specific)
|
|
416
|
+
valueType: boolean
|
|
417
|
+
inputType: checkbox
|
|
418
|
+
- slug: totalAwarded
|
|
419
|
+
label: Total Awarded ($)
|
|
420
|
+
valueType: number
|
|
421
|
+
inputType: number
|
|
422
|
+
- slug: totalPaid
|
|
423
|
+
label: Total Paid ($)
|
|
424
|
+
valueType: number
|
|
425
|
+
inputType: number
|
|
426
|
+
- slug: regionsOfOperation
|
|
427
|
+
label: Regions (JSON)
|
|
428
|
+
valueType: json
|
|
429
|
+
inputType: json
|
|
430
|
+
- slug: teamDescription
|
|
431
|
+
label: Team Description
|
|
432
|
+
valueType: string
|
|
433
|
+
inputType: textarea
|
|
434
|
+
- slug: currentStatus
|
|
435
|
+
label: Current Status
|
|
436
|
+
valueType: string
|
|
437
|
+
inputType: select
|
|
438
|
+
enumValues:
|
|
439
|
+
- active
|
|
440
|
+
- paused
|
|
441
|
+
- wound_down
|
|
442
|
+
- unknown
|
|
443
|
+
- slug: categoryLabels
|
|
444
|
+
label: Categories (JSON)
|
|
445
|
+
valueType: json
|
|
446
|
+
inputType: json
|
|
447
|
+
- slug: appearedInRoundIds
|
|
448
|
+
label: Appeared in Rounds (JSON)
|
|
449
|
+
valueType: json
|
|
450
|
+
inputType: json
|
|
451
|
+
- slug: submissionCount
|
|
452
|
+
label: Submissions Count
|
|
453
|
+
valueType: number
|
|
454
|
+
inputType: number
|
|
455
|
+
- slug: awardedRoundCount
|
|
456
|
+
label: Awarded Round Count
|
|
457
|
+
valueType: number
|
|
458
|
+
inputType: number
|
|
459
|
+
- slug: sourceRecordId
|
|
460
|
+
label: Source Record ID
|
|
461
|
+
valueType: string
|
|
462
|
+
inputType: text
|
|
463
|
+
# ── Analysis (SCF-style scoring / bands) ──────────────────────────────────
|
|
464
|
+
- slug: analysis
|
|
465
|
+
displayName: Analysis
|
|
466
|
+
icon: brain
|
|
467
|
+
color: purple
|
|
468
|
+
description: AI-generated assessment (scores + bands) tied to a submission. Polymorphic subject via entityLinks.
|
|
469
|
+
scope: WORKSPACE
|
|
470
|
+
properties:
|
|
471
|
+
- slug: subjectType
|
|
472
|
+
label: Subject Type
|
|
473
|
+
valueType: string
|
|
474
|
+
inputType: select
|
|
475
|
+
enumValues:
|
|
476
|
+
- submission
|
|
477
|
+
- project
|
|
478
|
+
- slug: subjectId
|
|
479
|
+
label: Subject Entity ID
|
|
480
|
+
valueType: string
|
|
481
|
+
inputType: text
|
|
482
|
+
- slug: analysisType
|
|
483
|
+
label: Analysis Type
|
|
484
|
+
valueType: string
|
|
485
|
+
inputType: select
|
|
486
|
+
enumValues:
|
|
487
|
+
- first_pass_public
|
|
488
|
+
- internal_deep_review
|
|
489
|
+
- similarity_report
|
|
490
|
+
- signal_extraction
|
|
491
|
+
- slug: summary
|
|
492
|
+
label: Summary
|
|
493
|
+
valueType: string
|
|
494
|
+
inputType: textarea
|
|
495
|
+
- slug: fitBand
|
|
496
|
+
label: Fit Band
|
|
497
|
+
valueType: string
|
|
498
|
+
inputType: select
|
|
499
|
+
enumValues:
|
|
500
|
+
- weak
|
|
501
|
+
- early_salvageable
|
|
502
|
+
- promising_with_rework
|
|
503
|
+
- strong_candidate
|
|
504
|
+
- highly_competitive
|
|
505
|
+
- slug: confidenceBand
|
|
506
|
+
label: Confidence Band
|
|
507
|
+
valueType: string
|
|
508
|
+
inputType: select
|
|
509
|
+
enumValues:
|
|
510
|
+
- low
|
|
511
|
+
- medium
|
|
512
|
+
- high
|
|
513
|
+
- slug: confidenceScore
|
|
514
|
+
label: Confidence (0-100)
|
|
515
|
+
valueType: number
|
|
516
|
+
inputType: number
|
|
517
|
+
- slug: businessQualityScore
|
|
518
|
+
label: Business Quality (0-100)
|
|
519
|
+
valueType: number
|
|
520
|
+
inputType: number
|
|
521
|
+
- slug: businessQualityBand
|
|
522
|
+
label: Business Quality Band
|
|
523
|
+
valueType: string
|
|
524
|
+
inputType: select
|
|
525
|
+
enumValues:
|
|
526
|
+
- weak
|
|
527
|
+
- early_salvageable
|
|
528
|
+
- promising_with_rework
|
|
529
|
+
- strong_candidate
|
|
530
|
+
- highly_competitive
|
|
531
|
+
- slug: stellarFitScore
|
|
532
|
+
label: Chain Fit (0-100)
|
|
533
|
+
valueType: number
|
|
534
|
+
inputType: number
|
|
535
|
+
- slug: stellarFitBand
|
|
536
|
+
label: Chain Fit Band
|
|
537
|
+
valueType: string
|
|
538
|
+
inputType: select
|
|
539
|
+
enumValues:
|
|
540
|
+
- weak
|
|
541
|
+
- early_salvageable
|
|
542
|
+
- promising_with_rework
|
|
543
|
+
- strong_candidate
|
|
544
|
+
- highly_competitive
|
|
545
|
+
- slug: scfPassScoreCurrent
|
|
546
|
+
label: Program Pass Current (0-100)
|
|
547
|
+
valueType: number
|
|
548
|
+
inputType: number
|
|
549
|
+
- slug: scfPassBand
|
|
550
|
+
label: Program Pass Band
|
|
551
|
+
valueType: string
|
|
552
|
+
inputType: select
|
|
553
|
+
enumValues:
|
|
554
|
+
- weak
|
|
555
|
+
- early_salvageable
|
|
556
|
+
- promising_with_rework
|
|
557
|
+
- strong_candidate
|
|
558
|
+
- highly_competitive
|
|
559
|
+
- slug: scfPassScoreImproved
|
|
560
|
+
label: Program Pass Improved (0-100)
|
|
561
|
+
valueType: number
|
|
562
|
+
inputType: number
|
|
563
|
+
- slug: archUpliftScore
|
|
564
|
+
label: Advisory Uplift (0-100)
|
|
565
|
+
valueType: number
|
|
566
|
+
inputType: number
|
|
567
|
+
- slug: archUpliftBand
|
|
568
|
+
label: Advisory Uplift Band
|
|
569
|
+
valueType: string
|
|
570
|
+
inputType: select
|
|
571
|
+
enumValues:
|
|
572
|
+
- weak
|
|
573
|
+
- early_salvageable
|
|
574
|
+
- promising_with_rework
|
|
575
|
+
- strong_candidate
|
|
576
|
+
- highly_competitive
|
|
577
|
+
- slug: consultingLeadScore
|
|
578
|
+
label: Consulting Lead (0-100)
|
|
579
|
+
valueType: number
|
|
580
|
+
inputType: number
|
|
581
|
+
- slug: consultingLeadBand
|
|
582
|
+
label: Consulting Lead Band
|
|
583
|
+
valueType: string
|
|
584
|
+
inputType: select
|
|
585
|
+
enumValues:
|
|
586
|
+
- weak
|
|
587
|
+
- early_salvageable
|
|
588
|
+
- promising_with_rework
|
|
589
|
+
- strong_candidate
|
|
590
|
+
- highly_competitive
|
|
591
|
+
- slug: positionedCompetitivenessScore
|
|
592
|
+
label: Positioned Competitiveness (0-100)
|
|
593
|
+
valueType: number
|
|
594
|
+
inputType: number
|
|
595
|
+
- slug: recommendedAmountRange
|
|
596
|
+
label: Recommended Amount Range
|
|
597
|
+
valueType: string
|
|
598
|
+
inputType: text
|
|
599
|
+
- slug: strengths
|
|
600
|
+
label: Strengths (JSON)
|
|
601
|
+
valueType: json
|
|
602
|
+
inputType: json
|
|
603
|
+
- slug: weaknesses
|
|
604
|
+
label: Weaknesses (JSON)
|
|
605
|
+
valueType: json
|
|
606
|
+
inputType: json
|
|
607
|
+
- slug: missingInformation
|
|
608
|
+
label: Missing Info (JSON)
|
|
609
|
+
valueType: json
|
|
610
|
+
inputType: json
|
|
611
|
+
- slug: rewritePoints
|
|
612
|
+
label: Rewrite Priorities (JSON)
|
|
613
|
+
valueType: json
|
|
614
|
+
inputType: json
|
|
615
|
+
- slug: similarSubmissionIds
|
|
616
|
+
label: Similar Submission IDs (JSON)
|
|
617
|
+
valueType: json
|
|
618
|
+
inputType: json
|
|
619
|
+
- slug: blockers
|
|
620
|
+
label: Blockers (JSON)
|
|
621
|
+
valueType: json
|
|
622
|
+
inputType: json
|
|
623
|
+
- slug: positioningAngles
|
|
624
|
+
label: Positioning Angles (JSON)
|
|
625
|
+
valueType: json
|
|
626
|
+
inputType: json
|
|
627
|
+
- slug: generatedByModel
|
|
628
|
+
label: Generated By Model
|
|
629
|
+
valueType: string
|
|
630
|
+
inputType: text
|
|
631
|
+
- slug: visibility
|
|
632
|
+
label: Visibility
|
|
633
|
+
valueType: string
|
|
634
|
+
inputType: select
|
|
635
|
+
enumValues:
|
|
636
|
+
- public
|
|
637
|
+
- internal
|
|
638
|
+
# ── Signal (recurring pattern across submissions) ─────────────────────────
|
|
639
|
+
- slug: signal
|
|
640
|
+
displayName: Signal
|
|
641
|
+
icon: radio
|
|
642
|
+
color: pink
|
|
643
|
+
description: Recurring pattern observed across submissions.
|
|
644
|
+
scope: WORKSPACE
|
|
645
|
+
properties:
|
|
646
|
+
- slug: signalType
|
|
647
|
+
label: Type
|
|
648
|
+
valueType: string
|
|
649
|
+
inputType: text
|
|
650
|
+
- slug: description
|
|
651
|
+
label: Description
|
|
652
|
+
valueType: string
|
|
653
|
+
inputType: textarea
|
|
654
|
+
- slug: evidenceSubmissionIds
|
|
655
|
+
label: Evidence Submission IDs (JSON)
|
|
656
|
+
valueType: json
|
|
657
|
+
inputType: json
|
|
658
|
+
- slug: weight
|
|
659
|
+
label: Weight (0-1)
|
|
660
|
+
valueType: number
|
|
661
|
+
inputType: number
|
|
662
|
+
- slug: categoryScope
|
|
663
|
+
label: Category Scope
|
|
664
|
+
valueType: string
|
|
665
|
+
inputType: text
|
|
666
|
+
- slug: roundScope
|
|
667
|
+
label: Round Scope
|
|
668
|
+
valueType: string
|
|
669
|
+
inputType: text
|
|
670
|
+
# ── Client (shared ecosystem role — SSOT is foundation.yaml) ──────────────
|
|
671
|
+
# `scope: shared` dedups to the ONE pod-wide `client` profile seeded by
|
|
672
|
+
# foundation; provisioning grants THIS workspace access to it (SHARED profiles
|
|
673
|
+
# are grant-gated, so the reference is required — dropping it would leave the
|
|
674
|
+
# role invisible here). Shapes match foundation verbatim, so no property drift.
|
|
675
|
+
- slug: client
|
|
676
|
+
displayName: Client
|
|
677
|
+
icon: briefcase
|
|
678
|
+
color: emerald
|
|
679
|
+
description: An active commercial relationship — created when a deal is won.
|
|
680
|
+
scope: shared
|
|
681
|
+
profileKind: role
|
|
682
|
+
applicableKinds:
|
|
683
|
+
- person
|
|
684
|
+
- company
|
|
685
|
+
properties:
|
|
686
|
+
- slug: clientStatus
|
|
687
|
+
label: Status
|
|
688
|
+
valueType: string
|
|
689
|
+
inputType: select
|
|
690
|
+
enumValues:
|
|
691
|
+
- prospect
|
|
692
|
+
- active
|
|
693
|
+
- paused
|
|
694
|
+
- former
|
|
695
|
+
- churned
|
|
696
|
+
- slug: accountManager
|
|
697
|
+
label: Account Manager
|
|
698
|
+
valueType: string
|
|
699
|
+
inputType: text
|
|
700
|
+
- slug: engagementStartDate
|
|
701
|
+
label: Engagement Start
|
|
702
|
+
valueType: date
|
|
703
|
+
inputType: date
|
|
704
|
+
- slug: satisfactionScore
|
|
705
|
+
label: Satisfaction
|
|
706
|
+
valueType: number
|
|
707
|
+
inputType: number
|
|
708
|
+
- slug: lifetimeValue
|
|
709
|
+
label: Lifetime Value
|
|
710
|
+
valueType: number
|
|
711
|
+
inputType: number
|
|
712
|
+
- slug: notes
|
|
713
|
+
label: Notes
|
|
714
|
+
valueType: string
|
|
715
|
+
inputType: textarea
|
|
716
|
+
- slug: contractValue
|
|
717
|
+
label: Contract Value
|
|
718
|
+
valueType: number
|
|
719
|
+
inputType: number
|
|
720
|
+
- slug: renewalDate
|
|
721
|
+
label: Renewal Date
|
|
722
|
+
valueType: date
|
|
723
|
+
inputType: date
|
|
724
|
+
- slug: healthScore
|
|
725
|
+
label: Health
|
|
726
|
+
valueType: string
|
|
727
|
+
inputType: select
|
|
728
|
+
enumValues:
|
|
729
|
+
- healthy
|
|
730
|
+
- at_risk
|
|
731
|
+
- critical
|
|
732
|
+
# ── Partner (shared ecosystem role — SSOT is foundation.yaml) ─────────────
|
|
733
|
+
- slug: partner
|
|
734
|
+
displayName: Partner
|
|
735
|
+
icon: handshake
|
|
736
|
+
color: teal
|
|
737
|
+
description: A partner relationship — both a referral source and a co-delivery collaborator, distinguished by partner type.
|
|
738
|
+
scope: shared
|
|
739
|
+
profileKind: role
|
|
740
|
+
applicableKinds:
|
|
741
|
+
- person
|
|
742
|
+
- company
|
|
743
|
+
properties:
|
|
744
|
+
- slug: partnerStatus
|
|
745
|
+
label: Status
|
|
746
|
+
valueType: string
|
|
747
|
+
inputType: select
|
|
748
|
+
enumValues:
|
|
749
|
+
- prospect
|
|
750
|
+
- active
|
|
751
|
+
- paused
|
|
752
|
+
- churned
|
|
753
|
+
- slug: partnerType
|
|
754
|
+
label: Partner Type
|
|
755
|
+
valueType: string
|
|
756
|
+
inputType: select
|
|
757
|
+
enumValues:
|
|
758
|
+
- referral
|
|
759
|
+
- co-delivery
|
|
760
|
+
- both
|
|
761
|
+
- slug: accountManager
|
|
762
|
+
label: Account Manager
|
|
763
|
+
valueType: string
|
|
764
|
+
inputType: text
|
|
765
|
+
- slug: engagementStartDate
|
|
766
|
+
label: Engagement Start
|
|
767
|
+
valueType: date
|
|
768
|
+
inputType: date
|
|
769
|
+
- slug: satisfactionScore
|
|
770
|
+
label: Satisfaction
|
|
771
|
+
valueType: number
|
|
772
|
+
inputType: number
|
|
773
|
+
- slug: lifetimeValue
|
|
774
|
+
label: Lifetime Value
|
|
775
|
+
valueType: number
|
|
776
|
+
inputType: number
|
|
777
|
+
- slug: notes
|
|
778
|
+
label: Notes
|
|
779
|
+
valueType: string
|
|
780
|
+
inputType: textarea
|
|
781
|
+
- slug: contractValue
|
|
782
|
+
label: Contract Value
|
|
783
|
+
valueType: number
|
|
784
|
+
inputType: number
|
|
785
|
+
- slug: renewalDate
|
|
786
|
+
label: Renewal Date
|
|
787
|
+
valueType: date
|
|
788
|
+
inputType: date
|
|
789
|
+
- slug: healthScore
|
|
790
|
+
label: Health
|
|
791
|
+
valueType: string
|
|
792
|
+
inputType: select
|
|
793
|
+
enumValues:
|
|
794
|
+
- healthy
|
|
795
|
+
- at_risk
|
|
796
|
+
- critical
|
|
797
|
+
# ── Sponsor (shared ecosystem role — SSOT is foundation.yaml) ─────────────
|
|
798
|
+
- slug: sponsor
|
|
799
|
+
displayName: Sponsor
|
|
800
|
+
icon: hand-coins
|
|
801
|
+
color: amber
|
|
802
|
+
description: A backer or sponsor of a program, round, or event.
|
|
803
|
+
scope: shared
|
|
804
|
+
profileKind: role
|
|
805
|
+
applicableKinds:
|
|
806
|
+
- person
|
|
807
|
+
- company
|
|
808
|
+
properties:
|
|
809
|
+
- slug: sponsorStatus
|
|
810
|
+
label: Status
|
|
811
|
+
valueType: string
|
|
812
|
+
inputType: select
|
|
813
|
+
enumValues:
|
|
814
|
+
- prospect
|
|
815
|
+
- active
|
|
816
|
+
- paused
|
|
817
|
+
- slug: sponsorType
|
|
818
|
+
label: Sponsor Type
|
|
819
|
+
valueType: string
|
|
820
|
+
inputType: text
|
|
821
|
+
- slug: notes
|
|
822
|
+
label: Notes
|
|
823
|
+
valueType: string
|
|
824
|
+
inputType: textarea
|
|
825
|
+
|
|
826
|
+
views:
|
|
827
|
+
- name: Pipeline
|
|
828
|
+
type: kanban
|
|
829
|
+
scopeProfileSlug: grant_submission
|
|
830
|
+
config:
|
|
831
|
+
groupByField: stage
|
|
832
|
+
cardFields:
|
|
833
|
+
- summary
|
|
834
|
+
- requestedAmount
|
|
835
|
+
- awardedAmount
|
|
836
|
+
- outcome
|
|
837
|
+
- status
|
|
838
|
+
- name: Submissions
|
|
839
|
+
type: table
|
|
840
|
+
scopeProfileSlug: grant_submission
|
|
841
|
+
config:
|
|
842
|
+
columns:
|
|
843
|
+
- title
|
|
844
|
+
- stage
|
|
845
|
+
- status
|
|
846
|
+
- outcome
|
|
847
|
+
- requestedAmount
|
|
848
|
+
- awardedAmount
|
|
849
|
+
- roundId
|
|
850
|
+
- projectId
|
|
851
|
+
sortBy: awardedAmount
|
|
852
|
+
sortDir: desc
|
|
853
|
+
- name: Rounds
|
|
854
|
+
type: table
|
|
855
|
+
scopeProfileSlug: round
|
|
856
|
+
config:
|
|
857
|
+
columns:
|
|
858
|
+
- roundNumber
|
|
859
|
+
- year
|
|
860
|
+
- status
|
|
861
|
+
- submissionDeadline
|
|
862
|
+
- totalAwarded
|
|
863
|
+
- awardedSubmissionsCount
|
|
864
|
+
- averageAwardAmount
|
|
865
|
+
sortBy: roundNumber
|
|
866
|
+
sortDir: desc
|
|
867
|
+
- name: Awarded Projects
|
|
868
|
+
type: gallery
|
|
869
|
+
scopeProfileSlug: grant-project
|
|
870
|
+
config:
|
|
871
|
+
coverField: summary
|
|
872
|
+
showFields:
|
|
873
|
+
- currentStatus
|
|
874
|
+
- awardedRoundCount
|
|
875
|
+
- submissionCount
|
|
876
|
+
- name: Analyses
|
|
877
|
+
type: table
|
|
878
|
+
scopeProfileSlug: analysis
|
|
879
|
+
config:
|
|
880
|
+
columns:
|
|
881
|
+
- analysisType
|
|
882
|
+
- subjectType
|
|
883
|
+
- fitBand
|
|
884
|
+
- confidenceBand
|
|
885
|
+
- positionedCompetitivenessScore
|
|
886
|
+
sortBy: positionedCompetitivenessScore
|
|
887
|
+
sortDir: desc
|
|
888
|
+
entityLinks:
|
|
889
|
+
- sourceProfileSlug: grant_submission
|
|
890
|
+
targetProfileSlug: grant-project
|
|
891
|
+
type: belongs_to
|
|
892
|
+
label: Project
|
|
893
|
+
- sourceProfileSlug: grant_submission
|
|
894
|
+
targetProfileSlug: round
|
|
895
|
+
type: submitted_to
|
|
896
|
+
label: Round
|
|
897
|
+
- sourceProfileSlug: grant_submission
|
|
898
|
+
targetProfileSlug: company
|
|
899
|
+
type: submitted_by
|
|
900
|
+
label: Submitted By
|
|
901
|
+
- sourceProfileSlug: grant-project
|
|
902
|
+
targetProfileSlug: round
|
|
903
|
+
type: appears_in
|
|
904
|
+
label: Appears in Round
|
|
905
|
+
- sourceProfileSlug: grant-project
|
|
906
|
+
targetProfileSlug: company
|
|
907
|
+
type: owned_by
|
|
908
|
+
label: Owning Company
|
|
909
|
+
- sourceProfileSlug: analysis
|
|
910
|
+
targetProfileSlug: grant_submission
|
|
911
|
+
type: analyzes
|
|
912
|
+
label: Analyzes
|
|
913
|
+
- sourceProfileSlug: signal
|
|
914
|
+
targetProfileSlug: grant_submission
|
|
915
|
+
type: evidenced_by
|
|
916
|
+
label: Evidenced By
|
|
917
|
+
app:
|
|
918
|
+
kind: stored
|
|
919
|
+
cellKey: entity-detail
|
|
920
|
+
layout:
|
|
921
|
+
defaultView: Pipeline
|
|
922
|
+
defaultApp: null
|
|
923
|
+
pinnedApps:
|
|
924
|
+
- dashboard
|
|
925
|
+
- data
|
|
926
|
+
sidebarItems:
|
|
927
|
+
- kind: view
|
|
928
|
+
viewName: Pipeline
|
|
929
|
+
label: Pipeline
|
|
930
|
+
icon: kanban-square
|
|
931
|
+
- kind: view
|
|
932
|
+
viewName: Submissions
|
|
933
|
+
label: Submissions
|
|
934
|
+
icon: file-text
|
|
935
|
+
- kind: view
|
|
936
|
+
viewName: Awarded Projects
|
|
937
|
+
label: Projects
|
|
938
|
+
icon: rocket
|
|
939
|
+
- kind: view
|
|
940
|
+
viewName: Rounds
|
|
941
|
+
label: Rounds
|
|
942
|
+
icon: calendar-clock
|
|
943
|
+
- kind: view
|
|
944
|
+
viewName: Analyses
|
|
945
|
+
label: Analyses
|
|
946
|
+
icon: brain
|
|
947
|
+
bento:
|
|
948
|
+
blocks:
|
|
949
|
+
- kind: widget
|
|
950
|
+
widgetType: welcome-header
|
|
951
|
+
pos:
|
|
952
|
+
x: 0
|
|
953
|
+
"y": 0
|
|
954
|
+
w: 12
|
|
955
|
+
h: 2
|
|
956
|
+
- kind: widget
|
|
957
|
+
widgetType: stat-card
|
|
958
|
+
pos:
|
|
959
|
+
x: 0
|
|
960
|
+
"y": 2
|
|
961
|
+
w: 3
|
|
962
|
+
h: 2
|
|
963
|
+
config:
|
|
964
|
+
label: Total Awarded
|
|
965
|
+
aggregation: sum
|
|
966
|
+
field: totalAwarded
|
|
967
|
+
profileSlug: round
|
|
968
|
+
format: currency
|
|
969
|
+
- kind: widget
|
|
970
|
+
widgetType: stat-card
|
|
971
|
+
pos:
|
|
972
|
+
x: 3
|
|
973
|
+
"y": 2
|
|
974
|
+
w: 3
|
|
975
|
+
h: 2
|
|
976
|
+
config:
|
|
977
|
+
label: Awarded Submissions
|
|
978
|
+
aggregation: count
|
|
979
|
+
profileSlug: grant_submission
|
|
980
|
+
filter:
|
|
981
|
+
outcome: awarded
|
|
982
|
+
- kind: widget
|
|
983
|
+
widgetType: stat-card
|
|
984
|
+
pos:
|
|
985
|
+
x: 6
|
|
986
|
+
"y": 2
|
|
987
|
+
w: 3
|
|
988
|
+
h: 2
|
|
989
|
+
config:
|
|
990
|
+
label: Rounds Tracked
|
|
991
|
+
aggregation: count
|
|
992
|
+
profileSlug: round
|
|
993
|
+
- kind: widget
|
|
994
|
+
widgetType: stat-card
|
|
995
|
+
pos:
|
|
996
|
+
x: 9
|
|
997
|
+
"y": 2
|
|
998
|
+
w: 3
|
|
999
|
+
h: 2
|
|
1000
|
+
config:
|
|
1001
|
+
label: Avg Award
|
|
1002
|
+
aggregation: avg
|
|
1003
|
+
field: averageAwardAmount
|
|
1004
|
+
profileSlug: round
|
|
1005
|
+
format: currency
|
|
1006
|
+
- kind: view
|
|
1007
|
+
viewName: Pipeline
|
|
1008
|
+
pos:
|
|
1009
|
+
x: 0
|
|
1010
|
+
"y": 4
|
|
1011
|
+
w: 8
|
|
1012
|
+
h: 6
|
|
1013
|
+
- kind: view
|
|
1014
|
+
viewName: Awarded Projects
|
|
1015
|
+
pos:
|
|
1016
|
+
x: 8
|
|
1017
|
+
"y": 4
|
|
1018
|
+
w: 4
|
|
1019
|
+
h: 6
|
|
1020
|
+
integrations:
|
|
1021
|
+
- templateKey: stellar-grant-client
|
|
1022
|
+
- templateKey: agency-skills
|
|
1023
|
+
- templateKey: nango-google
|
|
1024
|
+
- templateKey: discord-bot
|
|
1025
|
+
onboarding:
|
|
1026
|
+
goal: Capture the agency's live grant pipeline — the funding rounds and their deadlines, the projects being advised, and the open submissions in flight — so the workspace mirrors the real book of work, not a generic template.
|
|
1027
|
+
framing: "Act as a seasoned blockchain-grants advisor who has shepherded dozens of applications through programs like SCF, Optimism RetroPGF, and Arbitrum. Speak to how a submission actually wins: a crisp problem, a defensible reason the chain matters, evidence of traction, and milestones a reviewer can grade. Translate the founder's words into rounds, projects, and submissions on the pipeline."
|
|
1028
|
+
expertise:
|
|
1029
|
+
starters:
|
|
1030
|
+
- >
|
|
1031
|
+
Don't ask for a stage list on a blank slate — the pipeline already models the
|
|
1032
|
+
real arc: Scope → Abstract → Build → Awaiting Results. Anchor each live
|
|
1033
|
+
submission to where it actually sits and move from there.
|
|
1034
|
+
- >
|
|
1035
|
+
Every submission needs a one-sentence "why this chain" that a non-technical
|
|
1036
|
+
reviewer believes. Propose it as the spine of the abstract — most rejections
|
|
1037
|
+
trace back to a vague or missing chain-fit argument, not weak tech.
|
|
1038
|
+
- >
|
|
1039
|
+
Define milestones as gradeable deliverables tied to tranches (Deliverables →
|
|
1040
|
+
Testnet → Mainnet), not vague intentions. Reviewers release money against
|
|
1041
|
+
provable outcomes; frame each milestone as the thing they can check off.
|
|
1042
|
+
blindSpots:
|
|
1043
|
+
- >
|
|
1044
|
+
Founders under-invest in traction evidence. If a submission has no users,
|
|
1045
|
+
no signups, no letters of intent, surface that gap early — "promising idea,
|
|
1046
|
+
no proof" is the most common band a strong-idea application lands in.
|
|
1047
|
+
- >
|
|
1048
|
+
Missing the deadline is the silent killer. Every round has a submission
|
|
1049
|
+
deadline and a notification date — capture them up front and work backward,
|
|
1050
|
+
rather than discovering a round closed while a draft sat unfinished.
|
|
1051
|
+
- >
|
|
1052
|
+
Teams treat each round as a fresh start. The project is long-lived and spans
|
|
1053
|
+
rounds — a prior award, a prior rejection, and the reviewer feedback are the
|
|
1054
|
+
strongest inputs to the next submission. Link submissions to the project so
|
|
1055
|
+
that history compounds.
|
|
1056
|
+
bar: >
|
|
1057
|
+
Every open submission is anchored to a real round with a known deadline, tied to
|
|
1058
|
+
a project that carries its cross-round history, has a one-sentence chain-fit
|
|
1059
|
+
argument and gradeable tranche milestones, and sits at an honest stage — so a
|
|
1060
|
+
glance at the pipeline tells the truth about what's winnable and what's at risk.
|
|
1061
|
+
collect:
|
|
1062
|
+
- profileSlug: round
|
|
1063
|
+
what: The funding rounds you're targeting, with their deadlines and notification dates
|
|
1064
|
+
cardinality: few
|
|
1065
|
+
keyFields:
|
|
1066
|
+
- roundNumber
|
|
1067
|
+
- status
|
|
1068
|
+
- submissionDeadline
|
|
1069
|
+
- notificationDate
|
|
1070
|
+
- profileSlug: grant-project
|
|
1071
|
+
what: The projects/initiatives you're advising through the pipeline
|
|
1072
|
+
cardinality: several
|
|
1073
|
+
keyFields:
|
|
1074
|
+
- summary
|
|
1075
|
+
- websiteUrl
|
|
1076
|
+
- currentStatus
|
|
1077
|
+
- profileSlug: grant_submission
|
|
1078
|
+
what: The open applications in flight right now
|
|
1079
|
+
cardinality: few
|
|
1080
|
+
keyFields:
|
|
1081
|
+
- summary
|
|
1082
|
+
- stage
|
|
1083
|
+
- requestedAmount
|
|
1084
|
+
- projectId
|
|
1085
|
+
- roundId
|
|
1086
|
+
- profileSlug: company
|
|
1087
|
+
what: The applicant companies you work with as clients (attach the client facet)
|
|
1088
|
+
cardinality: several
|
|
1089
|
+
keyFields:
|
|
1090
|
+
- title
|
|
1091
|
+
- website
|
|
1092
|
+
openingQuestions:
|
|
1093
|
+
- Which grant rounds are you targeting right now, and when do they close?
|
|
1094
|
+
- Which projects are you advising through the pipeline?
|
|
1095
|
+
- What applications are in flight, and what stage is each at?
|
|
1096
|
+
doneWhen: The targeted rounds exist with deadlines, the advised projects exist, and the live submissions are placed on the pipeline at an honest stage and linked to their project and round.
|