spets 0.1.74 → 0.1.75

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.
Files changed (2) hide show
  1. package/dist/index.js +37 -34
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -972,11 +972,17 @@ function buildClarifyPrompt(params) {
972
972
  parts.push('3. NEVER ask the same question with different wording (e.g., "option IDs" vs "ID display" = SAME topic)');
973
973
  parts.push("4. If user asked for clarification \u2192 explain better and re-ask THAT SPECIFIC decision only");
974
974
  parts.push("");
975
- parts.push(`There are ${params.previousDecisions.length} previous decision(s). Unless user explicitly asked for clarification, you should output:`);
975
+ parts.push(`There are ${params.previousDecisions.length} previous decision(s).`);
976
+ parts.push("");
977
+ parts.push("## Output");
978
+ parts.push("");
979
+ parts.push("Since user has already provided their preferences, output ONLY this:");
980
+ parts.push("");
976
981
  parts.push("```json");
977
- parts.push(`{"ready": true, "decisions": [], "summary": "Proceeding with user's preferences..."}`);
982
+ parts.push('{"ready": true, "decisions": [], "summary": "Proceeding with: [brief summary of user choices]"}');
978
983
  parts.push("```");
979
984
  parts.push("");
985
+ parts.push("Do NOT output anything else. Do NOT generate new decisions.");
980
986
  } else {
981
987
  parts.push("## Your Task");
982
988
  parts.push("");
@@ -985,39 +991,36 @@ function buildClarifyPrompt(params) {
985
991
  parts.push("2. User preference matters");
986
992
  parts.push("3. Tradeoffs need to be considered");
987
993
  parts.push("");
994
+ parts.push("## Output Format");
995
+ parts.push("");
996
+ parts.push("```json");
997
+ parts.push("{");
998
+ parts.push(' "ready": false,');
999
+ parts.push(' "decisions": [');
1000
+ parts.push(" {");
1001
+ parts.push(' "id": "d1",');
1002
+ parts.push(' "decision": "What needs to be decided",');
1003
+ parts.push(' "why": "Why this decision matters",');
1004
+ parts.push(' "options": [');
1005
+ parts.push(' { "id": "opt1", "label": "Option A", "description": "...", "tradeoffs": "..." },');
1006
+ parts.push(' { "id": "opt2", "label": "Option B", "description": "...", "tradeoffs": "..." },');
1007
+ parts.push(' { "id": "ai", "label": "Recommended", "description": "AI recommendation", "recommendation": "opt1", "reason": "..." }');
1008
+ parts.push(" ]");
1009
+ parts.push(" }");
1010
+ parts.push(" ]");
1011
+ parts.push("}");
1012
+ parts.push("```");
1013
+ parts.push("");
1014
+ parts.push("If all clear to proceed:");
1015
+ parts.push("```json");
1016
+ parts.push('{ "ready": true, "decisions": [], "summary": "How we will proceed" }');
1017
+ parts.push("```");
1018
+ parts.push("");
1019
+ parts.push("**Important:**");
1020
+ parts.push("- Output ONLY the JSON, no other text.");
1021
+ parts.push("- Every decision MUST have at least 2 concrete options.");
1022
+ parts.push('- Every decision MUST include "ai" option (labeled "Recommended") as the last choice.');
988
1023
  }
989
- parts.push("## Output Format");
990
- parts.push("");
991
- parts.push("For each decision, provide options with descriptions and tradeoffs.");
992
- parts.push('Always include "ai" as the last option with your recommendation.');
993
- parts.push("");
994
- parts.push("```json");
995
- parts.push("{");
996
- parts.push(' "ready": false,');
997
- parts.push(' "decisions": [');
998
- parts.push(" {");
999
- parts.push(' "id": "d1",');
1000
- parts.push(' "decision": "What needs to be decided",');
1001
- parts.push(' "why": "Why this decision matters",');
1002
- parts.push(' "options": [');
1003
- parts.push(' { "id": "opt1", "label": "Option A", "description": "...", "tradeoffs": "..." },');
1004
- parts.push(' { "id": "opt2", "label": "Option B", "description": "...", "tradeoffs": "..." },');
1005
- parts.push(' { "id": "ai", "label": "Let AI decide", "description": "AI chooses based on context", "recommendation": "opt1", "reason": "..." }');
1006
- parts.push(" ]");
1007
- parts.push(" }");
1008
- parts.push(" ]");
1009
- parts.push("}");
1010
- parts.push("```");
1011
- parts.push("");
1012
- parts.push("If all clear to proceed:");
1013
- parts.push("```json");
1014
- parts.push('{ "ready": true, "decisions": [], "summary": "How we will proceed" }');
1015
- parts.push("```");
1016
- parts.push("");
1017
- parts.push("**Important:**");
1018
- parts.push("- Output ONLY the JSON, no other text.");
1019
- parts.push("- Every decision MUST have at least 2 concrete options with descriptions and tradeoffs.");
1020
- parts.push('- Every decision MUST include "ai" option as the last choice.');
1021
1024
  parts.push("");
1022
1025
  return parts.join("\n");
1023
1026
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spets",
3
- "version": "0.1.74",
3
+ "version": "0.1.75",
4
4
  "description": "Spec Driven Development Execution Framework",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",