@rvry/mcp 0.1.7 → 0.2.1

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.
@@ -15,32 +15,57 @@ allowed-tools:
15
15
  - If `$ARGUMENTS` is empty or `--help`: display usage ("Usage: /deepthink [--auto] <your question>") and stop
16
16
  - If `$ARGUMENTS` contains `--auto`: set AUTO_MODE, strip `--auto` from input
17
17
 
18
- ## Phase 1: Start Session
18
+ ## Phase 1: ORIENT (before calling the engine)
19
19
 
20
- Call `mcp__rvry-dev__deepthink` with `{ "input": "<cleaned input>", "skipScoping": <true if AUTO_MODE> }`.
20
+ Orient directly -- no engine calls yet. Analyze the user's question and identify:
21
21
 
22
- ### If status is "scoping" (and not AUTO_MODE):
22
+ 1. **What I know**: Key facts, evidence, and context apparent from the question
23
+ 2. **What I'm uncertain about**: Gaps, assumptions, unknowns (list each specifically)
24
+ 3. **What I'm avoiding**: Uncomfortable angles, taboo options, things that would be inconvenient if true
23
25
 
24
- The engine has returned scoping questions to help calibrate the analysis.
26
+ Translate each uncertainty into a binary question with a smart default. Generate up to 3 questions, each with exactly 2 options. The recommended option comes first.
25
27
 
26
- **IMPORTANT: You MUST call AskUserQuestion as a tool to collect answers. Do NOT render the questions as plain text — the user's answers will be lost.**
28
+ ### If AUTO_MODE:
27
29
 
28
- Call `AskUserQuestion` with the scoping questions mapped to its format. Each `scopingQuestions` entry becomes a question:
30
+ State your assumptions visibly in your reasoning (e.g., "Assuming focus on architectural trade-offs rather than implementation details. Assuming risk analysis is more valuable than landscape mapping."). Proceed directly to Phase 1b.
31
+
32
+ ### If NOT AUTO_MODE:
33
+
34
+ Ask scope questions via `AskUserQuestion` (up to 3 questions, each with 2 options, smart default first marked "(Recommended)").
29
35
 
30
36
  ```
31
37
  AskUserQuestion({
32
- questions: scopingQuestions.map(sq => ({
33
- question: sq.question,
34
- header: sq.question.slice(0, 12), // short label
35
- options: sq.options.map(o => ({ label: o.label, description: o.description })),
36
- multiSelect: false
37
- }))
38
+ questions: [
39
+ {
40
+ question: "<derived from uncertainty>",
41
+ header: "<short label>",
42
+ options: [
43
+ { label: "<recommended option> (Recommended)", description: "<why this is the smart default>" },
44
+ { label: "<alternative option>", description: "<when this makes sense>" }
45
+ ],
46
+ multiSelect: false
47
+ }
48
+ ]
38
49
  })
39
50
  ```
40
51
 
41
- After collecting all answers from AskUserQuestion, format them as a brief context summary (e.g., "Stakes: High. Looking for: risks and failure modes.") and call `mcp__rvry-dev__deepthink` with `{ "input": "<formatted scoping answers>", "sessionId": "<sessionId from previous response>" }`.
52
+ If AskUserQuestion returns blank or fails, state assumptions visibly and proceed.
53
+
54
+ Record the answers (or stated assumptions) as a brief context summary.
55
+
56
+ ## Phase 1b: Start Engine Session
57
+
58
+ Format the user's original question enriched with scoping context. Include the scoping answers (or assumptions) as additional context.
59
+
60
+ Call `mcp__rvry-dev__deepthink` with:
61
+ ```
62
+ {
63
+ "input": "<original question>\n\nScoping context: <brief summary of scoping answers, e.g. 'Focus: architectural trade-offs. Priority: risk analysis. No time constraint.'>",
64
+ "skipScoping": true
65
+ }
66
+ ```
42
67
 
43
- ### If status is "active":
68
+ `skipScoping` is ALWAYS `true` -- scoping happened here, not in the engine.
44
69
 
45
70
  Proceed to Phase 2.
46
71
 
