@somacheck/vibecheck 0.6.10 → 0.6.12
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/LICENSE +21 -0
- package/README.md +108 -17
- package/claude-marketplace/.claude-plugin/marketplace.json +1 -1
- package/claude-marketplace/plugins/vibecheck/.claude-plugin/plugin.json +4 -4
- package/claude-marketplace/plugins/vibecheck/hooks/hooks.json +1 -1
- package/dist/claude-hook.js +4 -0
- package/dist/cli.js +42 -10
- package/dist/client-setup.js +8 -2
- package/dist/constants.js +2 -1
- package/dist/readiness.js +2 -2
- package/dist/recipes.js +191 -0
- package/dist/runtime-mode.js +14 -0
- package/dist/server.js +44 -21
- package/package.json +4 -4
- package/recipes/chattermill-research-reflection.md +323 -0
- package/recipes/dovetail-research-reflection.md +204 -0
- package/recipes/great-question-research-reflection.md +212 -0
- package/recipes/maze-research-reflection.md +325 -0
- package/recipes/prolific-research-reflection.md +215 -0
- package/recipes/questionpro-research-reflection.md +151 -0
- package/recipes/spotify-listening-reflection.md +459 -0
- package/recipes/sprig-research-reflection.md +222 -0
- package/recipes/studio-somacheck-context.md +202 -0
- package/recipes/typeform-research-reflection.md +211 -0
- package/recipes/user-interviews-research-reflection.md +253 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Dovetail + SomaCheck Research Reflection
|
|
3
|
+
recipe_id: dovetail-research-reflection-v1
|
|
4
|
+
status: P1 researcher-side only
|
|
5
|
+
audience: Researchers using Dovetail with an MCP-capable agent
|
|
6
|
+
updated: 2026-09-03
|
|
7
|
+
required_mcp_servers:
|
|
8
|
+
- dovetail
|
|
9
|
+
- vibecheck
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Dovetail + SomaCheck Research Reflection
|
|
13
|
+
|
|
14
|
+
Use this recipe when a researcher wants a private, consented signal about their
|
|
15
|
+
own response to research work held in Dovetail. It supports reflection on
|
|
16
|
+
question wording, study design, and evidence interpretation. It does not assess
|
|
17
|
+
participants and does not add SomaCheck readings to the research record.
|
|
18
|
+
|
|
19
|
+
The reading is context for the researcher. It is not truth, a diagnosis,
|
|
20
|
+
authorization, evidence about a participant, or a research decision. The
|
|
21
|
+
researcher remains the authority.
|
|
22
|
+
|
|
23
|
+
## Launch boundary
|
|
24
|
+
|
|
25
|
+
This P1 recipe is **researcher-side only**. The person holding the phone and
|
|
26
|
+
receiving the SomaCheck result must be the researcher interacting with the
|
|
27
|
+
agent.
|
|
28
|
+
|
|
29
|
+
Do not use this recipe to:
|
|
30
|
+
|
|
31
|
+
- ask a participant or employee to complete a SomaCheck;
|
|
32
|
+
- read, infer, compare, rank, monitor, or gate a participant;
|
|
33
|
+
- export a participant reading, confidence, or confirmation into Dovetail;
|
|
34
|
+
- tag, score, or characterize a transcript, highlight, contact, response, or
|
|
35
|
+
participant using a SomaCheck result;
|
|
36
|
+
- decide eligibility, compensation, research quality, truthfulness, or whether
|
|
37
|
+
evidence should be included; or
|
|
38
|
+
- run a live respondent workflow.
|
|
39
|
+
|
|
40
|
+
Participant-facing use stays blocked until a `respondent_private` architecture
|
|
41
|
+
technically prevents researcher or platform access to individual readings, a
|
|
42
|
+
methodology and ethics review is complete, and Mike gives explicit approval.
|
|
43
|
+
Documentation or workspace access is not approval to cross this boundary.
|
|
44
|
+
|
|
45
|
+
## Prerequisites
|
|
46
|
+
|
|
47
|
+
1. The researcher has linked the `vibecheck` MCP server to their own SomaCheck
|
|
48
|
+
account and can see `request_vibecheck` and `get_vibecheck_result`.
|
|
49
|
+
2. The agent has the Dovetail MCP connection authorized by the researcher. Use
|
|
50
|
+
Dovetail's hosted endpoint, `https://dovetail.com/api/mcp`, or its documented
|
|
51
|
+
self-hosted server. Keep API tokens in the MCP client's secret configuration,
|
|
52
|
+
never in prompts, propositions, comments, or logs.
|
|
53
|
+
3. The researcher names the exact Dovetail doc in scope. Access to a workspace
|
|
54
|
+
is not consent to search the whole workspace.
|
|
55
|
+
4. The source is allowlisted: a researcher-authored research brief, discussion
|
|
56
|
+
guide, study plan, or de-identified researcher-authored synthesis.
|
|
57
|
+
|
|
58
|
+
Never open raw interviews, transcripts, recordings, highlights, channel data,
|
|
59
|
+
contacts, participant identifiers, or participant-authored responses for this
|
|
60
|
+
recipe. If the selected Dovetail artifact mixes allowed planning material with
|
|
61
|
+
participant content, stop and ask for a researcher-authored, de-identified
|
|
62
|
+
summary.
|
|
63
|
+
|
|
64
|
+
## Dovetail tool policy
|
|
65
|
+
|
|
66
|
+
Use the smallest read scope that answers the researcher's request.
|
|
67
|
+
|
|
68
|
+
| Purpose | Dovetail MCP tools | Rule |
|
|
69
|
+
| --- | --- | --- |
|
|
70
|
+
| Locate the named planning artifact | `get_doc`, or `list_docs` only when the researcher supplied a title rather than an ID | Use `get_doc` directly for a researcher-supplied ID. Do not list the workspace or search content when the ID is already known. |
|
|
71
|
+
| Read the planning artifact | `get_doc_content` | Read only an allowlisted researcher-authored doc. |
|
|
72
|
+
| Record a chosen next step | `create_comment` | Optional; call only after the researcher explicitly approves the exact comment. Never include the reading or confidence. |
|
|
73
|
+
| Broad or participant-bearing content | `search_workspace`, project-data, highlight, channel, contact, and file-download tools | Do not call in this recipe. |
|
|
74
|
+
| Other writes | project, folder, doc, data, tag, upload, and import creation tools | Not part of this recipe. Require a separate, explicit user request. |
|
|
75
|
+
|
|
76
|
+
## Exact cross-MCP workflow
|
|
77
|
+
|
|
78
|
+
Follow these steps in order. Never call Dovetail and SomaCheck in a way that
|
|
79
|
+
makes the reading an automatic write condition.
|
|
80
|
+
|
|
81
|
+
1. **Confirm the subject and scope.** State that the researcher is reflecting
|
|
82
|
+
on their own response. Name the one Dovetail doc to read.
|
|
83
|
+
2. **Retrieve only the approved artifact.** If the researcher supplied a doc ID,
|
|
84
|
+
resolve it directly with `get_doc`. If they supplied only a title, use
|
|
85
|
+
`list_docs` to match that exact title, then resolve it with `get_doc`. Read the
|
|
86
|
+
approved doc with `get_doc_content`. Do not call `search_workspace`. Stop if
|
|
87
|
+
the doc contains participant-authored or identifying material.
|
|
88
|
+
3. **Separate evidence from interpretation.** Summarize:
|
|
89
|
+
- what the planning artifact literally says;
|
|
90
|
+
- what the agent infers may need attention; and
|
|
91
|
+
- two or more reasonable options the researcher could choose.
|
|
92
|
+
4. **Choose one first-person proposition.** It must express the researcher's
|
|
93
|
+
present experience or choice, not a claim about participants. Do not place
|
|
94
|
+
Dovetail content, participant text, names, project identifiers, or secrets in
|
|
95
|
+
the proposition.
|
|
96
|
+
5. **Establish one-ask consent.** If the researcher explicitly asked for a
|
|
97
|
+
SomaCheck vibecheck in the current message, call `request_vibecheck` with
|
|
98
|
+
`consent_basis: "user_requested_vibecheck"`. Otherwise show the exact
|
|
99
|
+
proposition, wait for acceptance, and use
|
|
100
|
+
`consent_basis: "user_approved_statement"`.
|
|
101
|
+
6. **Request once.** Call `request_vibecheck` with the approved statement and a
|
|
102
|
+
fresh UUID as `idempotency_key`. Reuse that UUID only to retry the same
|
|
103
|
+
statement after an ambiguous create failure. Never repeat an ask to seek a
|
|
104
|
+
preferred result.
|
|
105
|
+
7. **Handle the exact result.** `request_vibecheck` reports a terminal answer as
|
|
106
|
+
`state: "completed"`; a later `get_vibecheck_result` read reports the same
|
|
107
|
+
lifecycle point as `status: "answered"`. Treat either as the terminal result
|
|
108
|
+
and keep four layers distinct: observation (a valid gesture was captured),
|
|
109
|
+
interpretation (`aligned` or `unaligned` plus model confidence), confirmation
|
|
110
|
+
(what the researcher says), and choice (what the researcher decides).
|
|
111
|
+
`unaligned` means possible inner conflict relative to the proposition; it
|
|
112
|
+
does not identify a cause. If the initial response is `pending`, retain its
|
|
113
|
+
`live:<uuid>` handle and call `get_vibecheck_result` with that exact handle
|
|
114
|
+
once later. Do not create a replacement request. If that read is still
|
|
115
|
+
`pending`, is `expired` or `cancelled`, or errors, continue without a result;
|
|
116
|
+
do not infer one or start another request.
|
|
117
|
+
8. **Return authority.** Offer the options to revise, investigate, proceed,
|
|
118
|
+
pause, or leave the artifact unchanged. A typed researcher choice overrides
|
|
119
|
+
the signal.
|
|
120
|
+
9. **Keep the signal private.** Do not write the verdict, confidence, gesture,
|
|
121
|
+
or confirmation to Dovetail. If the researcher asks to record a next step,
|
|
122
|
+
show a signal-free comment first and call `create_comment` only after exact
|
|
123
|
+
approval.
|
|
124
|
+
|
|
125
|
+
## Proposition examples
|
|
126
|
+
|
|
127
|
+
Good propositions are short, first-person, and about the researcher:
|
|
128
|
+
|
|
129
|
+
- “I can explain why this question asks one thing at a time.”
|
|
130
|
+
- “I want to use this discussion guide in its current form.”
|
|
131
|
+
- “My interpretation separates what participants said from what I inferred.”
|
|
132
|
+
- “I am ready to treat this synthesis as one input to the next design choice.”
|
|
133
|
+
- “I want to investigate a competing explanation before I proceed.”
|
|
134
|
+
|
|
135
|
+
Never send propositions such as:
|
|
136
|
+
|
|
137
|
+
- “This participant is telling the truth.”
|
|
138
|
+
- “This transcript is high quality.”
|
|
139
|
+
- “These users support the conclusion.”
|
|
140
|
+
- “This employee is aligned with the company.”
|
|
141
|
+
|
|
142
|
+
## Trigger and anti-trigger rules
|
|
143
|
+
|
|
144
|
+
Trigger this recipe when the researcher explicitly asks to reflect with
|
|
145
|
+
SomaCheck. The agent may also **offer** one check when the researcher is choosing
|
|
146
|
+
between defensible question phrasings, sees tension between evidence and an
|
|
147
|
+
interpretation, or says that something in the design feels off but is hard to
|
|
148
|
+
name. An offer must include the exact proposition and must not call the tool
|
|
149
|
+
until accepted.
|
|
150
|
+
|
|
151
|
+
Do not trigger when:
|
|
152
|
+
|
|
153
|
+
- the task is ordinary Dovetail retrieval, summarization, tagging, or export;
|
|
154
|
+
- the proposed subject is anyone other than the researcher;
|
|
155
|
+
- the source contains raw or identifiable participant material;
|
|
156
|
+
- the researcher has already made a clear typed choice;
|
|
157
|
+
- the result would determine inclusion, quality, compensation, performance, or
|
|
158
|
+
another consequential outcome; or
|
|
159
|
+
- a vibecheck was already used for the same decision.
|
|
160
|
+
|
|
161
|
+
## Consent, privacy, and failure behavior
|
|
162
|
+
|
|
163
|
+
Linking the MCP servers is setup, not blanket consent. A proactive check always
|
|
164
|
+
requires acceptance of its exact wording. Never send raw conversations,
|
|
165
|
+
Dovetail text, participant data, identifiers, secrets, or diagnostic claims to
|
|
166
|
+
SomaCheck. Raw phone motion never goes to the agent or Dovetail.
|
|
167
|
+
|
|
168
|
+
If Dovetail authorization fails, ask the researcher to repair the connection;
|
|
169
|
+
never request that they paste a token. If the document's provenance or
|
|
170
|
+
de-identification is unclear, stop before reading it. If SomaCheck reports an
|
|
171
|
+
unreadable capture, request a retry only if the researcher wants one; unreadable
|
|
172
|
+
is not a third interpretation. If the request expires, is cancelled, or errors,
|
|
173
|
+
continue without a reading. Never infer a result. If the result and the
|
|
174
|
+
researcher's words differ, follow the researcher's words and preserve the
|
|
175
|
+
difference rather than reconciling it into a score.
|
|
176
|
+
|
|
177
|
+
## Verification checklist
|
|
178
|
+
|
|
179
|
+
- [ ] Both MCP servers expose their expected tools; no credential appears in
|
|
180
|
+
chat or logs.
|
|
181
|
+
- [ ] The agent names one researcher-authored, participant-free Dovetail doc.
|
|
182
|
+
- [ ] Broad search and disallowed Dovetail data, highlight, channel, contact,
|
|
183
|
+
and download tools are not called.
|
|
184
|
+
- [ ] The proposition is first-person and contains no Dovetail or participant
|
|
185
|
+
content.
|
|
186
|
+
- [ ] A proactive ask waits for acceptance; an explicit user request does not
|
|
187
|
+
add a redundant consent prompt.
|
|
188
|
+
- [ ] One decision creates at most one `request_vibecheck` request and preserves
|
|
189
|
+
its stable pending handle.
|
|
190
|
+
- [ ] The response distinguishes observation, interpretation, confirmation, and
|
|
191
|
+
choice.
|
|
192
|
+
- [ ] No reading, confidence, confirmation, or participant inference is written
|
|
193
|
+
to Dovetail.
|
|
194
|
+
- [ ] Any Dovetail comment contains only the researcher's explicitly approved,
|
|
195
|
+
signal-free next step.
|
|
196
|
+
- [ ] Participant-facing behavior remains blocked by the `respondent_private`,
|
|
197
|
+
methodology/ethics, and Mike-approval gates.
|
|
198
|
+
|
|
199
|
+
## Sources
|
|
200
|
+
|
|
201
|
+
- [Dovetail MCP server documentation](https://developers.dovetail.com/docs/mcp)
|
|
202
|
+
- [Dovetail API overview](https://docs.dovetail.com/integrations/dovetail-api)
|
|
203
|
+
- [SomaCheck MCP setup and tool behavior](../README.md)
|
|
204
|
+
- [SomaCheck immediate-request contract](../LIVE-ASK-CONTRACT.md)
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Great Question + SomaCheck Research Reflection
|
|
3
|
+
recipe_id: great-question-research-reflection-v1
|
|
4
|
+
status: P1 researcher-private, read-only partner-sandbox validation
|
|
5
|
+
audience: Researchers using Great Question with an MCP-capable agent
|
|
6
|
+
updated: 2026-09-05
|
|
7
|
+
required_mcp_servers:
|
|
8
|
+
- great-question
|
|
9
|
+
- vibecheck
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Great Question + SomaCheck Research Reflection
|
|
13
|
+
|
|
14
|
+
This recipe gives a researcher one private SomaCheck check-in while reviewing a
|
|
15
|
+
participant-free Great Question test artifact provisioned by a product or
|
|
16
|
+
integration owner. The observable result is a copy-ready research plan informed
|
|
17
|
+
by the artifact's safe structure. Great Question remains unchanged. No
|
|
18
|
+
candidate, participant, transcript, response, session, highlight, or insight is
|
|
19
|
+
read, assessed, or changed.
|
|
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.
|
|
24
|
+
|
|
25
|
+
## Researcher experience
|
|
26
|
+
|
|
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.
|
|
35
|
+
|
|
36
|
+
## Starter prompt
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
Use Great Question and SomaCheck to help me reflect on a five-question test
|
|
40
|
+
survey plan without changing Great Question. I am the researcher and I am
|
|
41
|
+
holding the phone. The product or integration owner has provisioned a partner
|
|
42
|
+
sandbox and named this participant-free test study: [TEST STUDY NAME OR ID].
|
|
43
|
+
Read only that study's safe title, purpose, and question structure with
|
|
44
|
+
get_survey_study. Do not search or list the workspace, and do not read
|
|
45
|
+
candidates, participants, screeners, responses, sessions, transcripts,
|
|
46
|
+
recordings, highlights, insights, reels, or other workspace data. Propose two
|
|
47
|
+
neutral study framings and show their exact questions. Then offer one short
|
|
48
|
+
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 in words. Keep the proposition, reading,
|
|
52
|
+
confidence, and my confirmation out of Great Question. Return a signal-free,
|
|
53
|
+
copy-ready research plan only. Do not create, update, delete, recruit, invite,
|
|
54
|
+
message, schedule, incentivize, launch, publish, or otherwise write to Great
|
|
55
|
+
Question. Do not ask me to sign up, upgrade, purchase, administer access, or
|
|
56
|
+
populate Great Question data.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Prerequisites and account access
|
|
60
|
+
|
|
61
|
+
1. A product or integration owner has provisioned an organization-authorized
|
|
62
|
+
Great Question connection or partner sandbox at
|
|
63
|
+
`https://greatquestion.co/api/mcp/v1`, with PII hiding enabled. Running this
|
|
64
|
+
recipe does not ask the researcher to sign up, upgrade, purchase, administer
|
|
65
|
+
access, or populate Great Question data.
|
|
66
|
+
2. The owner has supplied one clearly named, participant-free test study and
|
|
67
|
+
granted read access to that exact artifact through `get_survey_study`.
|
|
68
|
+
3. The client restricts the Great Question half to `get_survey_study` for that
|
|
69
|
+
owner-supplied ID. No discovery or mutation tool is approved.
|
|
70
|
+
4. The `vibecheck` server is connected to the researcher's SomaCheck account
|
|
71
|
+
and exposes `request_vibecheck` and `get_vibecheck_result`.
|
|
72
|
+
|
|
73
|
+
## Great Question tool policy
|
|
74
|
+
|
|
75
|
+
Great Question exposes a broad read/write MCP. This recipe uses an exact
|
|
76
|
+
allowlist.
|
|
77
|
+
|
|
78
|
+
| Purpose | Tool | Rule |
|
|
79
|
+
| --- | --- | --- |
|
|
80
|
+
| Read the supplied test artifact | `get_survey_study` | Read only the exact owner-supplied study ID and use only safe title, purpose, and question structure |
|
|
81
|
+
| Private reflection | `request_vibecheck`, optional `get_vibecheck_result` | One decision, one request, stable pending handle |
|
|
82
|
+
| Study discovery | `list_studies`, `search_studies`, `list_survey_studies`, `search_survey_studies` | Not needed; do not call |
|
|
83
|
+
| Candidates and recruitment | All candidate, participant, segment, screener-invitation, scheduling, moderator, and message tools | Prohibited |
|
|
84
|
+
| Human research data | All response, session, transcript, highlight, insight, reel, file, and recording tools | Prohibited |
|
|
85
|
+
| All mutations | Create, update, delete, template-apply, screener, recruitment, and unmoderated/interview tools | Prohibited |
|
|
86
|
+
|
|
87
|
+
Do not grant “always allow” to Great Question's whole server. Client-side tool
|
|
88
|
+
approval or an allowlist should restrict this test to `get_survey_study` for the
|
|
89
|
+
owner-supplied artifact.
|
|
90
|
+
|
|
91
|
+
## Exact cross-MCP workflow
|
|
92
|
+
|
|
93
|
+
1. **Confirm subject and scope.** State that the researcher is the phone holder
|
|
94
|
+
and proposition subject. Name the owner-supplied test study.
|
|
95
|
+
2. **Read only the supplied artifact.** Call `get_survey_study` only for the
|
|
96
|
+
exact owner-supplied ID. Use only safe title, purpose, and question structure.
|
|
97
|
+
Do not search Great Question or retrieve any participant-bearing source.
|
|
98
|
+
3. **Draft two options.** Provide two neutral framings, each with exactly five
|
|
99
|
+
questions, and explain the tradeoff. Label source facts, agent
|
|
100
|
+
interpretation, and suggestions separately.
|
|
101
|
+
4. **Choose one proposition.** It must be short, first-person, and about the
|
|
102
|
+
researcher's own current direction, such as “I want this study to focus on
|
|
103
|
+
the moment a user decides whether to continue.” It must not include
|
|
104
|
+
participant claims, Great Question identifiers, or questionnaire text copied
|
|
105
|
+
from the platform.
|
|
106
|
+
5. **Establish one-ask consent.** If the researcher requested SomaCheck in the
|
|
107
|
+
current message, use `consent_basis: "user_requested_vibecheck"`. Otherwise
|
|
108
|
+
display the exact proposition and wait for acceptance before using
|
|
109
|
+
`consent_basis: "user_approved_statement"`.
|
|
110
|
+
6. **Request once.** Call `request_vibecheck` with the approved statement and a
|
|
111
|
+
fresh UUID `idempotency_key`. Reuse that key only after an ambiguous request
|
|
112
|
+
failure for the exact same statement.
|
|
113
|
+
7. **Handle lifecycle accurately.** `request_vibecheck` reports a terminal
|
|
114
|
+
answer as `state: "completed"`; a later `get_vibecheck_result` reports it as
|
|
115
|
+
`status: "answered"`. If pending, keep the `live:<uuid>` handle and read it
|
|
116
|
+
once later. If still pending, expired, cancelled, or errored, continue
|
|
117
|
+
without a result. Never issue a replacement ask.
|
|
118
|
+
8. **Use the signal as context.** Give the agent only the proposition, Aligned
|
|
119
|
+
or Unaligned reading, and confidence. Let it combine that context with the
|
|
120
|
+
conversation and its judgment. Keep observation, interpretation,
|
|
121
|
+
confirmation, and choice distinct.
|
|
122
|
+
9. **Ask the researcher to choose in words.** Their typed answer controls what
|
|
123
|
+
follows and may differ from the signal.
|
|
124
|
+
10. **Return a copy-ready plan.** Include only a test title, goal/purpose,
|
|
125
|
+
language, and the five questions. Do not attach an incentive, consent form,
|
|
126
|
+
screener, candidates, recruitment settings, or send settings.
|
|
127
|
+
11. **End without a partner write.** State that Great Question remained
|
|
128
|
+
unchanged and name the single Great Question read tool called.
|
|
129
|
+
|
|
130
|
+
## Proposition examples
|
|
131
|
+
|
|
132
|
+
Allowed:
|
|
133
|
+
|
|
134
|
+
- “I want this study to focus on initial comprehension.”
|
|
135
|
+
- “I want these two research questions kept separate.”
|
|
136
|
+
- “This wording reflects what I am trying to learn.”
|
|
137
|
+
- “I am ready to save this as a test study.”
|
|
138
|
+
|
|
139
|
+
Not allowed:
|
|
140
|
+
|
|
141
|
+
- “This candidate is suitable for the study.”
|
|
142
|
+
- “These participants will answer honestly.”
|
|
143
|
+
- “This response is high quality.”
|
|
144
|
+
- “This study proves users want the feature.”
|
|
145
|
+
|
|
146
|
+
## Visible success condition
|
|
147
|
+
|
|
148
|
+
The end-to-end test passes only when:
|
|
149
|
+
|
|
150
|
+
- the researcher receives at most one optional SomaCheck request on their phone;
|
|
151
|
+
- the agent uses Aligned or Unaligned plus confidence as context and asks the
|
|
152
|
+
researcher for their choice;
|
|
153
|
+
- `get_survey_study` reads only the exact owner-supplied test artifact;
|
|
154
|
+
- the agent returns a signal-free, copy-ready five-question plan;
|
|
155
|
+
- Great Question remains unchanged; and
|
|
156
|
+
- no candidate, participant, response, transcript, scheduling, messaging,
|
|
157
|
+
incentive, invitation, or recruitment action occurred.
|
|
158
|
+
|
|
159
|
+
## Failure and degraded paths
|
|
160
|
+
|
|
161
|
+
- **MCP access or owner-supplied artifact missing:** Do not ask the researcher to
|
|
162
|
+
sign up, upgrade, purchase, administer access, or populate Great Question.
|
|
163
|
+
Return a copy-ready plan from the supplied brief, tell the product or
|
|
164
|
+
integration owner what is missing, and label the platform half untested.
|
|
165
|
+
- **Permission denied:** Do not broaden workspace permissions. Preserve the
|
|
166
|
+
copy-ready plan and stop.
|
|
167
|
+
- **Runtime exposes only broad or write tools:** Do not call them. Return the
|
|
168
|
+
copy-ready plan and label the platform half untested.
|
|
169
|
+
- **SomaCheck unresolved:** Use the same handle once later, then proceed without
|
|
170
|
+
a reading if unresolved.
|
|
171
|
+
- **Unreadable capture:** Offer a retry only if the researcher wants it.
|
|
172
|
+
- **The researcher's words differ from the reading:** Follow their typed choice
|
|
173
|
+
without reconciliation or repetition.
|
|
174
|
+
|
|
175
|
+
## Privacy boundary
|
|
176
|
+
|
|
177
|
+
- Raw phone motion never reaches Great Question or the agent.
|
|
178
|
+
- Great Question receives no proposition, reading, confidence, confirmation,
|
|
179
|
+
or gesture metadata.
|
|
180
|
+
- SomaCheck receives no Great Question study ID, questions, participant data,
|
|
181
|
+
transcript, recording, response, or credential.
|
|
182
|
+
- No participant or candidate data is read into the agent conversation.
|
|
183
|
+
- The copy-ready plan contains only researcher-approved, signal-free research
|
|
184
|
+
copy and is not written to Great Question.
|
|
185
|
+
|
|
186
|
+
## Test checklist
|
|
187
|
+
|
|
188
|
+
- [ ] The researcher is the phone holder and proposition subject.
|
|
189
|
+
- [ ] A product or integration owner provisioned the partner sandbox, exact
|
|
190
|
+
participant-free test artifact, OAuth connection, and PII hiding.
|
|
191
|
+
- [ ] Client approval is limited to `get_survey_study` for the exact
|
|
192
|
+
owner-supplied artifact.
|
|
193
|
+
- [ ] No workspace discovery, candidate, participant, response, transcript,
|
|
194
|
+
other-artifact, scheduling, message, or invitation tool is called.
|
|
195
|
+
- [ ] The proposition is first-person and contains no platform or participant
|
|
196
|
+
content.
|
|
197
|
+
- [ ] At most one SomaCheck request is created for the choice.
|
|
198
|
+
- [ ] Observation, interpretation, confirmation, and choice remain separate.
|
|
199
|
+
- [ ] The researcher states a choice and receives a copy-ready, signal-free
|
|
200
|
+
five-question plan.
|
|
201
|
+
- [ ] No create, update, delete, publish, launch, or other partner write occurs.
|
|
202
|
+
- [ ] No incentive, screener, candidate, recruitment, invitation, session, or
|
|
203
|
+
participant contact exists.
|
|
204
|
+
- [ ] No SomaCheck field or text is present in Great Question.
|
|
205
|
+
|
|
206
|
+
## Sources
|
|
207
|
+
|
|
208
|
+
- [Great Question MCP overview](https://greatquestion.co/support/integrations/mcp)
|
|
209
|
+
- [Great Question MCP setup](https://greatquestion.co/support/integrations/mcp-setup)
|
|
210
|
+
- [Great Question MCP tools and data handling](https://greatquestion.co/support/integrations/mcp-available-tools)
|
|
211
|
+
- [SomaCheck MCP setup and tool behavior](../README.md)
|
|
212
|
+
- [SomaCheck immediate-request contract](../LIVE-ASK-CONTRACT.md)
|