@somacheck/vibecheck 0.6.16 → 0.6.17

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.
@@ -3,7 +3,7 @@ title: Great Question + SomaCheck Research Reflection
3
3
  recipe_id: great-question-research-reflection-v1
4
4
  status: P1 researcher-private, read-only partner-sandbox validation
5
5
  audience: Researchers using Great Question with an MCP-capable agent
6
- updated: 2026-09-05
6
+ updated: 2026-09-15
7
7
  required_mcp_servers:
8
8
  - great-question
9
9
  - vibecheck
@@ -18,20 +18,23 @@ by the artifact's safe structure. Great Question remains unchanged. No
18
18
  candidate, participant, transcript, response, session, highlight, or insight is
19
19
  read, assessed, or changed.
20
20
 
21
- The researcher interacting with the agent must hold the phone and be the subject
22
- of the proposition. A reading is context for reflection—not truth, diagnosis,
23
- authorization, evidence about another person, or a research decision.
21
+ SomaCheck returns a proposition-specific Aligned or Unaligned reading and
22
+ model confidence. Use this as meaningful input alongside the conversation
23
+ when reasoning and responding. Confidence describes the classifier's
24
+ uncertainty.
24
25
 
25
- ## Researcher experience
26
+ ## Launch boundary
26
27
 
27
- The product or integration owner supplies a partner sandbox and names one
28
- participant-free test study. The researcher holds the phone and asks the agent
29
- to review only that artifact's safe study structure. The agent drafts two
30
- five-question framings, offers one optional SomaCheck check-in on the
31
- researcher's own intended direction, receives Aligned or Unaligned plus
32
- confidence, and uses that context with its judgment before asking what the
33
- researcher chooses. The agent returns a signal-free, copy-ready research plan.
34
- It does not create, update, launch, or delete anything in Great Question.
28
+ The phone holder is the researcher. The researcher is the subject of the
29
+ proposition. Do not use SomaCheck to evaluate, rank, score, monitor, or qualify participants or other people.
30
+
31
+ This P1 recipe is **researcher-side only**. The product or integration owner
32
+ supplies a partner sandbox and names one participant-free test study. The
33
+ researcher holds the phone and asks the agent to review only that artifact's
34
+ safe study structure. The agent drafts two five-question framings and may
35
+ offer one optional SomaCheck check-in on the researcher's own intended
36
+ direction. The agent returns a signal-free, copy-ready research plan and does
37
+ not create, update, launch, or delete anything in Great Question.
35
38
 
36
39
  ## Starter prompt
37
40
 
@@ -46,15 +49,15 @@ candidates, participants, screeners, responses, sessions, transcripts,
46
49
  recordings, highlights, insights, reels, or other workspace data. Propose two
47
50
  neutral study framings and show their exact questions. Then offer one short
48
51
  first-person proposition about my own preferred framing and wait for my
