strikethroo 3.20.0 → 3.21.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/README.md +5 -5
- package/dist/__tests__/fixtures/review-gate.d.ts +2 -2
- package/dist/__tests__/fixtures/review-gate.js +2 -2
- package/dist-web/assets/{arc-Dkjz56tp.js → arc-CI0Wz_RO.js} +1 -1
- package/dist-web/assets/{architectureDiagram-3BPJPVTR-iXtuE2mI.js → architectureDiagram-3BPJPVTR-DiPKn_AV.js} +1 -1
- package/dist-web/assets/{blockDiagram-GPEHLZMM-kczqnfyf.js → blockDiagram-GPEHLZMM-vhFLf-e4.js} +1 -1
- package/dist-web/assets/{c4Diagram-AAUBKEIU-BJb5zuL4.js → c4Diagram-AAUBKEIU-fFHALhIr.js} +1 -1
- package/dist-web/assets/channel-BdNTvb9Q.js +1 -0
- package/dist-web/assets/{chunk-2J33WTMH-CxV08CGM.js → chunk-2J33WTMH-BUM-nM-I.js} +1 -1
- package/dist-web/assets/{chunk-4BX2VUAB-DtevBfEc.js → chunk-4BX2VUAB-DMmn86U5.js} +1 -1
- package/dist-web/assets/{chunk-55IACEB6-B5EwdX60.js → chunk-55IACEB6-DCCv7gPx.js} +1 -1
- package/dist-web/assets/{chunk-727SXJPM-CDMVQwiZ.js → chunk-727SXJPM-DHl7abi4.js} +1 -1
- package/dist-web/assets/{chunk-AQP2D5EJ-Cmi-q7qs.js → chunk-AQP2D5EJ-D8B20QQU.js} +1 -1
- package/dist-web/assets/{chunk-FMBD7UC4-DM0JjfXm.js → chunk-FMBD7UC4-C8wIp3c7.js} +1 -1
- package/dist-web/assets/{chunk-ND2GUHAM-D_0KBuvp.js → chunk-ND2GUHAM-CsqZbutS.js} +1 -1
- package/dist-web/assets/{chunk-QZHKN3VN-DgjBVdN3.js → chunk-QZHKN3VN-CnJcl9TY.js} +1 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-pTWZKccN.js +1 -0
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-pTWZKccN.js +1 -0
- package/dist-web/assets/{cose-bilkent-S5V4N54A-2X_oMTrS.js → cose-bilkent-S5V4N54A-BVfRNCXu.js} +1 -1
- package/dist-web/assets/{dagre-BM42HDAG-CQ4PLmJ7.js → dagre-BM42HDAG-DLUHSqN2.js} +1 -1
- package/dist-web/assets/{diagram-2AECGRRQ-CUIYVugk.js → diagram-2AECGRRQ-DWtRGFb5.js} +1 -1
- package/dist-web/assets/{diagram-5GNKFQAL-CUN46biX.js → diagram-5GNKFQAL-CpLug81g.js} +1 -1
- package/dist-web/assets/{diagram-KO2AKTUF-BwGE9mXP.js → diagram-KO2AKTUF-CXD6YxHT.js} +1 -1
- package/dist-web/assets/{diagram-LMA3HP47-BFvYljso.js → diagram-LMA3HP47-C25CLd27.js} +1 -1
- package/dist-web/assets/{diagram-OG6HWLK6-DQESoNO6.js → diagram-OG6HWLK6-ZVs7D5JT.js} +1 -1
- package/dist-web/assets/{erDiagram-TEJ5UH35-Xxa-C-7C.js → erDiagram-TEJ5UH35-CN4IlbMW.js} +1 -1
- package/dist-web/assets/{flowDiagram-I6XJVG4X-ZXlcl3FI.js → flowDiagram-I6XJVG4X-C1yrTexh.js} +1 -1
- package/dist-web/assets/{ganttDiagram-6RSMTGT7-639zZEJn.js → ganttDiagram-6RSMTGT7-jKZ-OaAQ.js} +1 -1
- package/dist-web/assets/{gitGraphDiagram-PVQCEYII-D378NwPP.js → gitGraphDiagram-PVQCEYII-18PcsPEi.js} +1 -1
- package/dist-web/assets/{index-CV3f_nEk.js → index-D1jtB4Z6.js} +4 -4
- package/dist-web/assets/{index-CltC0Z0l.js → index-D1qW8oIz.js} +1 -1
- package/dist-web/assets/{index-D_u5u8Jp.js → index-D9UUG7EG.js} +1 -1
- package/dist-web/assets/{infoDiagram-5YYISTIA-hm0Rm8Hk.js → infoDiagram-5YYISTIA-PDz79bKv.js} +1 -1
- package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-BKaNXRNm.js → ishikawaDiagram-YF4QCWOH-En6s8Uwq.js} +1 -1
- package/dist-web/assets/{journeyDiagram-JHISSGLW-BTesZrhR.js → journeyDiagram-JHISSGLW-DQa9SKmH.js} +1 -1
- package/dist-web/assets/{kanban-definition-UN3LZRKU-zH4yTzK-.js → kanban-definition-UN3LZRKU-CdNvJO-a.js} +1 -1
- package/dist-web/assets/{linear-DydrltGo.js → linear-CyHC1UJZ.js} +1 -1
- package/dist-web/assets/{mermaid.core-6sggtY9D.js → mermaid.core-DhuCG6HG.js} +4 -4
- package/dist-web/assets/{mindmap-definition-RKZ34NQL-D-SKqSV7.js → mindmap-definition-RKZ34NQL-jL13DOXt.js} +1 -1
- package/dist-web/assets/{pieDiagram-4H26LBE5-CixbznXI.js → pieDiagram-4H26LBE5-DqvzGtOq.js} +1 -1
- package/dist-web/assets/{quadrantDiagram-W4KKPZXB-Bp_r3xZ_.js → quadrantDiagram-W4KKPZXB-CSho20Lx.js} +1 -1
- package/dist-web/assets/{requirementDiagram-4Y6WPE33-DBI0I-yH.js → requirementDiagram-4Y6WPE33-CkM3G3jW.js} +1 -1
- package/dist-web/assets/{sankeyDiagram-5OEKKPKP-L9aDe73z.js → sankeyDiagram-5OEKKPKP-u4kruEYt.js} +1 -1
- package/dist-web/assets/{sequenceDiagram-3UESZ5HK-DKDg2YBx.js → sequenceDiagram-3UESZ5HK-jaQA7KOJ.js} +1 -1
- package/dist-web/assets/{stateDiagram-AJRCARHV-BNOyMtbE.js → stateDiagram-AJRCARHV-BsXa3zaY.js} +1 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-Fvsq6oHn.js +1 -0
- package/dist-web/assets/{timeline-definition-PNZ67QCA-TxrVYrFx.js → timeline-definition-PNZ67QCA-mTdgqUKu.js} +1 -1
- package/dist-web/assets/{vennDiagram-CIIHVFJN-Dy10qwes.js → vennDiagram-CIIHVFJN-D5GLA7Kr.js} +1 -1
- package/dist-web/assets/{wardley-L42UT6IY-BK34Wfx4.js → wardley-L42UT6IY-B7kWs2q_.js} +1 -1
- package/dist-web/assets/{wardleyDiagram-YWT4CUSO-CVrRTSrA.js → wardleyDiagram-YWT4CUSO-C7K7YQAq.js} +1 -1
- package/dist-web/assets/{xychartDiagram-2RQKCTM6-C5I6dcA4.js → xychartDiagram-2RQKCTM6-CqG434Jj.js} +1 -1
- package/dist-web/index.html +1 -1
- package/package.json +1 -1
- package/templates/harness/skills/st-code-review/SKILL.md +3 -22
- package/templates/harness/skills/st-code-review/scripts/code-review.cjs +65 -59
- package/templates/harness/skills/st-create-plan/SKILL.md +2 -15
- package/templates/harness/skills/st-execute-blueprint/SKILL.md +47 -75
- package/templates/harness/skills/st-execute-task/SKILL.md +38 -69
- package/templates/harness/skills/st-full-workflow/SKILL.md +49 -94
- package/templates/harness/skills/st-generate-tasks/SKILL.md +4 -34
- package/templates/harness/skills/st-refine-plan/SKILL.md +16 -47
- package/templates/strikethroo/config/config.yaml +10 -9
- package/templates/strikethroo/config/schemas/self-review-v2.xsd +13 -34
- package/dist-web/assets/channel-8nB_gBIH.js +0 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-q25i6fzz.js +0 -1
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-q25i6fzz.js +0 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-eUEoteIn.js +0 -1
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ Correcting a plan costs a sentence. Correcting the same misunderstanding in a di
|
|
|
43
43
|
|
|
44
44
|
### Guarantees are compiled, not requested
|
|
45
45
|
|
|
46
|
-
A rule in Markdown is a request; a rule in TypeScript is a guarantee. Hooks and templates are yours to edit.
|
|
46
|
+
A rule in Markdown is a request; a rule in TypeScript is a guarantee. Hooks and templates are yours to edit. The certification rule -- an uncertified review is never reported as a clean one -- is compiled and cannot be loosened by editing a hook.
|
|
47
47
|
|
|
48
48
|
</td>
|
|
49
49
|
</tr>
|
|
@@ -54,7 +54,7 @@ A rule in Markdown is a request; a rule in TypeScript is a guarantee. Hooks and
|
|
|
54
54
|
|
|
55
55
|
### Nobody marks their own homework
|
|
56
56
|
|
|
57
|
-
The optional review gate runs on a *different* harness than the one that wrote the code -- the current harness is structurally excluded from the candidate set, not merely deprioritized. The reviewer detects and never fixes;
|
|
57
|
+
The optional review gate runs on a *different* harness than the one that wrote the code -- the current harness is structurally excluded from the candidate set, not merely deprioritized. The reviewer detects and never fixes; findings are reported for you to act on.
|
|
58
58
|
|
|
59
59
|
</td>
|
|
60
60
|
<td width="50%" valign="top">
|
|
@@ -130,11 +130,11 @@ flowchart LR
|
|
|
130
130
|
|-------------|---------------------------------|---------------------------------------------------------|
|
|
131
131
|
| **Plan** | `/st-create-plan <your prompt>` | `.ai/strikethroo/plans/64--auth/plan-64--auth.md` |
|
|
132
132
|
| **Execute** | `/st-execute-blueprint 64` | Task blueprint, then working code, one commit per phase |
|
|
133
|
-
| **Review** | Automatic (optional) | Findings validated against schema;
|
|
133
|
+
| **Review** | Automatic (optional) | Findings validated against schema; report-only |
|
|
134
134
|
|
|
135
135
|
`st-execute-blueprint` decomposes the plan into atomic tasks and builds the dependency-mapped blueprint itself when one does not exist yet. Run `/st-generate-tasks 64` on its own only when you want to inspect or hand-tune the blueprint before execution starts.
|
|
136
136
|
|
|
137
|
-
Your review lands on the plan, before any code exists -- that is where a correction costs a sentence. Each step runs with clean context: the planning agent sees only the work order, and each execution sub-agent receives only its specific task. After execution, an optional automated review gate runs on a discovered second harness, critiques the cumulative diff, and
|
|
137
|
+
Your review lands on the plan, before any code exists -- that is where a correction costs a sentence. Each step runs with clean context: the planning agent sees only the work order, and each execution sub-agent receives only its specific task. After execution, an optional automated review gate runs once on a discovered second harness, critiques the cumulative diff, and reports schema-validated findings for you to act on.
|
|
138
138
|
|
|
139
139
|
See the [Workflow Guide](https://strikethroo.canpicasoft.com/workflow.html) for the full step-by-step with advanced patterns. Once a plan exists, visualize its plans, tasks, and dependency graph in [Visualizations](https://strikethroo.canpicasoft.com/visualizations.html).
|
|
140
140
|
|
|
@@ -161,7 +161,7 @@ Reads your workspace and reports internal inconsistencies -- missing or malforme
|
|
|
161
161
|
|
|
162
162
|
## Optional Code Review Gate
|
|
163
163
|
|
|
164
|
-
After blueprint execution, an optional automated code review gate runs when a second harness is discovered. The reviewer critiques the cumulative diff against the plan's requirements
|
|
164
|
+
After blueprint execution, an optional automated code review gate runs once when a second harness is discovered. The reviewer critiques the cumulative diff against the plan's requirements and emits findings validated against a schema. The gate reports; it does not decide -- there are no severity or confidence floors, and nothing is applied automatically. You read the findings and choose what to act on.
|
|
165
165
|
|
|
166
166
|
**To disable:** Edit `.ai/strikethroo/config/hooks/CODE_REVIEW.md` to empty or delete it. The gate skips cleanly with a note in the execution summary.
|
|
167
167
|
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Two factories: a minimal v4 workspace whose hook/XSD/base-commit presence is
|
|
7
7
|
* independently switchable (so each fail-safe skip reason is one toggle away),
|
|
8
|
-
* and a `<review>` XML builder so
|
|
9
|
-
* as data instead of hand-written XML.
|
|
8
|
+
* and a `<review>` XML builder so certification/validation tests describe
|
|
9
|
+
* findings as data instead of hand-written XML.
|
|
10
10
|
*/
|
|
11
11
|
export declare const REAL_HOOK_CONTENT: string;
|
|
12
12
|
export declare const REAL_XSD_PATH: string;
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Two factories: a minimal v4 workspace whose hook/XSD/base-commit presence is
|
|
8
8
|
* independently switchable (so each fail-safe skip reason is one toggle away),
|
|
9
|
-
* and a `<review>` XML builder so
|
|
10
|
-
* as data instead of hand-written XML.
|
|
9
|
+
* and a `<review>` XML builder so certification/validation tests describe
|
|
10
|
+
* findings as data instead of hand-written XML.
|
|
11
11
|
*/
|
|
12
12
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
13
|
if (k2 === undefined) k2 = k;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bk as ln,aN as an,H as k,b7 as w,F as N,ag as un,V as g,bc as tn,b8 as C,aH as _,c as rn,m as o,aF as on,j as sn,d as fn}from"./mermaid.core-
|
|
1
|
+
import{bk as ln,aN as an,H as k,b7 as w,F as N,ag as un,V as g,bc as tn,b8 as C,aH as _,c as rn,m as o,aF as on,j as sn,d as fn}from"./mermaid.core-DhuCG6HG.js";function cn(l){return l.innerRadius}function gn(l){return l.outerRadius}function yn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,j,F,v,A,O,a){var q=j-l,i=F-h,n=O-v,d=a-A,u=d*q-n*i;if(!(u*u<g))return u=(n*(h-A)-d*(l-v))/u,[l+u*q,h+u*i]}function Q(l,h,j,F,v,A,O){var a=l-j,q=h-F,i=(O?A:-A)/C(a*a+q*q),n=i*q,d=-i*a,u=l+n,s=h+d,f=j+n,c=F+d,S=(u+f)/2,t=(s+c)/2,m=f-u,y=c-s,R=m*m+y*y,T=v-A,P=u*c-f*s,D=(y<0?-1:1)*C(on(0,T*T*R-P*P)),E=(P*y-m*D)/R,I=(-P*m-y*D)/R,b=(P*y+m*D)/R,p=(-P*m+y*D)/R,x=E-S,e=I-t,r=b-S,V=p-t;return x*x+e*e>r*r+V*V&&(E=b,I=p),{cx:E,cy:I,x01:-n,y01:-d,x11:E*(v/T-1),y11:I*(v/T-1)}}function hn(){var l=cn,h=gn,j=N(0),F=null,v=yn,A=dn,O=mn,a=null,q=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,S=rn(c-f),t=c>f;if(a||(a=n=q()),s<u&&(d=s,s=u,u=d),!(s>g))a.moveTo(0,0);else if(S>tn-g)a.moveTo(s*k(f),s*w(f)),a.arc(0,0,s,f,c,!t),u>g&&(a.moveTo(u*k(c),u*w(c)),a.arc(0,0,u,c,f,t));else{var m=f,y=c,R=f,T=c,P=S,D=S,E=O.apply(this,arguments)/2,I=E>g&&(F?+F.apply(this,arguments):C(u*u+s*s)),b=_(rn(s-u)/2,+j.apply(this,arguments)),p=b,x=b,e,r;if(I>g){var V=sn(I/u*w(E)),G=sn(I/s*w(E));(P-=V*2)>g?(V*=t?1:-1,R+=V,T-=V):(P=0,R=T=(f+c)/2),(D-=G*2)>g?(G*=t?1:-1,m+=G,y-=G):(D=0,m=y=(f+c)/2)}var z=s*k(m),B=s*w(m),J=u*k(T),K=u*w(T);if(b>g){var L=s*k(y),M=s*w(y),U=u*k(R),W=u*w(R),H;if(S<an)if(H=pn(z,B,U,W,L,M,J,K)){var X=z-H[0],Y=B-H[1],Z=L-H[0],$=M-H[1],nn=1/w(fn((X*Z+Y*$)/(C(X*X+Y*Y)*C(Z*Z+$*$)))/2),en=C(H[0]*H[0]+H[1]*H[1]);p=_(b,(u-en)/(nn-1)),x=_(b,(s-en)/(nn+1))}else p=x=0}D>g?x>g?(e=Q(U,W,z,B,s,x,t),r=Q(L,M,J,K,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<b?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(z,B),a.arc(0,0,s,m,y,!t)):a.moveTo(z,B),!(u>g)||!(P>g)?a.lineTo(J,K):p>g?(e=Q(J,K,L,M,u,-p,t),r=Q(z,B,U,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<b?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[k(d)*n,w(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:N(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:N(+n),i):h},i.cornerRadius=function(n){return arguments.length?(j=typeof n=="function"?n:N(+n),i):j},i.padRadius=function(n){return arguments.length?(F=n==null?null:typeof n=="function"?n:N(+n),i):F},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:N(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:N(+n),i):A},i.padAngle=function(n){return arguments.length?(O=typeof n=="function"?n:N(+n),i):O},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|