@@ -15,32 +15,57 @@ allowed-tools:
15
15
  - If `$ARGUMENTS` is empty or `--help`: display usage ("Usage: /problem-solve [--auto] <your problem or decision>") and stop
16
16
  - If `$ARGUMENTS` contains `--auto`: set AUTO_MODE, strip `--auto` from input
17
17
 
18
- ## Phase 1: Start Session
18
+ ## Phase 1: ORIENT (before calling the engine)
19
19
 
20
- Call `mcp__rvry-dev__problem_solve` with `{ "input": "<cleaned input>", "skipScoping": <true if AUTO_MODE> }`.
20
+ Orient directly -- no engine calls yet. Analyze the user's problem and identify:
21
21
 
22
- ### If status is "scoping" (and not AUTO_MODE):
22
+ 1. **What I know**: Key facts, constraints, and context apparent from the problem statement
23
+ 2. **What I'm uncertain about**: Gaps, assumptions, unknowns (list each specifically)
24
+ 3. **What I'm avoiding**: Uncomfortable options, risky paths, things that would be inconvenient if true
23
25
 
24
- The engine has returned scoping questions to help calibrate the analysis.
26
+ Translate each uncertainty into a binary question with a smart default. Generate up to 3 questions, each with exactly 2 options. The recommended option comes first.
25
27
 
26
- **IMPORTANT: You MUST call AskUserQuestion as a tool to collect answers. Do NOT render the questions as plain text — the user's answers will be lost.**
28
+ ### If AUTO_MODE:
27
29
 
28
- Call `AskUserQuestion` with the scoping questions mapped to its format. Each `scopingQuestions` entry becomes a question:
30
+ State your assumptions visibly in your reasoning (e.g., "Assuming risk minimization over speed. Assuming known options need evaluation rather than generating new alternatives."). Proceed directly to Phase 1b.
31
+
32
+ ### If NOT AUTO_MODE:
33
+
34
+ Ask scope questions via `AskUserQuestion` (up to 3 questions, each with 2 options, smart default first marked "(Recommended)").
29
35
 
30
36
  ```
31
37
  AskUserQuestion({
32
- questions: scopingQuestions.map(sq => ({
33
- question: sq.question,
34
- header: sq.question.slice(0, 12), // short label
35
- options: sq.options.map(o => ({ label: o.label, description: o.description })),
36
- multiSelect: false
37
- }))
38
+ questions: [
39
+ {
40
+ question: "<derived from uncertainty>",
41
+ header: "<short label>",
42
+ options: [
43
+ { label: "<recommended option> (Recommended)", description: "<why this is the smart default>" },
44
+ { label: "<alternative option>", description: "<when this makes sense>" }
45
+ ],
46
+ multiSelect: false
47
+ }
48
+ ]
38
49
  })
39
50
  ```
40
51
 
41
- After collecting all answers from AskUserQuestion, format them as a brief context summary (e.g., "Options: multiple, need to narrow. Priority: risk minimization.") and call `mcp__rvry-dev__problem_solve` with `{ "input": "<formatted scoping answers>", "sessionId": "<sessionId from previous response>" }`.
52
+ If AskUserQuestion returns blank or fails, state assumptions visibly and proceed.
53
+
54
+ Record the answers (or stated assumptions) as a brief context summary.
55
+
56
+ ## Phase 1b: Start Engine Session
57
+
58
+ Format the user's original problem enriched with scoping context. Include the scoping answers (or assumptions) as additional context.
59
+
60
+ Call `mcp__rvry-dev__problem_solve` with:
61
+ ```
62
+ {
63
+ "input": "<original problem>\n\nScoping context: <brief summary of scoping answers, e.g. 'Priority: risk minimization. Options: evaluate known ones. Single decision-maker.'>",
64
+ "skipScoping": true
65
+ }
66
+ ```
42
67
 
43
- ### If status is "active":
68
+ `skipScoping` is ALWAYS `true` -- scoping happened here, not in the engine.
44
69
 
45
70
  Proceed to Phase 2.
46
71
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rvry/mcp",
3
- "version": "0.1.7",
3
+ "version": "0.2.1",
4
4
  "description": "RVRY reasoning depth enforcement (RDE) engine client.",
5
5
  "type": "module",
6
6
  "bin": {