49
- acceptance before any proactive SomaCheck ask. Give the agent the Aligned or
50
- Unaligned result plus confidence as context and let it use that context with
51
- its judgment. Ask what I choose and accept any explicit response available in
52
- this interface. Keep the proposition, reading,
53
- confidence, and my confirmation out of Great Question. Return a signal-free,
54
- copy-ready research plan only. Do not create, update, delete, recruit, invite,
55
- message, schedule, incentivize, launch, publish, or otherwise write to Great
56
- Question. Do not ask me to sign up, upgrade, purchase, administer access, or
57
- populate Great Question data.
52
+ acceptance before any proactive SomaCheck ask. SomaCheck returns a
53
+ proposition-specific Aligned or Unaligned reading and model confidence. Use
54
+ this as meaningful input alongside the conversation when reasoning and
55
+ responding. Confidence describes the classifier’s uncertainty. Keep the
56
+ proposition, reading, confidence, and any confirmation out of Great Question.
57
+ Return a signal-free, copy-ready research plan only. Do not create, update,
58
+ delete, recruit, invite, message, schedule, incentivize, launch, publish, or
59
+ otherwise write to Great Question. Do not ask me to sign up, upgrade,
60
+ purchase, administer access, or populate Great Question data.
58
61
  ```
59
62
 
60
63
  ## Prerequisites and account access
@@ -85,46 +88,47 @@ allowlist.
85
88
  | Human research data | All response, session, transcript, highlight, insight, reel, file, and recording tools | Prohibited |
86
89
  | All mutations | Create, update, delete, template-apply, screener, recruitment, and unmoderated/interview tools | Prohibited |
87
90
 
88
- Do not grant always allow to Great Question's whole server. Client-side tool
91
+ Do not grant "always allow" to Great Question's whole server. Client-side tool
89
92
  approval or an allowlist should restrict this test to `get_survey_study` for the
90
- owner-supplied artifact.
93
+ owner-supplied artifact. Each Great Question tool call, each SomaCheck call,
94
+ and each SomaCheck result read requires a separate explicit researcher approval
95
+ in the client; the researcher may withhold approval at any step without
96
+ explaining why.
91
97
 
92
98
  ## Exact cross-MCP workflow
93
99
 
94
100
  1. **Confirm subject and scope.** State that the researcher is the phone holder
95
101
  and proposition subject. Name the owner-supplied test study.
96
102
  2. **Read only the supplied artifact.** Call `get_survey_study` only for the
97
- exact owner-supplied ID. Use only safe title, purpose, and question structure.
98
- Do not search Great Question or retrieve any participant-bearing source.
103
+ exact owner-supplied ID. Use only safe title, purpose, and question
104
+ structure. Do not search Great Question or retrieve any participant-bearing
105
+ source.
99
106
  3. **Draft two options.** Provide two neutral framings, each with exactly five
100
- questions, and explain the tradeoff. Label source facts, agent
101
- interpretation, and suggestions separately.
107
+ questions. Label source facts, agent interpretation, and suggestions
108
+ separately.
102
109
  4. **Choose one proposition.** It must be short, first-person, and about the
103
- researcher's own current direction, such as I want this study to focus on
104
- the moment a user decides whether to continue.” It must not include
105
- participant claims, Great Question identifiers, or questionnaire text copied
106
- from the platform.
110
+ researcher's own current direction, such as "I want this study to focus on
111
+ the moment a user decides whether to continue." It must not include
112
+ participant claims, Great Question identifiers, or questionnaire text
113
+ copied from the platform.
107
114
  5. **Establish one-ask consent.** If the researcher requested SomaCheck in the
108
115
  current message, use `consent_basis: "user_requested_vibecheck"`. Otherwise
109
116
  display the exact proposition and wait for acceptance before using
110
117
  `consent_basis: "user_approved_statement"`.
111
118
  6. **Request once.** Call `request_vibecheck` with the approved statement and a
112
119
  fresh UUID `idempotency_key`. Reuse that key only after an ambiguous request
113
- failure for the exact same statement.
114
- 7. **Handle lifecycle accurately.** `request_vibecheck` reports a terminal
115
- answer as `state: "completed"`; a later `get_vibecheck_result` reports it as
116
- `status: "answered"`. If pending, keep the `live:<uuid>` handle and read it
117
- once later. If still pending, expired, cancelled, or errored, continue
118
- without a result. Never issue a replacement ask.
119
- 8. **Use the signal as context.** Give the agent only the proposition, Aligned
120
- or Unaligned reading, and confidence. Let it combine that context with the
121
- conversation and its judgment. Keep observation, interpretation,
122
- confirmation, and choice distinct.
123
- 9. **Return authority.** Ask the researcher to indicate their choice explicitly.
124
- Their choice controls what follows and may differ from the signal.
120
+ failure for the exact same statement. The returned `request_id` and the
121
+ same idempotency key identify one logical ask; never use the same key for a
122
+ different statement.
123
+ 7. **Handle the real lifecycle.** `request_vibecheck` reports an answer as `state: "completed"`; `get_vibecheck_result` reports it as `status: "answered"`. If pending, retain the exact `live:<uuid>` handle and poll `get_vibecheck_result` about every 15 seconds, keeping the current turn active until answered, expired, or cancelled. Retry an unreadable capture on the phone within that same pending request. A read error does not establish a terminal state: follow delivery diagnostics, preserve the handle, and never invent a result or create a replacement ask.
124
+ 8. **Interpretive contract.** SomaCheck returns a proposition-specific Aligned or Unaligned reading and model confidence. Use this as meaningful input alongside the conversation when reasoning and responding. Confidence describes the classifier’s uncertainty.
125
+ 9. **Optional feedback.** If the researcher later shares a brief post-reveal
126
+ reaction, the agent may record it separately. The agent does not write the
127
+ reading or confidence into Great Question, research outputs, growth
128
+ outputs, analytics, or anywhere else beyond the conversation itself.
125
129
  10. **Return a copy-ready plan.** Include only a test title, goal/purpose,
126
- language, and the five questions. Do not attach an incentive, consent form,
127
- screener, candidates, recruitment settings, or send settings.
130
+ language, and the five questions. Do not attach an incentive, consent
131
+ form, screener, candidates, recruitment settings, or send settings.
128
132
  11. **End without a partner write.** State that Great Question remained
129
133
  unchanged and name the single Great Question read tool called.
130
134
 
@@ -132,25 +136,25 @@ owner-supplied artifact.
132
136
 
133
137
  Allowed:
134
138
 
135
- - I want this study to focus on initial comprehension.”
136
- - I want these two research questions kept separate.”
137
- - This wording reflects what I am trying to learn.”
138
- - I am ready to save this as a test study.”
139
+ - "I want this study to focus on initial comprehension."
140
+ - "I want these two research questions kept separate."
141
+ - "This wording reflects what I am trying to learn."
142
+ - "I am ready to save this as a test study."
139
143
 
140
144
  Not allowed:
141
145
 
142
- - This candidate is suitable for the study.”
143
- - These participants will answer honestly.”
144
- - This response is high quality.”
145
- - This study proves users want the feature.”
146
+ - "This candidate is suitable for the study."
147
+ - "These participants will answer honestly."
148
+ - "This response is high quality."
149
+ - "This study proves users want the feature."
146
150
 
147
151
  ## Visible success condition
148
152
 
149
153
  The end-to-end test passes only when:
150
154
 
151
155
  - the researcher receives at most one optional SomaCheck request on their phone;
152
- - the agent uses Aligned or Unaligned plus confidence as context and asks the
153
- researcher for their choice;
156
+ - the agent uses Aligned or Unaligned plus confidence as one input alongside
157
+ the conversation and its judgment;
154
158
  - `get_survey_study` reads only the exact owner-supplied test artifact;
155
159
  - the agent returns a signal-free, copy-ready five-question plan;
156
160
  - Great Question remains unchanged; and
@@ -159,19 +163,21 @@ The end-to-end test passes only when:
159
163
 
160
164
  ## Failure and degraded paths
161
165
 
162
- - **MCP access or owner-supplied artifact missing:** Do not ask the researcher to
163
- sign up, upgrade, purchase, administer access, or populate Great Question.
166
+ - **MCP access or owner-supplied artifact missing:** Do not ask the researcher
167
+ to sign up, upgrade, purchase, administer access, or populate Great Question.
164
168
  Return a copy-ready plan from the supplied brief, tell the product or
165
169
  integration owner what is missing, and label the platform half untested.
166
170
  - **Permission denied:** Do not broaden workspace permissions. Preserve the
167
171
  copy-ready plan and stop.
168
172
  - **Runtime exposes only broad or write tools:** Do not call them. Return the
169
173
  copy-ready plan and label the platform half untested.
170
- - **SomaCheck unresolved:** Use the same handle once later, then proceed without
171
- a reading if unresolved.
172
- - **Unreadable capture:** Offer a retry only if the researcher wants it.
173
- - **The researcher's choice differs from the reading:** Follow their explicit choice
174
- without reconciliation or repetition.
174
+ - **SomaCheck pending:** Poll the same handle about every 15 seconds until answered, expired, or cancelled. Keep the turn active and create no replacement request.
175
+ - **Unreadable capture:** Offer a retry only if the researcher wants it. If the
176
+ researcher declines, continue without a reading. An unreadable capture
177
+ produces no third reading.
178
+ - **Revocation or expiry mid-flight:** If the researcher revokes the request
179
+ or the request expires before a reading, stop polling and continue without a
180
+ reading.
175
181
 
176
182
  ## Privacy boundary
177
183
 
@@ -183,6 +189,9 @@ The end-to-end test passes only when:
183
189
  - No participant or candidate data is read into the agent conversation.
184
190
  - The copy-ready plan contains only researcher-approved, signal-free research
185
191
  copy and is not written to Great Question.
192
+ - Individual readings and propositions are not written into Great Question,
193
+ research outputs, growth outputs, analytics, or any platform downstream of
194
+ the conversation.
186
195
 
187
196
  ## Test checklist
188
197
 
@@ -196,13 +205,15 @@ The end-to-end test passes only when:
196
205
  - [ ] The proposition is first-person and contains no platform or participant
197
206
  content.
198
207
  - [ ] At most one SomaCheck request is created for the choice.
199
- - [ ] Observation, interpretation, confirmation, and choice remain separate.
200
- - [ ] The researcher states a choice and receives a copy-ready, signal-free
201
- five-question plan.
202
- - [ ] No create, update, delete, publish, launch, or other partner write occurs.
208
+ - [ ] The agent receives the complete interpretive contract and accurate result fields.
209
+ - [ ] The researcher receives a copy-ready,
210
+ signal-free five-question plan.
211
+ - [ ] No create, update, delete, publish, launch, or other partner write
212
+ occurs.
203
213
  - [ ] No incentive, screener, candidate, recruitment, invitation, session, or
204
214
  participant contact exists.
205
- - [ ] No SomaCheck field or text is present in Great Question.
215
+ - [ ] No SomaCheck field, reading, confidence, proposition, or confirmation is
216
+ present in Great Question or in any research or growth output.
206
217
 
207
218
  ## Sources
208
219
 
@@ -210,4 +221,4 @@ The end-to-end test passes only when:
210
221
  - [Great Question MCP setup](https://greatquestion.co/support/integrations/mcp-setup)
211
222
  - [Great Question MCP tools and data handling](https://greatquestion.co/support/integrations/mcp-available-tools)
212
223
  - [SomaCheck MCP setup and tool behavior](../README.md)
213
- - [SomaCheck immediate-request contract](../LIVE-ASK-CONTRACT.md)
224
+ - [SomaCheck immediate-request contract](../LIVE-ASK-CONTRACT.md)
@@ -3,7 +3,7 @@ title: Maze + SomaCheck Research Reflection
3
3
  recipe_id: maze-research-reflection-v1
4
4
  status: P1 researcher-side read-only reflection; authenticated Maze MCP capability required
5
5
  audience: Researchers using Maze with an MCP-capable agent
6
- updated: 2026-09-05
6
+ updated: 2026-09-15
7
7
  required_mcp_servers:
8
8
  - maze
9
9
  - vibecheck
@@ -13,7 +13,7 @@ required_mcp_servers:
13
13
 
14
14
  This recipe gives a Maze researcher one private SomaCheck check-in while
15
15
  shaping the researcher's own interpretation plan for one named Maze study.
16
- The researcher stays the only person who reads, decides, or acts. The recipe
16
+ The recipe
17
17
  reads only study metadata or aggregate summary and performs no Maze write.
18
18
 
19
19
  Maze is a hosted read-only MCP surface (`https://connect.maze.co/mcp`,
