@seanmars/tospec 0.9.0 → 0.10.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/README.md CHANGED
@@ -76,8 +76,8 @@ tospec archive add-dark-mode
76
76
  | `tospec-issue` | 診斷 bug 至根因, 產出 issue change |
77
77
  | `tospec-decision` | 記錄架構決策為永久 ADR |
78
78
  | `tospec-update` | 修訂 change 的規劃文件並保持一致 |
79
- | `tospec-apply` | 逐項實作任務 (test-after), 完成後自動 verify |
80
- | `tospec-apply-with-tdd` | 同上, 但採嚴格 TDD (red → green) |
79
+ | `tospec-apply` | 逐項實作任務 (不強制寫測試), 完成後自動 verify |
80
+ | `tospec-apply-with-tdd` | 同上, 但強制先寫測試 (red → green) |
81
81
  | `tospec-sync` | 以程式碼為準核對規格, 產出 sync-report |
82
82
  | `tospec-archive` | 判斷是否需要 sync, 然後歸檔完成的 change |
83
83
 
@@ -30,7 +30,7 @@ const WORKFLOW_PROMPT_META = {
30
30
  },
31
31
  apply: {
32
32
  name: 'Apply tasks',
33
- description: 'Implement tasks (test-after), then auto-run the two-axis verify review',
33
+ description: 'Implement tasks one at a time, then auto-run the two-axis verify review',
34
34
  },
