@imix-js/taproot 0.7.0 → 0.8.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.
- package/dist/commands/dod.d.ts +2 -0
- package/dist/commands/dod.js +59 -2
- package/dist/commands/dod.js.map +1 -1
- package/dist/commands/init.js +25 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/update.js +14 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/core/dod-runner.d.ts +4 -0
- package/dist/core/dod-runner.js +102 -0
- package/dist/core/dod-runner.js.map +1 -1
- package/dist/core/dor-runner.js.map +1 -1
- package/dist/validators/types.d.ts +9 -0
- package/docs/agents.md +4 -1
- package/docs/cli.md +6 -2
- package/docs/configuration.md +24 -0
- package/docs/patterns.md +32 -0
- package/package.json +1 -1
- package/skills/backlog.md +7 -7
- package/skills/commit.md +37 -1
- package/skills/discover-truths.md +25 -11
- package/skills/discover.md +1 -1
- package/skills/guide.md +5 -1
- package/skills/implement.md +1 -1
- package/skills/next.md +63 -0
- package/skills/plan-analyse.md +81 -0
- package/skills/plan-execute.md +127 -0
- package/skills/plan.md +67 -34
- package/skills/research.md +6 -4
- package/skills/review-all.md +3 -3
- package/skills/status.md +4 -4
- package/skills/sweep.md +8 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dor-runner.js","sourceRoot":"","sources":["../../src/core/dor-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAqB,MAAM,eAAe,CAAC;AAGpE,yFAAyF;AACzF,SAAS,mBAAmB,CAAC,UAAkB,EAAE,IAAyB;IACxE,IAAI,CAAC,IAAI;QAAE,OAAO,UAAU,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;IAC5E,IAAI,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IAChC,OAAO,IAAI,CAAC,OAAO,CAAE,CAAC,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,GAAW;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACrD,IAAI,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAcD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,GAAW;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAO,UAAU;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,eAAe;IACvD,OAAO,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,gFAAgF;AAEhF,SAAS,iBAAiB,CACxB,UAAkB,EAClB,GAAW;IAEX,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/C,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAEnC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAEhD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,KAAK,EAAE,mEAAmE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC/F,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAqB,EAAE,GAAW;IAC9D,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,KAAK,GAA8B,CAAC,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEpE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QACtC,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,OAAO,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAErE,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;gBAChD,OAAO,wBAAwB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,GAAW;IACxD,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAEtD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,OAAO,CAAC;gBACN,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,UAAU,CAAC,KAAK;gBACxB,UAAU,EAAE,+GAA+G;aAC5H,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE7C,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC;gBACN,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,qEAAqE;aAClF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,eAAe,OAAO,8DAA8D,CAAC,CAAC;YACpG,SAAS;QACX,CAAC;QAED,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,eAAe,OAAO,oBAAoB,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,eAAe,OAAO,iHAAiH,CAAC,CAAC;YACvJ,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;QAChC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,eAAe,OAAO,eAAe,QAAQ,wEAAwE,CAAC,CAAC;QACvI,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC;gBACN,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC;YACN,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,UAAU,EAAE,0EAA0E;SACvF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,GAAW;IAC1D,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAExD,uBAAuB;IACvB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,0BAA0B,WAAW,EAAE;YAC/C,UAAU,EAAE,yEAAyE;SACtF,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEnD,sBAAsB;IACtB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAC3C,MAAM,WAAW,GAAG,KAAK,KAAK,WAAW,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,KAAK,GAAG;QAC3D,UAAU,EAAE,+FAA+F;KAC5G,CAAC,CAAC;IAEH,qDAAqD;IACrD,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,MAAM,QAAQ,GAA4B;QACxC,CAAC,OAAO,EAAE,OAAO,CAAC;QAClB,CAAC,eAAe,EAAE,eAAe,CAAC;QAClC,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;KACrC,CAAC;IACF,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACxC,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,UAAU;YACpD,UAAU,EAAE,YAAY,KAAK,wBAAwB;SACtD,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,8CAA8C;QACrE,UAAU,EAAE,4DAA4D;KACzE,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B;QACtD,UAAU,EAAE,uEAAuE;KACpF,CAAC,CAAC;IAEH,4CAA4C;IAC5C,MAAM,eAAe,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IAEjC,6CAA6C;IAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC/C,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,UAAU,QAAQ,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI;oBACJ,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,QAAQ,EAAE;oBAC7D,UAAU,EAAE,wGAAwG,IAAI,mDAAmD;iBAC5K,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,kBAAkB,IAAI,KAAK,IAAI,mBAAmB,IAAI,KAAK,IAAI,sBAAsB,IAAI,KAAK,CAAC,EAAE,CAAC;gBACzI,oFAAoF;gBACpF,MAAM,GAAG,GAAG,kBAAkB,IAAI,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,IAAI,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,CAAC;gBAC3I,MAAM,KAAK,GAAI,KAAgC,CAAC,GAAG,CAAE,CAAC;gBACtD,MAAM,IAAI,GAAG,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI;oBACJ,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,KAAK,EAAE;oBAC1D,UAAU,EAAE,6EAA6E;iBAC1F,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,wBAAwB,IAAI,KAAK,IAAI,KAAK,CAAC,wBAAwB,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;gBAClD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,wBAAwB;oBAC9B,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG;oBAC3E,UAAU,EAAE,qGAAqG;iBAClH,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBACrF,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;oBACtB,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;oBAC9D,UAAU,EAAE,8CAA8C;iBAC3D,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzF,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG;oBAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;oBACtB,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;oBAC9D,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,8CAA8C;iBAC/E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9D,CAAC"}
|
|
1
|
+
{"version":3,"file":"dor-runner.js","sourceRoot":"","sources":["../../src/core/dor-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,20 +28,29 @@ export interface Violation {
|
|
|
28
28
|
code: string;
|
|
29
29
|
message: string;
|
|
30
30
|
}
|
|
31
|
+
export type WhenQualifier = {
|
|
32
|
+
'source-matches': string;
|
|
33
|
+
};
|
|
31
34
|
export type DodConditionEntry = string | {
|
|
32
35
|
run: string;
|
|
33
36
|
name?: string;
|
|
34
37
|
correction?: string;
|
|
38
|
+
when?: WhenQualifier;
|
|
35
39
|
} | {
|
|
36
40
|
'document-current': string;
|
|
41
|
+
when?: WhenQualifier;
|
|
37
42
|
} | {
|
|
38
43
|
'check-if-affected': string;
|
|
44
|
+
when?: WhenQualifier;
|
|
39
45
|
} | {
|
|
40
46
|
'check-if-affected-by': string;
|
|
47
|
+
when?: WhenQualifier;
|
|
41
48
|
} | {
|
|
42
49
|
'check': string;
|
|
50
|
+
when?: WhenQualifier;
|
|
43
51
|
} | {
|
|
44
52
|
'require-discussion-log': boolean;
|
|
53
|
+
when?: WhenQualifier;
|
|
45
54
|
};
|
|
46
55
|
export interface TaprootConfig {
|
|
47
56
|
version: number;
|
package/docs/agents.md
CHANGED
|
@@ -44,7 +44,10 @@ After `taproot init --agent claude --with-skills`, skills are available as `/tr-
|
|
|
44
44
|
| `/tr-refine` | Update a behaviour spec based on post-implementation learnings |
|
|
45
45
|
| `/tr-promote` | Escalate a finding from implementation or behaviour level up to the intent |
|
|
46
46
|
| `/tr-analyse-change` | Impact analysis before editing an existing artifact — identifies downstream breakage and related behaviours |
|
|
47
|
-
| `/tr-
|
|
47
|
+
| `/tr-next` | Surface the next independently-implementable work item from the hierarchy |
|
|
48
|
+
| `/tr-plan` | Build a persistent implementation plan (`taproot/plan.md`) from backlog items, hierarchy gaps, or explicit items |
|
|
49
|
+
| `/tr-plan-execute` | Execute items from `taproot/plan.md` — step-by-step, batch, specify (spec+refine only), or implement (implement only) mode |
|
|
50
|
+
| `/tr-plan-analyse` | Analyse `taproot/plan.md` before execution — check readiness, flag ambiguous specs, unresolved dependencies, and missing prerequisites |
|
|
48
51
|
| `/tr-discover` | Reverse-engineer an existing codebase into a taproot hierarchy through structured, interactive discovery |
|
|
49
52
|
| `/tr-grill-me` | Interview you relentlessly about a plan or design — one decision branch at a time, recommended answer first |
|
|
50
53
|
| `/tr-research` | Research a domain or technical subject before speccing — scans local resources, searches the web, optionally grills domain experts |
|
package/docs/cli.md
CHANGED
|
@@ -161,7 +161,7 @@ Regenerates `taproot/OVERVIEW.md` — a compact hierarchy summary with clickable
|
|
|
161
161
|
taproot plan [--format tree|json]
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
-
Surfaces unimplemented behaviours as work items, ordered by priority (intents with more coverage are prioritized to reach completion). Useful for sprint planning or for orienting a new contributor. The `/tr-
|
|
164
|
+
Surfaces unimplemented behaviours as work items, ordered by priority (intents with more coverage are prioritized to reach completion). Useful for sprint planning or for orienting a new contributor. The `/tr-next` skill provides an AI-driven version with more context.
|
|
165
165
|
|
|
166
166
|
---
|
|
167
167
|
|
|
@@ -170,12 +170,16 @@ Surfaces unimplemented behaviours as work items, ordered by priority (intents wi
|
|
|
170
170
|
### `taproot dod`
|
|
171
171
|
|
|
172
172
|
```bash
|
|
173
|
-
taproot dod [impl-path] [--dry-run] [--rerun-tests]
|
|
173
|
+
taproot dod [impl-path] [--dry-run] [--rerun-tests] [--stash] [--ignore-dirty]
|
|
174
174
|
taproot dod <impl-path> --resolve <condition> --note "<text>" [--resolve <condition> --note "<text>" ...]
|
|
175
175
|
```
|
|
176
176
|
|
|
177
177
|
Runs all configured DoD conditions from `taproot/settings.yaml` against the specified implementation (or all implementations if no path is given). If all conditions pass and an `impl-path` is provided, marks the impl `complete`, records the results in `## DoD Resolutions`, and automatically advances the parent `usecase.md` state from `specified` to `implemented` if it hasn't been already.
|
|
178
178
|
|
|
179
|
+
**Uncommitted changes pre-check:** When an `impl-path` is provided, `taproot dod` first checks `git status` for files modified or untracked that are not listed in the impl's `## Source Files`. If such files are found, it reports them and exits with a non-zero code before running any conditions. This prevents uncommitted out-of-scope changes from polluting the implementation commit. Options:
|
|
180
|
+
- `--stash` — automatically run `git stash` before running DoD; restores with `git stash pop` manually after
|
|
181
|
+
- `--ignore-dirty` — skip the dirty check and run DoD regardless of working tree state
|
|
182
|
+
|
|
179
183
|
Use `--resolve`/`--note` to record agent resolutions for agent-driven conditions (e.g. `document-current`, `check-if-affected`, `check-if-affected-by`). Multiple pairs can be supplied in a single invocation — conditions are paired with notes by position.
|
|
180
184
|
|
|
181
185
|
Use `--rerun-tests` to force re-execution of `testsCommand` regardless of any cached result. Requires `<impl-path>`.
|
package/docs/configuration.md
CHANGED
|
@@ -73,6 +73,30 @@ The `definitionOfDone` list controls what `taproot dod` checks and what the pre-
|
|
|
73
73
|
| `check: <free-form question>` | Agent-verified: the agent reads the question, reasons whether the answer is yes, no, or not applicable for this specific implementation, and takes any indicated action (e.g. adds an entry to `taproot/settings.yaml`, documents a new pattern). The two default entries in `taproot/settings.yaml` cover the most common meta-questions. |
|
|
74
74
|
| `run: <command>` | Custom shell command. Exit 0 = pass, any other exit code = fail. |
|
|
75
75
|
|
|
76
|
+
### Scoping conditions with `when:`
|
|
77
|
+
|
|
78
|
+
Any condition can be scoped to run only when the implementation's `## Source Files` list contains a file matching a glob pattern:
|
|
79
|
+
|
|
80
|
+
```yaml
|
|
81
|
+
definitionOfDone:
|
|
82
|
+
- check-if-affected-by: skill-architecture/context-engineering
|
|
83
|
+
when:
|
|
84
|
+
source-matches: "skills/*.md"
|
|
85
|
+
- check-if-affected-by: api-design/rest-conventions
|
|
86
|
+
when:
|
|
87
|
+
source-matches: "src/api/**/*.ts"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
When `taproot dod` runs for an impl:
|
|
91
|
+
|
|
92
|
+
- If any source file path listed in `## Source Files` matches the glob → the condition runs normally.
|
|
93
|
+
- If no source file matches → the condition is auto-resolved as `not applicable — no source files match \`<glob>\`` without requiring agent work.
|
|
94
|
+
- If the impl has no `## Source Files` section → all scoped conditions are auto-resolved as `not applicable — impl has no ## Source Files section`.
|
|
95
|
+
|
|
96
|
+
Glob syntax: `*` matches any characters except `/`; `**` matches across directory separators. A malformed `when:` qualifier (any key other than `source-matches`) produces a parse error result for that condition.
|
|
97
|
+
|
|
98
|
+
The primary use case is conditions that apply only to a specific implementation type — e.g. skill files, API handlers, CLI commands — to avoid repetitive "not applicable" resolutions across all other impls.
|
|
99
|
+
|
|
76
100
|
You can give any condition a custom name with `name: <label>`, which is used in DoD reports:
|
|
77
101
|
|
|
78
102
|
```yaml
|
package/docs/patterns.md
CHANGED
|
@@ -48,6 +48,38 @@ When the DoD runner encounters this condition, it instructs the agent to:
|
|
|
48
48
|
|
|
49
49
|
---
|
|
50
50
|
|
|
51
|
+
## Scoped conditions (`when: source-matches:`)
|
|
52
|
+
|
|
53
|
+
**Problem:** A cross-cutting condition is relevant only to specific implementation types — for example, a skill-file style guide applies only to impls whose `## Source Files` include `skills/*.md`. Without scoping, every other implementation in the project must record a repetitive "not applicable" resolution, adding noise to DoD runs.
|
|
54
|
+
|
|
55
|
+
**Pattern:** Add a `when: source-matches: "<glob>"` qualifier to any condition in `definitionOfDone` or `definitionOfReady`.
|
|
56
|
+
|
|
57
|
+
```yaml
|
|
58
|
+
definitionOfDone:
|
|
59
|
+
- check-if-affected-by: skill-architecture/context-engineering
|
|
60
|
+
when:
|
|
61
|
+
source-matches: "skills/*.md"
|
|
62
|
+
- check-if-affected-by: api-design/rest-conventions
|
|
63
|
+
when:
|
|
64
|
+
source-matches: "src/api/**/*.ts"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
The glob is matched against the paths listed in the impl's `## Source Files` section:
|
|
68
|
+
- **Match** → condition runs exactly as if no `when:` qualifier were present
|
|
69
|
+
- **No match** → condition is auto-resolved as `not applicable — no source files match \`<glob>\`` with no agent work
|
|
70
|
+
- **No `## Source Files` section** → all scoped conditions auto-resolve as `not applicable — impl has no ## Source Files section`
|
|
71
|
+
|
|
72
|
+
**When to use it:**
|
|
73
|
+
- The condition only makes sense for a specific implementation type (skill files, API handlers, CLI commands)
|
|
74
|
+
- You have multiple implementation types sharing the same settings.yaml, and most are not affected by the condition
|
|
75
|
+
- The manual "not applicable" resolutions are adding noise without value
|
|
76
|
+
|
|
77
|
+
**Glob syntax:** `*` matches any characters except `/`; `**` matches across directory separators. Same conventions as `.gitignore`.
|
|
78
|
+
|
|
79
|
+
**Limitation:** Scoping is based on listed source file paths — it does not read the files themselves. If an impl omits a file from `## Source Files`, that file is not considered for matching.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
51
83
|
## Specific file impact tracking (`check-if-affected`)
|
|
52
84
|
|
|
53
85
|
**Problem:** Certain files need manual review whenever the codebase changes — a docs index, a CLI help text, a skill guide. You want the DoD to prompt the implementer to check them, without making the check fully automated.
|
package/package.json
CHANGED
package/skills/backlog.md
CHANGED
|
@@ -14,14 +14,14 @@ Capture ideas, findings, and deferred work mid-session with a single command —
|
|
|
14
14
|
|
|
15
15
|
1. Detect that an argument was provided.
|
|
16
16
|
2. If the argument is blank or whitespace only: warn *"Nothing to capture — provide a description."* and stop.
|
|
17
|
-
3. Create `taproot/
|
|
17
|
+
3. Create `taproot/backlog.md` if absent. Append the item:
|
|
18
18
|
`- [YYYY-MM-DD] <idea>` using today's date.
|
|
19
19
|
4. Confirm in one line: *"✓ Captured: <idea>"*
|
|
20
20
|
No follow-up response required from the developer — the session continues.
|
|
21
21
|
|
|
22
22
|
### Triage mode (no argument)
|
|
23
23
|
|
|
24
|
-
1. Read `taproot/
|
|
24
|
+
1. Read `taproot/backlog.md`.
|
|
25
25
|
- If absent or contains no standard items: report *"Backlog is empty. Use `/tr-backlog <idea>` to capture something."* and stop.
|
|
26
26
|
|
|
27
27
|
2. Present all standard items as a numbered list (FIFO order, oldest first):
|
|
@@ -36,8 +36,8 @@ Capture ideas, findings, and deferred work mid-session with a single command —
|
|
|
36
36
|
3. Offer: `D <n>` discard · `P <n>` promote to /tr-ineed · `A <n>` analyze · `done` finish
|
|
37
37
|
|
|
38
38
|
4. Accept commands one at a time:
|
|
39
|
-
- **`D <n>`** — remove item n from `taproot/
|
|
40
|
-
- **`P <n>` promote to /tr-ineed** — remove item n from `taproot/
|
|
39
|
+
- **`D <n>`** — remove item n from `taproot/backlog.md`. Confirm: *"✓ Discarded #n"*. Redisplay the updated numbered list.
|
|
40
|
+
- **`P <n>` promote to /tr-ineed** — remove item n from `taproot/backlog.md`. Invoke `/tr-ineed` with the item text. On return, redisplay the updated numbered list.
|
|
41
41
|
- **`A <n>` analyze** — produce a structured analysis of the item:
|
|
42
42
|
- A short description of what the item is or could be (2–4 sentences)
|
|
43
43
|
- A complexity signal: **simple** / **moderate** / **significant**
|
|
@@ -46,7 +46,7 @@ Capture ideas, findings, and deferred work mid-session with a single command —
|
|
|
46
46
|
- **`done`** — end triage. Items not acted on are kept implicitly.
|
|
47
47
|
|
|
48
48
|
5. After `done`: *"Triage complete — X discarded, Y promoted, Z kept."*
|
|
49
|
-
If any non-standard lines were skipped: *"Skipped N non-standard line(s) — they remain in `taproot/
|
|
49
|
+
If any non-standard lines were skipped: *"Skipped N non-standard line(s) — they remain in `taproot/backlog.md`."*
|
|
50
50
|
|
|
51
51
|
If the developer exits without `done`: unprocessed items remain unchanged. If any actions were taken, show the summary; otherwise continue naturally.
|
|
52
52
|
|
|
@@ -60,7 +60,7 @@ Capture ideas, findings, and deferred work mid-session with a single command —
|
|
|
60
60
|
|
|
61
61
|
## Output
|
|
62
62
|
|
|
63
|
-
**Capture:** item written to `taproot/
|
|
63
|
+
**Capture:** item written to `taproot/backlog.md`, one-line confirmation.
|
|
64
64
|
**Triage:** backlog updated in place; promoted items handed to `/tr-ineed`; completion summary shown.
|
|
65
65
|
|
|
66
66
|
## CLI Dependencies
|
|
@@ -73,4 +73,4 @@ None.
|
|
|
73
73
|
- Item format: `- [YYYY-MM-DD] <text>`. Items are presented FIFO (oldest first) during triage.
|
|
74
74
|
- Items promoted via `[P]` are removed from the backlog before `/tr-ineed` is invoked. If the developer abandons the `/tr-ineed` discovery, re-capture the item with `/tr-backlog <idea>`.
|
|
75
75
|
- This is a scratchpad, not a project management tool — no priority, labels, or status tracking.
|
|
76
|
-
- Storage is `taproot/
|
|
76
|
+
- Storage is `taproot/backlog.md` — a committed markdown file inside the taproot config directory, versioned with the project.
|
package/skills/commit.md
CHANGED
|
@@ -55,6 +55,20 @@ Execute the full commit procedure: classify the commit type, run the appropriate
|
|
|
55
55
|
taproot dod <impl-path> --resolve "<exact-condition-name>" --note "<reasoning>"
|
|
56
56
|
```
|
|
57
57
|
**One condition per invocation.** Do not pass multiple `--resolve` flags.
|
|
58
|
+
|
|
59
|
+
**`document-current` resolution — mandatory steps:**
|
|
60
|
+
1. Read `docs/` and `README.md` content (the actual text, not inferred state)
|
|
61
|
+
2. Read the git diff for this implementation to identify what changed
|
|
62
|
+
3. Compare: are the docs accurate and current relative to what was just implemented?
|
|
63
|
+
4. If stale sections are found: apply updates directly, then resolve
|
|
64
|
+
5. If docs are current: resolve with a note describing what you read and why no update is needed
|
|
65
|
+
|
|
66
|
+
**Prohibited resolutions for `document-current`:**
|
|
67
|
+
- "nothing in backlog → docs are fine"
|
|
68
|
+
- "impl.md says complete → docs must be current"
|
|
69
|
+
- "no related backlog items → no doc update needed"
|
|
70
|
+
- Any resolution that does not involve reading `docs/` content and comparing it to the git diff
|
|
71
|
+
|
|
58
72
|
c. Re-run `taproot dod <impl-path>` after each resolution to check remaining failures
|
|
59
73
|
d. Repeat until all conditions pass. If a condition remains `✗` after its `--resolve` invocation, stop immediately: "Cannot resolve `<condition>` — it requires: `<correction hint>`." Wait for the user to intervene.
|
|
60
74
|
|
|
@@ -72,7 +86,20 @@ Execute the full commit procedure: classify the commit type, run the appropriate
|
|
|
72
86
|
Wait for the developer's choice. Do not proceed to step 5 until resolved.
|
|
73
87
|
e. If no conflicts (or all resolved): run `taproot truth-sign` to record the session marker the hook validates.
|
|
74
88
|
|
|
75
|
-
5.
|
|
89
|
+
5. **Suggest commit tag** — derive the conventional tag from the matched impl.md paths:
|
|
90
|
+
- For each matched `impl.md`, extract the relative path between `taproot/specs/` and `/impl.md` → `<intent>/<behaviour>/<impl>`
|
|
91
|
+
- If the developer has already supplied a commit message that starts with a recognised prefix (`taproot(`, `fix:`, `feat:`, `chore:`, `refine:`, `spec:`, `build:`, `docs:`): use it as-is — do not suggest or prepend anything
|
|
92
|
+
- If all matched impl.md files share the same `<intent>/<behaviour>` prefix:
|
|
93
|
+
- Single impl: suggest `taproot(<intent>/<behaviour>/<impl>):`
|
|
94
|
+
- Multiple impls under the same behaviour: suggest `taproot(<intent>/<behaviour>):`
|
|
95
|
+
- If matched impl.md files span two or more distinct `<intent>/<behaviour>` paths:
|
|
96
|
+
- Report: *"Staged files span multiple behaviours: `<path-1>`, `<path-2>`. Suggested: commit them separately, one per behaviour, to keep commit history traceable."*
|
|
97
|
+
- Offer: `[A] Commit all together (no single tag) [B] Split — commit one behaviour at a time`
|
|
98
|
+
- `[B]`: stage only the first behaviour's files, apply its tag, commit; then repeat for the remainder
|
|
99
|
+
- If an impl.md path does not match `taproot/specs/<intent>/<behaviour>/<impl>/impl.md`, skip the tag suggestion for that file and note: *"Could not derive tag from `<path>` — path layout unexpected."*
|
|
100
|
+
- Present: `Suggested commit tag: taproot(<path>):`
|
|
101
|
+
|
|
102
|
+
6. Stage source files + all matched impl.md files and commit with the suggested tag prefix (or the developer-supplied message).
|
|
76
103
|
|
|
77
104
|
### Declaration commit
|
|
78
105
|
|
|
@@ -124,6 +151,15 @@ Execute the full commit procedure: classify the commit type, run the appropriate
|
|
|
124
151
|
|
|
125
152
|
6. After committing, run `taproot link-commits --path <taproot-root>` if any impl.md files were staged, to update their `## Commits` sections.
|
|
126
153
|
|
|
154
|
+
7. Offer contextual What's next options based on the commit type:
|
|
155
|
+
- **[A] Continue plan** — only if `taproot/plan.md` exists and contains `pending` items: invoke `/tr-plan-execute`
|
|
156
|
+
- **[B] Implement next** — only for requirement or declaration commits: prompt `Which behaviour should I implement next?` then invoke `/tr-implement <path>`
|
|
157
|
+
- **[C] Check backlog** — open `.taproot/backlog.md` to review deferred ideas and captured findings
|
|
158
|
+
- **[D] Check coverage** — `/tr-status` to review hierarchy health
|
|
159
|
+
- **[E] Done** — no further action
|
|
160
|
+
|
|
161
|
+
Omit [A] if no plan exists or no pending items remain. Omit [B] after implementation and plain commits. Developer may ignore the prompt silently.
|
|
162
|
+
|
|
127
163
|
## Output
|
|
128
164
|
|
|
129
165
|
A clean commit where the pre-commit hook passes on the first attempt. All conditions resolved with written rationale before staging.
|
|
@@ -15,10 +15,17 @@ Before following any steps, check whether autonomous mode is active:
|
|
|
15
15
|
- `--autonomous` was passed as an argument to this skill invocation, **or**
|
|
16
16
|
- `taproot/settings.yaml` contains `autonomous: true`
|
|
17
17
|
|
|
18
|
-
If any of these is true, **autonomous mode is active** — skip interactive prompts and defer all candidates to `taproot/
|
|
18
|
+
If any of these is true, **autonomous mode is active** — skip interactive prompts and defer all candidates to `taproot/backlog.md` as "truth candidate: `<term>`" entries, then report the summary.
|
|
19
19
|
|
|
20
20
|
## Steps
|
|
21
21
|
|
|
22
|
+
### Phase 0 — Resume Check
|
|
23
|
+
|
|
24
|
+
1a. Check for `.taproot/sessions/discover-truths-status.md`. If found, present:
|
|
25
|
+
> "A previous session exists (N processed, M remaining). [A] Resume [R] Restart"
|
|
26
|
+
- **[A] Resume**: load the status file, skip already-processed candidates, and continue from the first unprocessed `[ ]` entry. Proceed directly to Phase 4 using the stored candidate list.
|
|
27
|
+
- **[R] Restart**: overwrite the status file from scratch and run the full flow from Phase 1.
|
|
28
|
+
|
|
22
29
|
### Phase 1 — Pre-flight
|
|
23
30
|
|
|
24
31
|
1. Verify `taproot/global-truths/` exists. If not, stop:
|
|
@@ -31,7 +38,7 @@ If any of these is true, **autonomous mode is active** — skip interactive prom
|
|
|
31
38
|
|
|
32
39
|
3. Read all files in `taproot/global-truths/` (excluding `intent.md` and subdirectory `usecase.md` files — truth files are files that are NOT named `intent.md` or `usecase.md`). Collect defined terms and rules from them.
|
|
33
40
|
|
|
34
|
-
4. Read `taproot/
|
|
41
|
+
4. Read `taproot/backlog.md` if it exists. Extract all lines matching `reviewed — not a truth: <term>` — these are permanently dismissed candidates. Build a suppression list from them.
|
|
35
42
|
|
|
36
43
|
### Phase 3 — Identify Candidates
|
|
37
44
|
|
|
@@ -59,9 +66,7 @@ If any of these is true, **autonomous mode is active** — skip interactive prom
|
|
|
59
66
|
|
|
60
67
|
### Phase 4 — Present Candidates
|
|
61
68
|
|
|
62
|
-
7.
|
|
63
|
-
|
|
64
|
-
For each candidate, present:
|
|
69
|
+
7. Present candidates **one at a time**. For each candidate:
|
|
65
70
|
```
|
|
66
71
|
Candidate: `<term or rule>`
|
|
67
72
|
Category: <recurring term | business rule | implicit convention>
|
|
@@ -76,9 +81,10 @@ If any of these is true, **autonomous mode is active** — skip interactive prom
|
|
|
76
81
|
|
|
77
82
|
**Autonomous mode:** defer all candidates to backlog as "truth candidate: `<term>`" and skip to Phase 5.
|
|
78
83
|
|
|
79
|
-
8. Handle each developer choice:
|
|
84
|
+
8. Handle each developer choice. **After each response**, write progress to `.taproot/sessions/discover-truths-status.md` before moving to the next candidate (format: checklist of all candidates with `[x]`/`[ ]` markers, counts of promoted/skipped/backlogged/dismissed so far):
|
|
80
85
|
|
|
81
86
|
**Promote [P]:**
|
|
87
|
+
- Mark candidate `[x promoted]` in the status file
|
|
82
88
|
- Invoke `/tr-ineed` with the candidate term, proposed scope, and evidence pre-populated as context
|
|
83
89
|
- If `/tr-ineed` routes to a location other than `define-truth`, surface the routing decision:
|
|
84
90
|
> "This candidate was routed to `<location>`. [A] Accept routing [B] Override — invoke define-truth directly"
|
|
@@ -86,22 +92,30 @@ If any of these is true, **autonomous mode is active** — skip interactive prom
|
|
|
86
92
|
- After `/tr-ineed` completes (or is abandoned), return to the candidate list
|
|
87
93
|
|
|
88
94
|
**Skip [S]:**
|
|
89
|
-
-
|
|
95
|
+
- Mark candidate `[x skipped]` in the status file
|
|
96
|
+
- No record written to backlog; candidate reappears on next discovery run
|
|
90
97
|
|
|
91
98
|
**Backlog [B]:**
|
|
92
|
-
-
|
|
99
|
+
- Mark candidate `[x backlogged]` in the status file
|
|
100
|
+
- Append to `taproot/backlog.md`: `- [YYYY-MM-DD] truth candidate: <term>`
|
|
93
101
|
- Move to next candidate
|
|
94
102
|
|
|
95
103
|
**Dismiss [D]:**
|
|
96
|
-
-
|
|
104
|
+
- Mark candidate `[x dismissed]` in the status file
|
|
105
|
+
- Append to `taproot/backlog.md`: `- [YYYY-MM-DD] reviewed — not a truth: <term>`
|
|
97
106
|
- This entry suppresses the candidate on all future discovery runs
|
|
98
107
|
- Move to next candidate
|
|
99
108
|
|
|
109
|
+
**Developer ends session early:**
|
|
110
|
+
- Current state is already persisted in `.taproot/sessions/discover-truths-status.md`
|
|
111
|
+
- Developer can resume by re-invoking `/tr-discover-truths` and selecting [A] Resume
|
|
112
|
+
|
|
100
113
|
### Phase 5 — Wrap Up
|
|
101
114
|
|
|
102
115
|
9. Report:
|
|
103
116
|
> "Discovery complete — N promoted, N skipped, N backlogged, N dismissed[, N remaining]."
|
|
104
117
|
> (Include "N remaining" only if the developer ended the session early.)
|
|
118
|
+
Delete `.taproot/sessions/discover-truths-status.md` (clean completion — no resume needed).
|
|
105
119
|
|
|
106
120
|
> 💡 If this session is getting long, consider running `/compact` or starting a fresh context before the next task.
|
|
107
121
|
|
|
@@ -113,7 +127,7 @@ If any of these is true, **autonomous mode is active** — skip interactive prom
|
|
|
113
127
|
## Output
|
|
114
128
|
|
|
115
129
|
- Zero or more truth files created in `taproot/global-truths/` (via `/tr-ineed` → define-truth)
|
|
116
|
-
- `taproot/
|
|
130
|
+
- `taproot/backlog.md` updated with any backlogged or dismissed candidates
|
|
117
131
|
- Summary report: N promoted, N skipped, N backlogged, N dismissed
|
|
118
132
|
|
|
119
133
|
## CLI Dependencies
|
|
@@ -125,5 +139,5 @@ None.
|
|
|
125
139
|
- Truth files in `taproot/global-truths/` are any files that are NOT named `intent.md` or `usecase.md`. They may have any name (e.g. `glossary.md`, `pricing-rules.md`, `entity-model.md`).
|
|
126
140
|
- "Recurring" means 2 or more specs — not just repeated within a single spec.
|
|
127
141
|
- Skip generic language-level words ("the", "a", "is", "not") and taproot structural terms ("intent", "behaviour", "usecase", "implementation") — these are not domain truths.
|
|
128
|
-
- Dismissed entries in `taproot/
|
|
142
|
+
- Dismissed entries in `taproot/backlog.md` are matched by the literal string "reviewed — not a truth: `<term>`" — the suppression logic is substring-match on the candidate term.
|
|
129
143
|
- This skill is read-only on the hierarchy — it never modifies `intent.md` or `usecase.md` files directly.
|
package/skills/discover.md
CHANGED
|
@@ -241,7 +241,7 @@ Reverse-engineer an existing project into a taproot hierarchy — from source co
|
|
|
241
241
|
|
|
242
242
|
**What's next?**
|
|
243
243
|
[A] `/tr-status` — see coverage gaps and health report
|
|
244
|
-
[B] `/tr-
|
|
244
|
+
[B] `/tr-next` — surface the next behaviour to implement
|
|
245
245
|
[C] `/tr-ineed` — capture requirements that surfaced during discovery but weren't formalised
|
|
246
246
|
|
|
247
247
|
## Output
|
package/skills/guide.md
CHANGED
|
@@ -62,6 +62,10 @@ ineed → intent → behaviour → implement → trace → status
|
|
|
62
62
|
| `/tr-backlog` | Capture an idea or finding instantly mid-session; called with no args opens triage to discard, keep, or promote items |
|
|
63
63
|
| `/tr-grill-me` | Interview the user relentlessly to sharpen a plan or design |
|
|
64
64
|
| `/tr-research` | Research a domain or technical subject before speccing — local resources, web search, expert grilling |
|
|
65
|
+
| `/tr-next` | Surface the next independently-implementable work item from the hierarchy |
|
|
66
|
+
| `/tr-plan` | Build a persistent implementation plan (`taproot/plan.md`) from backlog items, hierarchy gaps, or explicit items |
|
|
67
|
+
| `/tr-plan-execute` | Execute items from `taproot/plan.md` — step-by-step, batch, specify (spec+refine only), or implement (implement only) mode |
|
|
68
|
+
| `/tr-plan-analyse` | Analyse `taproot/plan.md` before execution — check readiness, flag ambiguous specs, unresolved dependencies, and missing prerequisites |
|
|
65
69
|
| `/tr-sweep` | Apply a uniform task to a filtered set of hierarchy files — enumerate, confirm, then call `taproot apply` |
|
|
66
70
|
| `/tr-commit` | Execute the full commit procedure: classify type, run proactive gates, resolve DoD/DoR conditions, stage, and commit |
|
|
67
71
|
| `/tr-refine` | Update a behaviour spec based on implementation learnings |
|
|
@@ -107,7 +111,7 @@ ineed → intent → behaviour → implement → trace → status
|
|
|
107
111
|
**What's next?**
|
|
108
112
|
[A] `/tr-ineed` — capture your first (or next) requirement
|
|
109
113
|
[B] `/tr-status` — see the current project health at a glance
|
|
110
|
-
[C] `/tr-backlog` — triage captured ideas (only if `taproot/
|
|
114
|
+
[C] `/tr-backlog` — triage captured ideas (only if `taproot/backlog.md` is non-empty)
|
|
111
115
|
|
|
112
116
|
## Output
|
|
113
117
|
|
package/skills/implement.md
CHANGED
|
@@ -146,7 +146,7 @@ If any of these is true, **autonomous mode is active** — apply the autonomous
|
|
|
146
146
|
> 💡 If this session is getting long, consider running `/compact` or starting a fresh context before the next task.
|
|
147
147
|
|
|
148
148
|
**What's next?**
|
|
149
|
-
[A] `/tr-
|
|
149
|
+
[A] `/tr-next` — surface the next implementable behaviour
|
|
150
150
|
[B] `/tr-status` — see full project health after this implementation
|
|
151
151
|
|
|
152
152
|
## Output
|
package/skills/next.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Skill: plan
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Surface the next independently-implementable work item from the requirement hierarchy. Runs `taproot plan` to scan and classify candidates as AFK (agent can proceed autonomously) or HITL (human input required), presents the recommended next slice, and delegates to `/tr-implement` once the developer confirms.
|
|
6
|
+
|
|
7
|
+
## Inputs
|
|
8
|
+
|
|
9
|
+
- `path` (optional): Behaviour path to implement directly — skips discovery and goes straight to `/tr-implement`.
|
|
10
|
+
|
|
11
|
+
## Steps
|
|
12
|
+
|
|
13
|
+
1. **If a path was provided**: skip to Step 5 and invoke `/tr-implement <path>` directly.
|
|
14
|
+
|
|
15
|
+
2. Run `taproot plan` and read the output. It lists:
|
|
16
|
+
- **AFK** candidates: behaviours with `specified` state, ready to implement autonomously
|
|
17
|
+
- **HITL** candidates: behaviours with `proposed` state, needing human review first
|
|
18
|
+
- **In-progress** implementations: partially-implemented behaviours that can be resumed
|
|
19
|
+
|
|
20
|
+
3. If no candidates are found (all behaviours fully implemented), report: "Everything is implemented."
|
|
21
|
+
|
|
22
|
+
Nothing obvious next — whenever you're ready:
|
|
23
|
+
|
|
24
|
+
> 💡 If this session is getting long, consider running `/compact` or starting a fresh context before the next task.
|
|
25
|
+
|
|
26
|
+
**What's next?**
|
|
27
|
+
[A] `/tr-review-all` — semantic review of the full hierarchy
|
|
28
|
+
[B] `/tr-ineed` — capture a new requirement
|
|
29
|
+
|
|
30
|
+
Then stop.
|
|
31
|
+
|
|
32
|
+
4. Recommend the top AFK candidate (first in the sorted output). Present it as:
|
|
33
|
+
> "Next recommended slice: **`<behaviour-path>`** (`<intent goal>`)"
|
|
34
|
+
> "Classification: AFK — spec is complete, no design decisions required."
|
|
35
|
+
> "To implement: `/tr-implement taproot/<behaviour-path>/`"
|
|
36
|
+
>
|
|
37
|
+
> **[Y]** Implement this **[L]** Show full list **[S]** Skip to a different behaviour
|
|
38
|
+
|
|
39
|
+
- **[Y]**: proceed to Step 5
|
|
40
|
+
- **[L]**: display the full `taproot plan` output, then ask the developer to pick a behaviour path, then proceed to Step 5
|
|
41
|
+
- **[S]**: ask "Which behaviour path would you like to implement?" then proceed to Step 5
|
|
42
|
+
|
|
43
|
+
5. If the top candidate is HITL (no AFK candidates exist), flag it:
|
|
44
|
+
> "The next unimplemented behaviour is HITL — the spec needs clarification before an agent can proceed autonomously."
|
|
45
|
+
> "Behaviour: `<path>`"
|
|
46
|
+
|
|
47
|
+
**Next:** `/tr-refine taproot/<path>/` — sharpen the spec, then return here
|
|
48
|
+
|
|
49
|
+
6. Invoke `/tr-implement taproot/<behaviour-path>/` with the confirmed path.
|
|
50
|
+
|
|
51
|
+
## Output
|
|
52
|
+
|
|
53
|
+
Delegates to `/tr-implement`. No files are written directly by this skill.
|
|
54
|
+
|
|
55
|
+
## CLI Dependencies
|
|
56
|
+
|
|
57
|
+
- `taproot plan`
|
|
58
|
+
|
|
59
|
+
## Notes
|
|
60
|
+
|
|
61
|
+
- AFK/HITL classification is determined by the `taproot plan` command using the behaviour's `usecase.md` state as a proxy: `specified` → AFK, `proposed` → HITL.
|
|
62
|
+
- This skill is the conversational wrapper around `taproot plan` — it adds selection, confirmation, and delegation logic that the CLI command cannot provide.
|
|
63
|
+
- `/tr-next` is the Claude Code adapter command name for this skill.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Skill: plan-analyse
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Analyse `taproot/plan.md` before execution: check each pending item for readiness, flag ambiguous specs, unresolved dependencies, and missing prerequisites, and produce a per-item report so the developer knows what needs fixing before executing.
|
|
6
|
+
|
|
7
|
+
## Inputs
|
|
8
|
+
|
|
9
|
+
None required.
|
|
10
|
+
|
|
11
|
+
## Steps
|
|
12
|
+
|
|
13
|
+
1. **Check for plan.** If `taproot/plan.md` does not exist, report:
|
|
14
|
+
> *"No plan found — build one first with `/tr-plan`."*
|
|
15
|
+
Stop.
|
|
16
|
+
|
|
17
|
+
2. **Read `taproot/plan.md`.** Collect all items. If no `pending` items exist, report:
|
|
18
|
+
> *"No pending items to analyse."*
|
|
19
|
+
Suggest: *"Build a new plan with `/tr-plan`."* Stop.
|
|
20
|
+
|
|
21
|
+
3. **Evaluate readiness for each pending item:**
|
|
22
|
+
|
|
23
|
+
**`[spec]` items:**
|
|
24
|
+
- Is the description specific enough to write a `usecase.md`? Does it name an actor and a goal?
|
|
25
|
+
- Flag ⚠ if the description is vague, names no actor, or has no clear success outcome.
|
|
26
|
+
|
|
27
|
+
**`[implement]` items:**
|
|
28
|
+
- Does the referenced `usecase.md` exist at the given path?
|
|
29
|
+
- Is it in `specified` or `implemented` state? Flag ⚠ if it is `draft` or `proposed`.
|
|
30
|
+
- Does the spec have open questions (unresolved `?` markers, `TBD` entries, or `proposed` sub-behaviours)? Flag ⚠ if found.
|
|
31
|
+
- Flag ✗ if `usecase.md` is missing entirely.
|
|
32
|
+
|
|
33
|
+
**`[refine]` items:**
|
|
34
|
+
- Does the referenced spec exist?
|
|
35
|
+
- Is there enough context in the item description to know what to refine?
|
|
36
|
+
- Flag ⚠ if the description is too vague to guide refinement.
|
|
37
|
+
- Flag ✗ if the spec is missing.
|
|
38
|
+
|
|
39
|
+
**Dependency check (all types):**
|
|
40
|
+
- If this item depends on an earlier plan item (inferred by position: a `[spec]` or `[refine]` item for the same path appearing earlier in the list), is that predecessor `done` or `specified`?
|
|
41
|
+
- Flag ✗ if the predecessor is still `pending`.
|
|
42
|
+
|
|
43
|
+
4. **Build the readiness report:**
|
|
44
|
+
```
|
|
45
|
+
Plan Analysis — N pending items
|
|
46
|
+
|
|
47
|
+
✓ Ready (N)
|
|
48
|
+
· [implement] taproot/<intent>/<behaviour>/ — spec specified, no open questions
|
|
49
|
+
|
|
50
|
+
⚠ Needs attention (N)
|
|
51
|
+
· [implement] taproot/<intent>/<behaviour>/ — spec is 'proposed', run /tr-refine first
|
|
52
|
+
· [spec] "add login flow" — description is vague: actor and success criteria unclear
|
|
53
|
+
|
|
54
|
+
✗ Blocked (N)
|
|
55
|
+
· [implement] taproot/<intent>/<behaviour>/ — depends on item 2 which is not yet done
|
|
56
|
+
```
|
|
57
|
+
For each flagged item, append a one-line suggested action (e.g. `/tr-refine <path>`, `/tr-behaviour <path>`, "clarify actor and goal").
|
|
58
|
+
|
|
59
|
+
5. **Summarise:**
|
|
60
|
+
- If all items are ready: *"All N pending items are ready — no blockers or ambiguities found."* Offer: *"[A] Execute now → `/tr-plan-execute`"*
|
|
61
|
+
- Otherwise: *"N items ready, N need attention, N blocked. Suggested: resolve ⚠ and ✗ items before executing."*
|
|
62
|
+
|
|
63
|
+
> 💡 If this session is getting long, consider running `/compact` or starting a fresh context before the next task.
|
|
64
|
+
|
|
65
|
+
**What's next?**
|
|
66
|
+
[A] `/tr-plan-execute` — execute the plan (after resolving flagged items)
|
|
67
|
+
[B] `/tr-plan` — rebuild or add items to the plan
|
|
68
|
+
|
|
69
|
+
## Output
|
|
70
|
+
|
|
71
|
+
A readiness report printed in the conversation — no files modified.
|
|
72
|
+
|
|
73
|
+
## CLI Dependencies
|
|
74
|
+
|
|
75
|
+
None
|
|
76
|
+
|
|
77
|
+
## Notes
|
|
78
|
+
|
|
79
|
+
- This behaviour is read-only — it never modifies `taproot/plan.md` or any hierarchy document.
|
|
80
|
+
- Stale paths (referenced file no longer exists) are flagged inline; analysis continues for remaining items.
|
|
81
|
+
- For large plans (>10 items), group by readiness category rather than plan order.
|