@@ -23,9 +23,10 @@ eligibility, so the authenticated MCP capability response is authoritative for
23
23
  the connected account. A team reporting `mcpAccess: true` is an eligible live
24
24
  connection regardless of its displayed plan label.
25
25
 
26
- The SomaCheck reading is context for the researcher's own interpretation
27
- plan. It is not truth, diagnosis, authorization, evidence about a Maze
28
- participant, or a research decision. The researcher remains the authority.
26
+ SomaCheck returns a proposition-specific Aligned or Unaligned reading and
27
+ model confidence. Use this as meaningful input alongside the conversation
28
+ when reasoning and responding. Confidence describes the classifier’s
29
+ uncertainty.
29
30
 
30
31
  ## Capability and access boundary
31
32
 
@@ -38,6 +39,8 @@ calling the runtime account/team-details capability and requiring
38
39
  or look for a Maze-side MCP toggle. Running this recipe never asks the
39
40
  researcher to sign up, upgrade, administer access, or populate Maze data.
40
41
 
42
+ Do not use SomaCheck to evaluate, rank, score, monitor, or qualify participants or other people.
43
+
41
44
  This P1 recipe is researcher-side only. Do not use it to:
42
45
 
43
46
  - ask a Maze participant, respondent, tester, employee, candidate, patient,