35
35
  'apply-with-tdd': {
36
36
  name: 'Apply tasks (TDD)',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GAEjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAmB/D,MAAM,oBAAoB,GAAuC;IAC/D,OAAO,EAAE;QACP,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oFAAoF;KAClG;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,wIAAwI;KACtJ;IACD,OAAO,EAAE;QACP,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,0EAA0E;KACxF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,mEAAmE;KACjF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sFAAsF;KACpG;IACD,KAAK,EAAE;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,wEAAwE;KACtF;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,oFAAoF;KAClG;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,qEAAqE;KACnF;IACD,OAAO,EAAE;QACP,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,iFAAiF;KAC/F;CACF,CAAC;AAGF;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAoB;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;IACzC,MAAM,SAAS,GAAG;QAChB,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACtF,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAAC,iBAA2B;IAC5E,MAAM,WAAW,GACf,iBAAiB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QACjD,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAA4B,EAAE,OAAgB;IAClF,OAAO,GAAG,SAAS,CAAC,MAAM,cAAc,OAAO,GAAG,CAAC;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,SAA4B;IACvD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAmC,CAAC,CAAC,CAAC;IACrG,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB,EAAE,KAAmB;IACxE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAEvC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;QAC5B,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,UAAkB,EAClB,KAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IACD,KAAK,KAAK,CAAC;AACb,CAAC;AAED,SAAS,+BAA+B;IACtC,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,CAAC;SAC7E,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,cAAc;IACd,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,cAAc;IACd,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,OAA2B,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QAEjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,qEAAqE;YACrE,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;YACzC,IAAI,SAAS,GAA4B,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAE9C,4BAA4B;YAC5B,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,IAAI,aAAa,EAAE,CAAC,CAAC;YAC7D,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC9E,CAAC;iBAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,aAAa;IACb,SAAS;SACN,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAiC,EAAE,GAAG,CAAC,CAAC;QAErE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,aAAa;IACb,SAAS;SACN,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,UAAU,EAAE,oCAAoC,CAAC;SACxD,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACvD,MAAM,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,OAAqD,EAAE,EAAE;QAC5F,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACjE,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,EAA6B,CAAC;QAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;QAEjE,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAE7C,0BAA0B;QAC1B,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,kCAAkC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAC1C,gBAAgB,CAAC,MAAsB,CAAC,CAAC;QAEzC,MAAM,YAAY,GAChB,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,SAAS;SACN,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,eAAe,EAA6B,CAAC;QAC5D,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE/C,IAAI,OAAO,EAAE,CAAC;YACZ,gBAAgB,CAAC,MAAsB,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,wBAAwB,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,SAAS;SACN,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,OAAO,EAAE,oCAAoC,CAAC;SACrD,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,OAAyC,EAAE,EAAE;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACtD,IAAI,SAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,OAAO,CAAC;oBACxB,OAAO,EAAE,sCAAsC;oBAC/C,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBAChC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC;oBACvB,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;QACH,CAAC;QAED,gBAAgB,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEL,cAAc;IACd,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAExD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACxF,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;QAEzC,0CAA0C;QAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,gBAAgB,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,wCAAwC;QACxC,oEAAoE;QACpE,kCAAkC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;YACxC,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;YAEhD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,kCAAkC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBACpE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,OAAO,CAAC,KAAK,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;gBACtD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvH,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0BAA0B;IAC1B,SAAS;SACN,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,KAAK,EAAE,MAAe,EAAE,EAAE;QAChC,gDAAgD;QAChD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;YACxB,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;YACtC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,+BAA+B,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,MAAM,4BAA4B,CAAC,CAAC;YACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,kGAAkG,CAAC,CAAC;YAClH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAExE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAExD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,qBAAqB,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnG,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,MAAM,MAAM,GAAG,MAAM,MAAM,CAAgB;gBACzC,OAAO,EAAE,gCAAgC;gBACzC,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,WAAW;wBAClB,IAAI,EAAE,qBAAqB;wBAC3B,WAAW,EAAE,6CAA6C;qBAC3D;oBACD;wBACE,KAAK,EAAE,MAAM;wBACb,IAAI,EAAE,8BAA8B;wBACpC,WAAW,EAAE,wCAAwC;qBACtD;iBACF;aACF,CAAC,CAAC;YAEH,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,2BAA2B,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAiB;gBAC9B,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,SAAS,EAAE,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC;aACvC,CAAC;YAEF,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3B,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE;oBAChD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI;wBACjD,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,aAAa,QAAQ,EAAE;qBACrC,CAAC;oBACF,OAAO;wBACL,KAAK,EAAE,QAAQ;wBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;wBACjC,KAAK,EAAE,QAAQ,CAAC,IAAI;wBACpB,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;qBACnD,CAAC;gBACJ,CAAC,CAAC;gBAEF,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAS;oBAC/C,OAAO,EAAE,qCAAqC;oBAC9C,QAAQ,EAAE,aAAa,CAAC,MAAM;oBAC9B,KAAK,EAAE;wBACL,IAAI,EAAE;4BACJ,OAAO,EAAE,KAAK;4BACd,SAAS,EAAE,KAAK;yBACjB;qBACF;oBACD,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC;iBACjD,CAAC,CAAC;gBACH,SAAS,CAAC,SAAS,GAAG,iBAAiB,CAAC;gBACxC,SAAS,CAAC,OAAO,GAAG,kCAAkC,CAAC,iBAAiB,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,2BAA2B,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YACnC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YACvC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEzB,oCAAoC;YACpC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACzD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;oBAC7B,OAAO,EAAE,oCAAoC;oBAC7C,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBAEH,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,QAAQ,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;wBACrE,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;oBACtE,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;wBAC9F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACvB,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;YAED,+BAA+B,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * Two apply variants share the same gating (`applyRequires`), auto-verify
8
8
  * step, and re-validate step; they differ only in how tests relate to the
9
9
  * implementation:
10
- * - `tospec-apply` — default, test-after (no red-first requirement)
10
+ * - `tospec-apply` — default, tests optional (write one when it earns its keep)
11
11
  * - `tospec-apply-with-tdd` — strict TDD, red → green per slice
12
12
  */
13
13
  import type { SkillTemplate, CommandTemplate } from '../types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgFlE,wBAAgB,2BAA2B,IAAI,aAAa,CAc3D;AAED,wBAAgB,6BAA6B,IAAI,eAAe,CAY/D;AA4BD,wBAAgB,kCAAkC,IAAI,aAAa,CAclE;AAED,wBAAgB,oCAAoC,IAAI,eAAe,CAYtE"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAmHlE,wBAAgB,2BAA2B,IAAI,aAAa,CAc3D;AAED,wBAAgB,6BAA6B,IAAI,eAAe,CAY/D;AA4BD,wBAAgB,kCAAkC,IAAI,aAAa,CAclE;AAED,wBAAgB,oCAAoC,IAAI,eAAe,CAYtE"}
@@ -1,23 +1,50 @@
1
1
  import { VERIFY_METHODOLOGY } from './verify.js';
2
2
  // ponytail: one parameterized template literal, not a template engine.
3
3
  function buildApplyBody(v) {
4
- return `**Steps**
4
+ return `**Task tracking is file-based only.** The tracks file's checkboxes (\`- [ ]\` / \`- [x]\`) are the single source of truth for progress. Never use a built-in todo or task-tracking tool — editing the checkbox in the file is the only way progress gets recorded.
5
5
 
6
- 1. **Confirm planning is done**
6
+ **Steps**
7
+
8
+ 1. **Select the change**
9
+
10
+ If the user named one, use it. Otherwise infer it from the conversation. If it is still ambiguous, run \`tospec list --json\` and let the user pick with \`AskUserQuestion\` — never guess.
11
+
12
+ Announce \`Using change: <name>\` and how to override.
13
+
14
+ 2. **Get apply instructions**
7
15
  \`\`\`bash
8
- tospec status --change "<name>" --json
16
+ tospec instructions apply --change "<name>" --json
9
17
  \`\`\`
10
- Every artifact in \`applyRequires\` must be \`done\` before you write any code. If one isn't, stop and send the user back to \`tospec-propose\` or \`tospec-issue\`. Note \`schemaName\` — it decides which branch below applies.
18
+ One call gives you the gate and the briefing: \`schemaName\` (decides which branch below applies), \`contextFiles\` (artifact id -> concrete paths), \`progress\`, \`tasks\`, and a dynamic \`instruction\`.
19
+
20
+ Act on \`state\`:
21
+ - \`blocked\` — required artifacts or the tracks file are missing; show \`instruction\` and STOP, sending the user back to \`tospec-propose\`/\`tospec-issue\`.
22
+ - \`all_done\` — everything is checked off already; skip to the verify step below.
23
+ - \`ready\` — proceed.
24
+
25
+ 3. **Read the context files**
26
+
27
+ Read every path listed under \`contextFiles\` before writing any code. Take the ids and paths from the CLI output — never assume filenames.
28
+
29
+ 4. **Show current progress**
11
30
 
12
- 2. **Work the tracks file one item at a time**
31
+ Schema in use, \`N/M tasks complete\`, the remaining items, and the CLI's \`instruction\`.
32
+
33
+ 5. **Work the tracks file one item at a time**
13
34
 
14
35
  The tracks file is \`tasks.md\` (sdd) or \`task.md\` (issue). ${v.step2Intro} Never batch multiple items into one pass.
15
36
 
37
+ Before starting an item, re-read the parts of design/specs that cover its scope — don't rely on memory from earlier in the conversation, context may have been compressed since.
38
+
39
+ Before checking an item off, re-read its description and confirm every part of it is covered by your changes and the behavior it describes actually works. An item checked off half-finished is the most expensive mistake in this loop.
40
+
41
+ **Pause if** the item is unclear, implementation reveals a design issue (suggest \`tospec-update\`), or you hit an error or blocker — report it and wait for guidance. Don't guess.
42
+
16
43
  ${v.sddBranch}
17
44
 
18
45
  ${v.issueBranch}
19
46
 
20
- 3. **Re-validate artifacts**
47
+ 6. **Re-validate artifacts**
21
48
  \`\`\`bash
22
49
  tospec validate "<name>" --json
23
50
  \`\`\`
@@ -35,12 +62,16 @@ Report which tasks/checkboxes completed this pass, current progress (\`tospec st
35
62
 
36
63
  **Guardrails**
37
64
  ${v.guardrailsHead}
38
- - Test only at the pre-agreed seam (design.md for sdd; the existing/new seam identified for issue)never against internals
65
+ - Keep going through items until done or blocked; pause on errors, blockers, or unclear requirements don't guess
66
+ - Read the context files before starting, and use the paths from \`tospec instructions apply\` — don't assume filenames
67
+ - Check the box in the tracks file immediately after finishing each item; no external task tracker
68
+ - Keep code changes minimal and scoped to the item at hand
69
+ - Any test you do write goes at the pre-agreed seam (design.md for sdd; the existing/new seam identified for issue) — never against internals
39
70
  - Fix root cause: check every caller of a shared function before declaring a fix complete
40
71
  - Don't hand off to archive until the automatic verify step is clean and the full test suite is green`;
41
72
  }
42
73
  // -----------------------------------------------------------------------------
43
- // Default apply — implement first, cover with tests after (no strict TDD loop)
74
+ // Default apply — implement per slice; tests are optional, not mandated
44
75
  // -----------------------------------------------------------------------------
45
76
  const APPLY_BODY = buildApplyBody({
46
77
  step2Intro: 'Take the next unchecked item, implement it, confirm it works against its specs, check it off (\`- [ ]\` → \`- [x]\`), then move to the next.',
@@ -48,39 +79,43 @@ const APPLY_BODY = buildApplyBody({
48
79
 
49
80
  For each tracer-bullet slice in \`tasks.md\`:
50
81
  1. Implement the minimum that satisfies the behavior the slice's specs describe. Don't anticipate future slices or add speculative flexibility.
51
- 2. Cover the new behavior with a test **at the seam \`design.md\` named** — written after the code works (test-after; no red-first requirement). Don't test internals or add implementation-coupled assertions (mocking internal collaborators, reaching into private state, checking the database instead of the interface).
52
- 3. Verify the result matches the behavior the slice's specs describe and its test is green.
53
- 4. Check off the slice, then move to the next one — one slice per cycle. Refactoring is not part of this loop; it belongs to the verify step at the end of this workflow.`,
82
+ 2. Verify the result matches the behavior the slice's specs describe, and that the existing test suite still passes.
83
+ 3. Check off the slice, then move to the next one one slice per cycle. Refactoring is not part of this loop; it belongs to the verify step at the end of this workflow.
84
+
85
+ Writing a new test is **not required** in this loop — add one when it earns its keep. If you do, put it at the seam \`design.md\` named and don't test internals or add implementation-coupled assertions (mocking internal collaborators, reaching into private state, checking the database instead of the interface). Use \`tospec-apply-with-tdd\` when every slice must start from a failing test.`,
54
86
  issueBranch: `### issue branch — fix root cause
55
87
 
56
- Read \`task.md\`'s feedback loop, then fix the root cause, not the symptom — if the same defect is reachable through multiple callers of a shared function, the fix belongs in the shared function, not patched into just the caller the ticket named (grep every caller of the function you're touching). Cover the bug with the regression test from \`task.md\`'s feedback loop so it can't come back — extend the existing test if there's one at the right seam, otherwise add a new one.`,
88
+ Read \`task.md\`'s feedback loop, then fix the root cause, not the symptom — if the same defect is reachable through multiple callers of a shared function, the fix belongs in the shared function, not patched into just the caller the ticket named (grep every caller of the function you're touching). Confirm the fix with \`task.md\`'s feedback loop and keep the existing suite green.
89
+
90
+ A regression test is **not required** here — add one when the bug is likely to recur, extending the existing test if there's one at the right seam. Use \`tospec-apply-with-tdd\` when the fix must start from a red regression test.`,
57
91
  guardrailsHead: `- One slice/task at a time — no batching
58
- - Every change ships with a test that covers its behavior (test-after is fine here no red-before-green requirement)`,
92
+ - Tests are optional in this loop write one when it earns its keep, and never let a missing test block progress; \`tospec-apply-with-tdd\` is the variant that mandates them
93
+ - Never delete, skip, or weaken an existing test to get to green — fix the code instead`,
59
94
  });
60
95
  export function getTospecApplySkillTemplate() {
61
96
  return {
62
97
  name: 'tospec-apply',
63
- description: 'Implement a change one task at a time, branching by schema, covering each change with a test as you go (test-after — no strict TDD loop), checking off tasks.md/task.md, then automatically run the two-axis verify review. Use when planning artifacts are complete (sdd: ticket/specs/design/tasks; issue: ticket/task) and the user wants to implement without a red-first (TDD) cycle.',
64
- instructions: `Implement a change's tasks one slice at a time, branching by schema, covering each change with a test as you go, then automatically run the two-axis verify review — ready for \`tospec-archive\` when done.
98
+ description: 'Implement tasks from a tospec change. Use when the user wants to start implementing, continue implementation, or work through tasks.',
99
+ instructions: `Implement a change's tasks one slice at a time, branching by schema, then automatically run the two-axis verify review — ready for \`tospec-archive\` when done.
65
100
 
66
- **Input**: The user's request should name the change to implement (or continue implementing).
101
+ **Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
67
102
 
68
103
  ${APPLY_BODY}`,
69
104
  license: 'MIT',
70
105
  compatibility: 'Requires tospec CLI.',
71
106
  metadata: { author: 'tospec', version: '1.0' },
72
- allowedTools: ['Bash(tospec:*)', 'Bash', 'Read', 'Write', 'Edit', 'Grep', 'Glob', 'Agent'],
107
+ allowedTools: ['Bash(tospec:*)', 'Bash', 'Read', 'Write', 'Edit', 'Grep', 'Glob', 'Agent', 'AskUserQuestion'],
73
108
  };
74
109
  }
75
110
  export function getTospecApplyCommandTemplate() {
76
111
  return {
77
112
  name: 'TOSPEC: Apply',
78
- description: 'Implement a change one slice at a time (test-after), then auto-run the two-axis verify review',
113
+ description: 'Implement tasks from a change, one slice at a time',
79
114
  category: 'Workflow',
80
115
  tags: ['workflow', 'implementation'],
81
- content: `Implement a change's tasks one slice at a time, branching by schema, covering each change with a test as you go, then automatically run the two-axis verify review — ready for \`tospec-archive\` when done.
116
+ content: `Implement a change's tasks one slice at a time, branching by schema, then automatically run the two-axis verify review — ready for \`tospec-archive\` when done.
82
117
 
83
- **Input**: The argument after \`tospec-apply\` is the change name to implement (or continue implementing).
118
+ **Input**: Optionally specify a change name after \`tospec-apply\` (e.g., \`tospec-apply add-auth\`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
84
119
 
85
120
  ${APPLY_BODY}`,
86
121
  };
@@ -111,27 +146,27 @@ Fix root cause, not symptom — if the same defect is reachable through multiple
111
146
  export function getTospecApplyWithTDDSkillTemplate() {
112
147
  return {
113
148
  name: 'tospec-apply-with-tdd',
114
- description: 'Implement a change test-first (red → green), one tracer-bullet slice or task at a time, checking off tasks.md/task.md as you go, then automatically run the two-axis verify review. Use when planning artifacts are complete (sdd: ticket/specs/design/tasks; issue: ticket/task) and the user wants a strict test-first (TDD) implementation loop.',
149
+ description: 'Implement tasks from a tospec change test-first (red → green). Use when the user wants to start or continue implementation with a strict TDD loop.',
115
150
  instructions: `Implement a change's tasks test-first (red → green), one slice at a time, branching by schema, then automatically run the two-axis verify review — ready for \`tospec-archive\` when done.
116
151
 
117
- **Input**: The user's request should name the change to implement (or continue implementing).
152
+ **Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
118
153
 
119
154
  ${APPLY_TDD_BODY}`,
120
155
  license: 'MIT',
121
156
  compatibility: 'Requires tospec CLI.',
122
157
  metadata: { author: 'tospec', version: '1.0' },
123
- allowedTools: ['Bash(tospec:*)', 'Bash', 'Read', 'Write', 'Edit', 'Grep', 'Glob', 'Agent'],
158
+ allowedTools: ['Bash(tospec:*)', 'Bash', 'Read', 'Write', 'Edit', 'Grep', 'Glob', 'Agent', 'AskUserQuestion'],
124
159
  };
125
160
  }
126
161
  export function getTospecApplyWithTDDCommandTemplate() {
127
162
  return {
128
163
  name: 'TOSPEC: Apply (TDD)',
129
- description: 'Implement a change test-first, one slice at a time, then auto-run the two-axis verify review',
164
+ description: 'Implement tasks from a change test-first (red green)',
130
165
  category: 'Workflow',
131
166
  tags: ['workflow', 'tdd', 'implementation'],
132
167
  content: `Implement a change's tasks test-first (red → green), one slice at a time, branching by schema, then automatically run the two-axis verify review — ready for \`tospec-archive\` when done.
133
168
 
134
- **Input**: The argument after \`tospec-apply-with-tdd\` is the change name to implement (or continue implementing).
169
+ **Input**: Optionally specify a change name after \`tospec-apply-with-tdd\` (e.g., \`tospec-apply-with-tdd add-auth\`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
135
170
 
136
171
  ${APPLY_TDD_BODY}`,
137
172
  };
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/apply.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAiBjD,uEAAuE;AACvE,SAAS,cAAc,CAAC,CAAe;IACrC,OAAO;;;;;;;;;;mEAU0D,CAAC,CAAC,UAAU;;EAE7E,CAAC,CAAC,SAAS;;EAEX,CAAC,CAAC,WAAW;;;;;;;;;;;;EAYb,kBAAkB;;;;;;;EAOlB,CAAC,CAAC,cAAc;;;sGAGoF,CAAC;AACvG,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAEhF,MAAM,UAAU,GAAG,cAAc,CAAC;IAChC,UAAU,EACR,8IAA8I;IAChJ,SAAS,EAAE;;;;;;0KAM6J;IACxK,WAAW,EAAE;;+dAEgd;IAC7d,cAAc,EAAE;sHACoG;CACrH,CAAC,CAAC;AAEH,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,4XAA4X;QACzY,YAAY,EAAE;;;;EAIhB,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;KAC3F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,+FAA+F;QAC5G,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;QACpC,OAAO,EAAE;;;;EAIX,UAAU,EAAE;KACX,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,2CAA2C;AAC3C,gFAAgF;AAEhF,MAAM,cAAc,GAAG,cAAc,CAAC;IACpC,UAAU,EACR,sIAAsI;IACxI,SAAS,EAAE;;;;;;0KAM6J;IACxK,WAAW,EAAE;;;;;;;wMAOyL;IACtM,cAAc,EAAE;yCACuB;CACxC,CAAC,CAAC;AAEH,MAAM,UAAU,kCAAkC;IAChD,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,qVAAqV;QAClW,YAAY,EAAE;;;;EAIhB,cAAc,EAAE;QACd,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;KAC3F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC;IAClD,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,8FAA8F;QAC3G,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC;QAC3C,OAAO,EAAE;;;;EAIX,cAAc,EAAE;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/apply.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAiBjD,uEAAuE;AACvE,SAAS,cAAc,CAAC,CAAe;IACrC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEA+B0D,CAAC,CAAC,UAAU;;;;;;;;EAQ7E,CAAC,CAAC,SAAS;;EAEX,CAAC,CAAC,WAAW;;;;;;;;;;;;EAYb,kBAAkB;;;;;;;EAOlB,CAAC,CAAC,cAAc;;;;;;;sGAOoF,CAAC;AACvG,CAAC;AAED,gFAAgF;AAChF,wEAAwE;AACxE,gFAAgF;AAEhF,MAAM,UAAU,GAAG,cAAc,CAAC;IAChC,UAAU,EACR,8IAA8I;IAChJ,SAAS,EAAE;;;;;;;wYAO2X;IACtY,WAAW,EAAE;;;;sOAIuN;IACpO,cAAc,EAAE;;wFAEsE;CACvF,CAAC,CAAC;AAEH,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,sIAAsI;QACnJ,YAAY,EAAE;;;;EAIhB,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC;KAC9G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oDAAoD;QACjE,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;QACpC,OAAO,EAAE;;;;EAIX,UAAU,EAAE;KACX,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,2CAA2C;AAC3C,gFAAgF;AAEhF,MAAM,cAAc,GAAG,cAAc,CAAC;IACpC,UAAU,EACR,sIAAsI;IACxI,SAAS,EAAE;;;;;;0KAM6J;IACxK,WAAW,EAAE;;;;;;;wMAOyL;IACtM,cAAc,EAAE;yCACuB;CACxC,CAAC,CAAC;AAEH,MAAM,UAAU,kCAAkC;IAChD,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,oJAAoJ;QACjK,YAAY,EAAE;;;;EAIhB,cAAc,EAAE;QACd,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC;KAC9G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC;IAClD,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC;QAC3C,OAAO,EAAE;;;;EAIX,cAAc,EAAE;KACf,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/decision.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA4ClE,wBAAgB,8BAA8B,IAAI,aAAa,CAe9D;AAED,wBAAgB,gCAAgC,IAAI,eAAe,CAYlE"}
1
+ {"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/decision.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA8ClE,wBAAgB,8BAA8B,IAAI,aAAa,CAe9D;AAED,wBAAgB,gCAAgC,IAAI,eAAe,CAYlE"}
@@ -34,6 +34,8 @@ const DECISION_BODY = `Capture a decision that has already been made or is ready
34
34
 
35
35
  Summarize the decision, its status, and the follow-up work. If it supersedes an older decision, state which one and flip that older file's 狀態 to \`superseded\`. Report the created filename explicitly — when a change later implements this decision, that filename is what \`tospec new change --decisions\` records to link the change back here (the file's optional \`## 關聯變更\` section can list those changes in return).
36
36
 
37
+ Then point at the next step: if the decision came out of grilling or exploring an **existing** change, hand off to \`tospec-update\` to fold it into that change's artifacts; if no change exists yet, hand off to \`tospec-propose\`/\`tospec-issue\` and carry the filename into \`--decisions\`.
38
+
37
39
  **Guardrails**
38
40
  - The decision file, its date-prefixed filename, and the ledger row are all CLI-generated — pass \`--summary\`, and never create/rename decision files or hand-edit \`index.md\` yourself; only edit the decision file's section contents
39
41
  - Don't record a decision whose rationale or alternatives you can't state — clarify with the user first
@@ -1 +1 @@
1
- {"version":3,"file":"decision.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/decision.ts"],"names":[],"mappings":"AASA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8MAwCwL,CAAC;AAE/M,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,mQAAmQ;QACrQ,YAAY,EAAE;;;;EAIhB,aAAa,EAAE;QACb,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,6FAA6F;QAC1G,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC;QACrC,OAAO,EAAE;;;;EAIX,aAAa,EAAE;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"decision.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/decision.ts"],"names":[],"mappings":"AASA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8MA0CwL,CAAC;AAE/M,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,mQAAmQ;QACrQ,YAAY,EAAE;;;;EAIhB,aAAa,EAAE;QACb,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,6FAA6F;QAC1G,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC;QACrC,OAAO,EAAE;;;;EAIX,aAAa,EAAE;KACd,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/explore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA8DlE,wBAAgB,uBAAuB,IAAI,aAAa,CAcvD;AAED,wBAAgB,+BAA+B,IAAI,eAAe,CAYjE"}
1
+ {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/explore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgElE,wBAAgB,uBAAuB,IAAI,aAAa,CAcvD;AAED,wBAAgB,+BAA+B,IAAI,eAAe,CAYjE"}
@@ -38,19 +38,21 @@ This is a grilling interview, not a freeform chat. Interview the user relentless
38
38
 
39
39
  Deliver the converged understanding back in the conversation — the problem, the decisions made (with reasoning), and anything explicitly ruled out — so \`tospec-propose\`/\`tospec-issue\` can synthesize it straight from context (that's exactly the input they expect).
40
40
 
41
- 7. **Recommend the next step — then hand off**
41
+ 7. **Always ask for the next step — never pick it yourself**
42
42
 
43
- Explore back-and-forth almost always settles decisions; judge whether any is *material* a choice between real alternatives that will shape the change and get re-litigated if left in chat (a material decision weighed alternatives and has lasting architecture/design impact; an answered factual lookup or a trivial preference does not). That judgment sets your recommendation.
43
+ Once you've restated the understanding, you MUST put the next step to the user with \`AskUserQuestion\`. This is unconditional: explore never proceeds to the next action on its own, and never ends without asking.
44
44
 
45
- Put the next step to the user with \`AskUserQuestion\` — one question, your recommended option **first** and labelled "(Recommended)", plus the real alternatives (including "keep exploring") so they can override:
46
- - **A material decision was settled but isn't recorded** -> recommend \`tospec-decision\`; record the ADR **before** any proposal.
47
- - **A new capability is ready to build** -> recommend \`tospec-propose\`.
48
- - **Something is broken** -> recommend \`tospec-issue\`.
49
- - **Still fuzzy** -> recommend keeping the exploration going.
45
+ One question, always these options, with your recommended one **first** and labelled "(Recommended)":
46
+ - **\`tospec-decision\`** — record a material decision as an ADR. Offer this only when the interview actually settled one: a choice between real alternatives with lasting architecture/design impact that will get re-litigated if left in chat. An answered factual lookup or a trivial preference is not material — drop this option when nothing material was settled.
47
+ - **\`tospec-propose\`** (or \`tospec-issue\` when something is broken) start writing the proposal.
48
+ - **\`tospec-grill\`** keep digging with a four-quadrant deep dive on what was just explored.
49
+
50
+ Recommend \`tospec-decision\` when a material decision is unrecorded (the ADR comes **before** the proposal), \`tospec-propose\`/\`tospec-issue\` when the requirement is ready to build, and \`tospec-grill\` when it still feels fuzzy or under-tested.
50
51
 
51
52
  \`tospec-propose\`/\`tospec-issue\` synthesize the requirement straight from the conversation and write the change artifacts; explore persists nothing itself. If the user picks \`tospec-decision\`, record it, then ask again — now recommending \`tospec-propose\`/\`tospec-issue\` — because a recorded decision still needs to flow into a change. Carry the recorded decision filename(s) (reported by \`tospec decision new\`) into that handoff: the propose/issue step passes them via \`tospec new change --decisions\` so the change's metadata links back to its ADRs.
52
53
 
53
54
  **Guardrails**
55
+ - **Always end with the next-step question** — never choose the follow-up action yourself, and never finish explore without asking
54
56
  - **Don't implement** — never write application code or edit source files during explore
55
57
  - **Record decisions before proposing** — if the interview settled a material decision, hand off to \`tospec-decision\` to record it before \`tospec-propose\`/\`tospec-issue\`; a real decision must not survive only in chat
56
58
  - **Batch what's independent, sequence what's dependent** — ask unrelated questions together in one turn; split to one at a time only when A's answer decides B
@@ -1 +1 @@
1
- {"version":3,"file":"explore.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/explore.ts"],"names":[],"mappings":"AAQA,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yHA0DoG,CAAC;AAE1H,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,yQAAyQ;QACtR,YAAY,EAAE;;;;EAIhB,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,sFAAsF;QACnG,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;QAC7B,OAAO,EAAE;;;;EAIX,YAAY,EAAE;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"explore.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/explore.ts"],"names":[],"mappings":"AAQA,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yHA4DoG,CAAC;AAE1H,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,yQAAyQ;QACtR,YAAY,EAAE;;;;EAIhB,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,sFAAsF;QACnG,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;QAC7B,OAAO,EAAE;;;;EAIX,YAAY,EAAE;KACb,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"grill.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/grill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAmClE,wBAAgB,qBAAqB,IAAI,aAAa,CAcrD;AAED,wBAAgB,6BAA6B,IAAI,eAAe,CAY/D"}
1
+ {"version":3,"file":"grill.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/grill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA0DlE,wBAAgB,qBAAqB,IAAI,aAAa,CAcrD;AAED,wBAAgB,6BAA6B,IAAI,eAAe,CAY/D"}
@@ -1,6 +1,17 @@
1
- const GRILL_BODY = `**IMPORTANT: Grill is read-only pressure-testing, not building.** You may read files, search code, and run \`tospec\` read-only commands, but you must NEVER write code, edit sources, or create artifact files during a grill. Grill persists nothing — it hands off to nothing. Its only output is a shared, confirmed understanding delivered back in the conversation.
1
+ const GRILL_BODY = `**IMPORTANT: Grill is read-only pressure-testing, not building.** You may read files, search code, and run \`tospec\` read-only commands, but you must NEVER write code, edit sources, or create artifact files during a grill. Grill writes nothing itself when the interrogation lands something worth persisting, it hands off to the skill that owns that write.
2
2
 
3
- This is a relentless interrogation of whatever the user put on the table — a plan, a decision, an idea, a design. Stress-test it until every assumption is named and every open question is either answered or explicitly parked. Work the four quadrants below, batching questions that stand on their own and following dependent threads one question at a time.
3
+ This is a relentless interrogation of whatever is on the table — a plan, a decision, an idea, a design. Stress-test it until every assumption is named and every open question is either answered or explicitly parked. Work the four quadrants below, batching questions that stand on their own and following dependent threads one question at a time.
4
+
5
+ **Pick the target first — never assume one**
6
+
7
+ Before asking a single question, establish *what* you are grilling. Resolve in this order:
8
+
9
+ 1. **The user named it** — an explicit target in the request wins outright; use it.
10
+ 2. **The conversation has an unambiguous subject** — an explore that just converged, or a proposal actively under discussion in this session. Only take this path when there is exactly one obvious candidate; a topic mentioned in passing does not count.
11
+ 3. **Otherwise, ask.** Run \`tospec list --json\` and offer the unfinished changes (\`status\` is not \`complete\`, most recently modified first) via \`AskUserQuestion\`, each labelled with its name, status, and how recently it changed. **Never pick one yourself** — not even the top hit, and not even when only one candidate exists.
12
+ 4. **Nothing to grill** — no explore in context and no unfinished changes: stop. Tell the user there is no subject available to dig into and suggest \`tospec-explore\` to start one. Do not invent a topic.
13
+
14
+ Note which kind of target you settled on — a raw idea/explore versus an existing written proposal. That distinction decides the handoff at the end.
4
15
 
5
16
  **The four quadrants**
6
17
 
@@ -22,21 +33,33 @@ Sweep all four — the last two are where the real risk hides:
22
33
 
23
34
  You're done only when you can fully restate the shared understanding — the claims that held up, the assumptions now made explicit, the questions answered, and anything left deliberately open — and the user confirms it's right. Running out of questions is not convergence. If the user corrects your restatement, there's still a hidden branch; keep grilling.
24
35
 
36
+ **Hand off once the understanding is confirmed**
37
+
38
+ A grill that shifts the picture leaves work behind. After the user confirms the restatement:
39
+
40
+ 1. **Record a material decision, if the grill produced one.** A choice between real alternatives with lasting architecture/design impact belongs in an ADR before anything else — hand off to \`tospec-decision\`. Skip this when nothing material moved; a confirmed assumption is not a decision.
41
+ 2. **Then route by target kind:**
42
+ - **Target was an existing written proposal** -> hand off to \`tospec-update\` to fold the outcome into that change's artifacts. Name the change so update doesn't have to re-ask.
43
+ - **Target was a raw idea or an explore** -> nothing is written yet; recommend \`tospec-propose\` (or \`tospec-issue\` when something is broken), or keep grilling if it's still fuzzy.
44
+
45
+ Grill itself writes nothing — \`tospec-decision\` and \`tospec-update\` own those files.
46
+
25
47
  **Guardrails**
26
48
  - **Don't implement** — never write application code, edit sources, or create artifact files during a grill
27
- - **Don't act before consensus** — take no action until the user has confirmed the restated understanding
49
+ - **Don't pick the target yourself** — when the subject isn't explicit or unambiguous, ask; when there's no subject at all, stop
50
+ - **Don't act before consensus** — take no action, including any handoff, until the user has confirmed the restated understanding
28
51
  - **Don't ask what you can look up** — codebase facts are yours to find, not the user's to recite
29
52
  - **Don't stop at the first plausible answer** — dig for the implied premise behind it
30
53
  - **Don't force closure** — if the user wants to keep grilling after you've restated where things stand, keep going
31
54
 
32
- Grill is on-demand deep-dive for *any* artifact — not the pre-change requirement convergence that \`tospec-explore\` owns, and it lands no files of its own.`;
55
+ Grill is on-demand deep-dive for *any* artifact — not the pre-change requirement convergence that \`tospec-explore\` owns and it lands no files of its own, only handoffs.`;
33
56
  export function getGrillSkillTemplate() {
34
57
  return {
35
58
  name: 'tospec-grill',
36
59
  description: "Pressure-test any artifact — a plan, a decision, an idea, a design — through a relentless four-quadrant Known/Unknown interrogation. Trigger whenever the user says 'grill', 'grill me', 'grilling', or 'grilling me', or otherwise wants to dig deeper, surface unspoken assumptions, and hunt blind spots before committing.",
37
60
  instructions: `Grill any artifact the user hands you — a plan, decision, idea, or design — through the four-quadrant Known/Unknown frame until every assumption is named and the understanding is shared and confirmed.
38
61
 
39
- **Input**: The user's request is whatever they want stress-tested — a plan file, a recorded decision, a raw idea, or a change name to interrogate in context of. May be empty, in which case ask what to grill.
62
+ **Input**: The user's request is whatever they want stress-tested — a plan file, a recorded decision, a raw idea, or a change name to interrogate in context of. May be empty, in which case resolve the target per "Pick the target first" below — never assume one.
40
63
 
41
64
  ${GRILL_BODY}`,
42
65
  license: 'MIT',
@@ -53,7 +76,7 @@ export function getTospecGrillCommandTemplate() {
53
76
  tags: ['workflow', 'grill'],
54
77
  content: `Grill any artifact the user hands you — a plan, decision, idea, or design — through the four-quadrant Known/Unknown frame until every assumption is named and the understanding is shared and confirmed.
55
78
 
56
- **Input**: The argument after \`tospec-grill\` is whatever the user wants stress-tested — a plan file, a recorded decision, a raw idea, or a change name to interrogate in context of. May be empty, in which case ask what to grill.
79
+ **Input**: The argument after \`tospec-grill\` is whatever the user wants stress-tested — a plan file, a recorded decision, a raw idea, or a change name to interrogate in context of. May be empty, in which case resolve the target per "Pick the target first" below — never assume one.
57
80
 
58
81
  ${GRILL_BODY}`,
59
82
  };
@@ -1 +1 @@
1
- {"version":3,"file":"grill.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/grill.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6JA+B0I,CAAC;AAE9J,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gUAAgU;QAC7U,YAAY,EAAE;;;;EAIhB,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,2FAA2F;QACxG,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;QAC3B,OAAO,EAAE;;;;EAIX,UAAU,EAAE;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"grill.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/grill.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6KAsD0J,CAAC;AAE9K,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gUAAgU;QAC7U,YAAY,EAAE;;;;EAIhB,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,2FAA2F;QACxG,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;QAC3B,OAAO,EAAE;;;;EAIX,UAAU,EAAE;KACX,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seanmars/tospec",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Spec-driven development CLI for structured requirements and issue workflows",
5
5
  "license": "MIT",
6
6
  "publishConfig": {