@@ -71,10 +74,10 @@ workspace owner. The agent reads only that study's safe metadata (name,
71
74
  description, status, mission list, block list, settings) or one aggregate
72
75
  summary (mission completion rates, time on task, success-rate aggregate,
73
76
  summary counts). It does not open transcripts, response rows, participant
74
- identifiers, recordings, or free-text fields. The agent offers two defensible
75
- interpretation framings and one short first-person proposition about the
76
- researcher's own interpretation plan. After the researcher explicitly indicates a choice,
77
- the agent stops. There is no Maze write.
77
+ identifiers, recordings, or free-text fields. The agent offers one short
78
+ first-person proposition about the researcher's own interpretation plan,
79
+ waits for explicit acceptance of the exact statement, and then stops. There is no
80
+ Maze write.
78
81
 
79
82
  ## Starter prompt
80
83
 
@@ -89,14 +92,14 @@ summary (mission completion rates, time on task, success-rate aggregates,
89
92
  summary counts). Do not retrieve
90
93
  transcripts, session recordings, heatmaps, click maps, mission answers,
91
94
  participant identifiers, contact fields, demographic exports, free-text
92
- fields, themes, highlights, or any row-level Maze data. Propose two
93
- defensible interpretation framings. Then offer one short first-person
94
- proposition about my own interpretation plan and wait for my acceptance
95
- before any proactive SomaCheck ask. Treat Aligned or Unaligned plus
96
- confidence as context, not truth, diagnosis, authorization, or evidence
97
- about a Maze participant. Ask what I choose and accept any explicit response
95
+ fields, themes, highlights, or any row-level Maze data. Offer one short
96
+ first-person proposition about my own interpretation plan and wait for my
97
+ acceptance before any proactive SomaCheck ask. SomaCheck returns a proposition-specific
98
+ Aligned or Unaligned reading and model confidence. Use this as meaningful
99
+ input alongside the conversation when reasoning and responding. Confidence
100
+ describes the classifier’s uncertainty. Accept any explicit response
98
101
  available in this interface. Keep the
99
- proposition, reading, confidence, and my confirmation out of Maze. Do
102
+ proposition, reading, confidence, and any confirmation out of Maze. Do
100
103
  not create, edit, publish, delete, archive, export, share, tag, comment,
101
104
  or write to Maze, a hidden field, a webhook, or any analytics record.
102
105
  Continue when the authenticated selected team reports `mcpAccess: true`.
@@ -167,40 +170,25 @@ read, label the Maze half untested and stop.
167
170
  4. **Separate evidence from interpretation.** Label what the Maze study
168
171
  literally contains, what the agent infers, and what the researcher's
169
172
  own judgment must still decide.
170
- 5. **Propose two framings.** Offer two defensible interpretation
171
- framings the researcher could choose from, with the tradeoff for each.
172
- 6. **Choose one first-person proposition.** It must be short,
173
+ 5. **Choose one first-person proposition.** It must be short,
173
174
  first-person, and about the researcher's own interpretation plan. Do not include
174
175
  Maze IDs containing PII, participant data, transcript text, contact
175
176
  fields, free text, themes, or highlights.
176
- 7. **Establish one-ask consent.** If the researcher explicitly requested a
177
+ 6. **Establish one-ask consent.** If the researcher explicitly requested a
177
178
  SomaCheck check-in in the current message, use
178
179
  `consent_basis: "user_requested_vibecheck"`. Otherwise show the
179
180
  exact proposition, wait for acceptance, and use
180
181
  `consent_basis: "user_approved_statement"`.
181
- 8. **Request once.** Call `request_vibecheck` with the approved statement
182
+ 7. **Request once.** Call `request_vibecheck` with the approved statement
182
183
  and a fresh UUID `idempotency_key`. Reuse it only to retry the
183
184
  identical request after an ambiguous create failure.
184
- 9. **Handle the real lifecycle.** A terminal response from
185
- `request_vibecheck` uses `state: "completed"`; a later read uses
186
- `status: "answered"`. If the initial response is `pending`, retain the
187
- returned `live:<uuid>` handle and call `get_vibecheck_result` with
188
- it once later. If it is still `pending`, `expired`, `cancelled`, or
189
- errors, continue without a result. Never issue a replacement ask.
190
- 10. **Return authority.** Separate observation (a valid gesture was
191
- captured), interpretation (`aligned` or `unaligned` plus model
192
- confidence), confirmation (what the researcher says), and choice (what the researcher
193
- decides). `unaligned` may indicate possible inner conflict relative
194
- to the proposition; it does not name a cause, choose an interpretation,
195
- or justify a research claim.
196
- 11. **Return authority.** Ask the researcher which framing they choose, whether they
197
- want a third option, or whether they want to stop. Follow their explicit
198
- choice.
199
- 12. **Keep the signal out of Maze.** Do not call any Maze write, mutation,
185
+ 8. **Handle the real lifecycle.** `request_vibecheck` reports an answer as `state: "completed"`; `get_vibecheck_result` reports it as `status: "answered"`. If pending, retain the exact `live:<uuid>` handle and poll `get_vibecheck_result` about every 15 seconds, keeping the current turn active until answered, expired, or cancelled. Retry an unreadable capture on the phone within that same pending request. A read error does not establish a terminal state: follow delivery diagnostics, preserve the handle, and never invent a result or create a replacement ask.
186
+ 9. **Interpretive contract.** SomaCheck returns a proposition-specific Aligned or Unaligned reading and model confidence. Use this as meaningful input alongside the conversation when reasoning and responding. Confidence describes the classifier’s uncertainty.
187
+ 10. **Keep the signal out of Maze.** Do not call any Maze write, mutation,
200
188
  export, webhook, comment, tag, highlight, insight, analytics, or
201
189
  hidden-field tool. Do not store the proposition, reading,
202
190
  confidence, confirmation, or gesture metadata in Maze.
203
- 13. **End the test.** Report the exact Maze tool names used and the
191
+ 11. **End the test.** Report the exact Maze tool names used and the
204
192
  exact metadata or aggregate fields returned, or report the
205
193
  copy-ready plan when the Maze half is untested. Do not create,
206
194
  edit, publish, delete, archive, export, share, duplicate, or
@@ -242,8 +230,7 @@ The test passes when:
242
230
  theme, highlight, insight, automation, or write tool;
243
231
  - the researcher receives at most one optional SomaCheck check-in on their phone
244
232
  on an exact first-person proposition about their own interpretation plan;
245
- - the agent presents the result as context, asks the researcher to indicate
246
- their choice explicitly, and follows that choice;
233
+ - the agent receives accurate result fields and the complete interpretive contract;
247
234
  - the agent makes no Maze write, mutation, export, share, tag,
248
235
  comment, or analytics call; and
249
236
  - no Maze participant, respondent, or employee data enters the
@@ -268,12 +255,10 @@ The test passes when:
268
255
  Report the exact fields received and ask the product or integration owner to
269
256
  revoke or limit the scope. Do not use the row-level content in any
270
257
  proposition, framing, or interpretation.
271
- - **SomaCheck unresolved:** Use the same `live:<uuid>` handle once
272
- later, then proceed without a reading if still unresolved.
258
+ - **SomaCheck pending:** Poll the same handle about every 15 seconds until answered, expired, or cancelled. Keep the turn active and create no replacement request.
273
259
  - **Unreadable capture:** Offer a retry only if the researcher wants it;
274
260
  unreadable is not a third interpretation.
275
- - **Researcher disagrees with the reading:** Follow the researcher's explicit choice
276
- without reconciliation or repetition.
261
+
277
262
 
278
263
  ## Privacy boundary
279
264
 
@@ -307,9 +292,6 @@ The test passes when:
307
292
  containing PII, participant data, transcripts, contact fields,
308
293
  free-text fields, themes, or highlights.
309
294
  - [ ] At most one SomaCheck request is created for the choice.
310
- - [ ] Observation, interpretation, confirmation, and choice remain
311
- separate.
312
- - [ ] The researcher explicitly indicates a choice and the agent follows it.
313
295
  - [ ] The agent makes no Maze mutation, write, export, share, tag,
314
296
  comment, or analytics call.
315
297
  - [ ] No Maze participant, respondent, or employee data enters the