@pmelab/gtd 54.0.0 → 56.0.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/.claude-plugin/plugin.json +1 -1
- package/README.md +109 -104
- package/dist/chunks/{reserved-CQ7amcKG.mjs → reserved-B8EC-WE8.mjs} +124 -230
- package/dist/chunks/{review-CXzUXJHL.mjs → review-HdrX0FJ7.mjs} +30 -125
- package/dist/chunks/{steering-CLhu8C7q.mjs → steering-CCNvngSH.mjs} +256 -65
- package/dist/chunks/{tail-JZ9PAOwp.mjs → tail-BSLah2mA.mjs} +155 -63
- package/dist/gtd.bundle.mjs +259 -22
- package/dist/steering.mjs +2 -2
- package/dist/testkit.mjs +6 -6
- package/dist/web/main.css +1 -1
- package/dist/web/main.js +551 -66
- package/dist/workflow-kit.mjs +1 -1
- package/dist/workflows/cleanup.mjs +2 -2
- package/dist/workflows/feature.mjs +47 -102
- package/dist/workflows/fix.mjs +3 -3
- package/dist/workflows/review.mjs +3 -3
- package/dist/workflows/rollout.mjs +1 -1
- package/dist/workflows.mjs +614 -574
- package/package.json +1 -1
- package/skills/authoring/SKILL.md +3 -3
- package/src/cli/Cli.ts +5 -5
- package/src/edge/Edge.test.ts +1 -1
- package/src/steering/FORMATS.md +5 -1
- package/src/steering/SteeringFormats.test.ts +2 -2
- package/src/steering/contract.test.ts +1 -0
- package/src/steering/findings.test.ts +47 -0
- package/src/steering/findings.ts +350 -0
- package/src/steering/fixtures/findings/gate.md +34 -0
- package/src/steering/fixtures/findings/gate.read.json +87 -0
- package/src/steering/index.test.ts +2 -2
- package/src/steering/index.ts +4 -3
- package/src/steering/review.test.ts +1 -75
- package/src/steering/review.ts +1 -74
- package/src/workflow/compile.test.ts +1 -0
- package/src/workflows/feature/criteria-coverage.feature +104 -0
- package/src/workflows/feature/feature.test.ts +1 -1
- package/src/workflows/feature/feature.ts +17 -20
- package/src/workflows/feature/green.ts +2 -5
- package/src/workflows/feature/lens-review.feature +323 -171
- package/src/workflows/feature/naive-acceptance.feature +31 -32
- package/src/workflows/feature/prototype.ts +5 -8
- package/src/workflows/feature/refactor-absorbs.feature +1 -7
- package/src/workflows/feature/refactor-first.feature +2 -10
- package/src/workflows/feature/refactor-rebuild.feature +20 -36
- package/src/workflows/feature/refactor-review.feature +33 -117
- package/src/workflows/feature/refactor.test.ts +0 -2
- package/src/workflows/feature/refactor.ts +0 -1
- package/src/workflows/feature/review-gate.feature +6 -22
- package/src/workflows/feature/reviewer-walkthrough.feature +16 -103
- package/src/workflows/feature/seam.test.ts +19 -101
- package/src/workflows/feature/seam.ts +13 -89
- package/src/workflows/feature/standards.feature +75 -34
- package/src/workflows/fix/fix-lens-origin.feature +20 -7
- package/src/workflows/fix/fix-quality.feature +104 -23
- package/src/workflows/review/review-door.feature +62 -59
- package/src/workflows/shared/access.test.ts +1 -0
- package/src/workflows/shared/learn.test.ts +0 -14
- package/src/workflows/shared/learn.ts +1 -6
- package/src/workflows/shared/lenses.ts +149 -43
- package/src/workflows/shared/review.test.ts +30 -27
- package/src/workflows/shared/review.ts +29 -196
- package/src/workflows/shared/skills.test.ts +3 -1
- package/src/workflows/shared/steps.test.ts +9 -6
- package/src/workflows/shared/steps.ts +12 -3
- package/src/workflows/shared/tail.test.ts +20 -2
- package/src/workflows/shared/tail.ts +38 -16
- package/src/workflows/shared/text.test.ts +122 -294
- package/src/workflows/shared/text.ts +181 -358
- package/src/workflows/shared/vars.ts +1 -1
- package/src/workflows/feature/review-answers.feature +0 -324
- package/src/workflows/feature/severity-budget.feature +0 -116
- package/src/workflows/feature/severity-sorted-review.feature +0 -198
|
@@ -83,10 +83,6 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
83
83
|
"""
|
|
84
84
|
And step "refactor.health.check" changes nothing
|
|
85
85
|
And step "refactor.closing" runs its script
|
|
86
|
-
And judge step "refactor.build.review.ranking" answers:
|
|
87
|
-
"""
|
|
88
|
-
[]
|
|
89
|
-
"""
|
|
90
86
|
And step "refactor.build.review.carrying" runs its script
|
|
91
87
|
And step "refactor.build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
92
88
|
"""
|
|
@@ -185,10 +181,6 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
185
181
|
"""
|
|
186
182
|
And step "refactor.health.check" changes nothing
|
|
187
183
|
And step "refactor.closing" runs its script
|
|
188
|
-
And judge step "refactor.build.review.ranking" answers:
|
|
189
|
-
"""
|
|
190
|
-
[]
|
|
191
|
-
"""
|
|
192
184
|
And step "refactor.build.review.carrying" runs its script
|
|
193
185
|
And step "refactor.build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
194
186
|
"""
|
|
@@ -211,9 +203,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
211
203
|
"""
|
|
212
204
|
gtd(check): refactor.closing → refactor.build.quality.correctness.reviewing
|
|
213
205
|
gtd(agent): refactor.build.quality.correctness.reviewing → refactor.build.review.reviewing
|
|
214
|
-
gtd(agent): refactor.build.review.reviewing → refactor.build.review.
|
|
215
|
-
gtd(judge): refactor.build.review.ranking → refactor.build.review.carrying
|
|
216
|
-
gtd(check): refactor.build.review.carrying → refactor.build.review.await-review
|
|
206
|
+
gtd(agent): refactor.build.review.reviewing → refactor.build.review.await-review
|
|
217
207
|
"""
|
|
218
208
|
|
|
219
209
|
|
|
@@ -288,10 +278,6 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
288
278
|
"""
|
|
289
279
|
And step "refactor.health.check" changes nothing
|
|
290
280
|
And step "refactor.closing" runs its script
|
|
291
|
-
And judge step "refactor.build.review.ranking" answers:
|
|
292
|
-
"""
|
|
293
|
-
[]
|
|
294
|
-
"""
|
|
295
281
|
And step "refactor.build.review.carrying" runs its script
|
|
296
282
|
And step "refactor.build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
297
283
|
"""
|
|
@@ -315,9 +301,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
315
301
|
|
|
316
302
|
<!-- base: 0000000 -->
|
|
317
303
|
|
|
318
|
-
##
|
|
319
|
-
|
|
320
|
-
### calc
|
|
304
|
+
## calc
|
|
321
305
|
|
|
322
306
|
- [ ] ./src/calc.ts#1-2
|
|
323
307
|
add built on the shared op[^why]
|
|
@@ -354,9 +338,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
354
338
|
|
|
355
339
|
<!-- base: 0000000 -->
|
|
356
340
|
|
|
357
|
-
##
|
|
358
|
-
|
|
359
|
-
### calc
|
|
341
|
+
## calc
|
|
360
342
|
|
|
361
343
|
- [ ] ./src/calc.ts#1-2
|
|
362
344
|
add built on the shared op
|
|
@@ -380,9 +362,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
380
362
|
gtd(agent): refactor.building → refactor.health.check
|
|
381
363
|
gtd(check): refactor.health.check → refactor.closing
|
|
382
364
|
gtd(check): refactor.closing → refactor.build.review.reviewing
|
|
383
|
-
gtd(agent): refactor.build.review.reviewing → refactor.build.review.
|
|
384
|
-
gtd(judge): refactor.build.review.ranking → refactor.build.review.carrying
|
|
385
|
-
gtd(check): refactor.build.review.carrying → refactor.build.review.await-review
|
|
365
|
+
gtd(agent): refactor.build.review.reviewing → refactor.build.review.await-review
|
|
386
366
|
"""
|
|
387
367
|
|
|
388
368
|
Scenario: a question answered at the refactor review reaches the re-derived package as ### Answered Questions
|
|
@@ -394,9 +374,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
394
374
|
|
|
395
375
|
<!-- base: 0000000 -->
|
|
396
376
|
|
|
397
|
-
##
|
|
398
|
-
|
|
399
|
-
### calc
|
|
377
|
+
## calc
|
|
400
378
|
|
|
401
379
|
- [ ] ./src/calc.ts#1-1
|
|
402
380
|
why a shared op?
|
|
@@ -473,9 +451,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
473
451
|
gtd(agent): refactor.building → refactor.health.check
|
|
474
452
|
gtd(check): refactor.health.check → refactor.closing
|
|
475
453
|
gtd(check): refactor.closing → refactor.build.review.reviewing
|
|
476
|
-
gtd(agent): refactor.build.review.reviewing → refactor.build.review.
|
|
477
|
-
gtd(judge): refactor.build.review.ranking → refactor.build.review.carrying
|
|
478
|
-
gtd(check): refactor.build.review.carrying → refactor.build.review.await-review
|
|
454
|
+
gtd(agent): refactor.build.review.reviewing → refactor.build.review.await-review
|
|
479
455
|
"""
|
|
480
456
|
|
|
481
457
|
Scenario: an edit note the collecting turn leaves out refuses the landing and never signs off
|
|
@@ -487,9 +463,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
487
463
|
|
|
488
464
|
<!-- base: 0000000 -->
|
|
489
465
|
|
|
490
|
-
##
|
|
491
|
-
|
|
492
|
-
### calc
|
|
466
|
+
## calc
|
|
493
467
|
|
|
494
468
|
- [ ] ./src/calc.ts#1-2
|
|
495
469
|
add built on the shared op — this should change behaviour, not just structure
|
|
@@ -533,9 +507,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
533
507
|
|
|
534
508
|
<!-- base: 0000000 -->
|
|
535
509
|
|
|
536
|
-
##
|
|
537
|
-
|
|
538
|
-
### calc
|
|
510
|
+
## calc
|
|
539
511
|
|
|
540
512
|
- [ ] ./src/calc.ts#1-2 rename the helper
|
|
541
513
|
add built on the shared op
|
|
@@ -562,9 +534,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
562
534
|
|
|
563
535
|
<!-- base: 0000000 -->
|
|
564
536
|
|
|
565
|
-
##
|
|
566
|
-
|
|
567
|
-
### calc
|
|
537
|
+
## calc
|
|
568
538
|
|
|
569
539
|
- [ ] ./src/calc.ts#1-2
|
|
570
540
|
add built on the shared op, lovely work
|
|
@@ -583,9 +553,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
583
553
|
|
|
584
554
|
<!-- base: 0000000 -->
|
|
585
555
|
|
|
586
|
-
##
|
|
587
|
-
|
|
588
|
-
### calc
|
|
556
|
+
## calc
|
|
589
557
|
|
|
590
558
|
- [ ] ./src/calc.ts#1-2
|
|
591
559
|
add built on the shared op[^q]
|
|
@@ -635,9 +603,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
635
603
|
|
|
636
604
|
<!-- base: 0000000 -->
|
|
637
605
|
|
|
638
|
-
##
|
|
639
|
-
|
|
640
|
-
### calc
|
|
606
|
+
## calc
|
|
641
607
|
|
|
642
608
|
- [ ] ./src/calc.ts#1-2
|
|
643
609
|
add built on the shared op[^q]
|
|
@@ -669,9 +635,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
669
635
|
|
|
670
636
|
<!-- base: 0000000 -->
|
|
671
637
|
|
|
672
|
-
##
|
|
673
|
-
|
|
674
|
-
### calc
|
|
638
|
+
## calc
|
|
675
639
|
|
|
676
640
|
- [ ] ./src/calc.ts#1-2
|
|
677
641
|
add built on the shared op[^q]
|
|
@@ -718,9 +682,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
718
682
|
|
|
719
683
|
<!-- base: 0000000 -->
|
|
720
684
|
|
|
721
|
-
##
|
|
722
|
-
|
|
723
|
-
### calc
|
|
685
|
+
## calc
|
|
724
686
|
|
|
725
687
|
- [ ] ./src/calc.ts#1-2
|
|
726
688
|
add built on the shared op[^n1]
|
|
@@ -746,9 +708,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
746
708
|
|
|
747
709
|
<!-- base: 0000000 -->
|
|
748
710
|
|
|
749
|
-
##
|
|
750
|
-
|
|
751
|
-
### calc
|
|
711
|
+
## calc
|
|
752
712
|
|
|
753
713
|
- [ ] ./src/calc.ts#1-2
|
|
754
714
|
add built on the shared op[^n1]
|
|
@@ -775,9 +735,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
775
735
|
|
|
776
736
|
<!-- base: 0000000 -->
|
|
777
737
|
|
|
778
|
-
##
|
|
779
|
-
|
|
780
|
-
### calc
|
|
738
|
+
## calc
|
|
781
739
|
|
|
782
740
|
- [ ] ./src/calc.ts#1-2
|
|
783
741
|
add built on the shared op[^q]
|
|
@@ -809,9 +767,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
809
767
|
|
|
810
768
|
<!-- base: 0000000 -->
|
|
811
769
|
|
|
812
|
-
##
|
|
813
|
-
|
|
814
|
-
### calc
|
|
770
|
+
## calc
|
|
815
771
|
|
|
816
772
|
- [ ] ./src/calc.ts#1-2
|
|
817
773
|
add built on the shared op[^n1]
|
|
@@ -837,9 +793,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
837
793
|
|
|
838
794
|
<!-- base: 0000000 -->
|
|
839
795
|
|
|
840
|
-
##
|
|
841
|
-
|
|
842
|
-
### calc
|
|
796
|
+
## calc
|
|
843
797
|
|
|
844
798
|
- [ ] ./src/calc.ts#1-2
|
|
845
799
|
add built on the shared op - this should change behaviour, not just structure[^q]
|
|
@@ -871,9 +825,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
871
825
|
|
|
872
826
|
<!-- base: 0000000 -->
|
|
873
827
|
|
|
874
|
-
##
|
|
875
|
-
|
|
876
|
-
### calc
|
|
828
|
+
## calc
|
|
877
829
|
|
|
878
830
|
- [ ] ./src/calc.ts#1-2
|
|
879
831
|
add built on the shared op - this should change behaviour, not just structure[^q]
|
|
@@ -918,9 +870,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
918
870
|
|
|
919
871
|
<!-- base: 0000000 -->
|
|
920
872
|
|
|
921
|
-
##
|
|
922
|
-
|
|
923
|
-
### calc
|
|
873
|
+
## calc
|
|
924
874
|
|
|
925
875
|
- [ ] ./src/calc.ts#1-2
|
|
926
876
|
add built on the shared op[^q]
|
|
@@ -952,9 +902,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
952
902
|
|
|
953
903
|
<!-- base: 0000000 -->
|
|
954
904
|
|
|
955
|
-
##
|
|
956
|
-
|
|
957
|
-
### calc
|
|
905
|
+
## calc
|
|
958
906
|
|
|
959
907
|
- [ ] ./src/calc.ts#1-2
|
|
960
908
|
add built on the shared op[^q]
|
|
@@ -1000,9 +948,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1000
948
|
|
|
1001
949
|
<!-- base: 0000000 -->
|
|
1002
950
|
|
|
1003
|
-
##
|
|
1004
|
-
|
|
1005
|
-
### calc
|
|
951
|
+
## calc
|
|
1006
952
|
|
|
1007
953
|
- [ ] ./src/calc.ts#1-2
|
|
1008
954
|
add built on the shared op, lovely work[^q]
|
|
@@ -1034,9 +980,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1034
980
|
|
|
1035
981
|
<!-- base: 0000000 -->
|
|
1036
982
|
|
|
1037
|
-
##
|
|
1038
|
-
|
|
1039
|
-
### calc
|
|
983
|
+
## calc
|
|
1040
984
|
|
|
1041
985
|
- [ ] ./src/calc.ts#1-2
|
|
1042
986
|
add built on the shared op, lovely work[^q]
|
|
@@ -1087,9 +1031,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1087
1031
|
|
|
1088
1032
|
<!-- base: 0000000 -->
|
|
1089
1033
|
|
|
1090
|
-
##
|
|
1091
|
-
|
|
1092
|
-
### calc
|
|
1034
|
+
## calc
|
|
1093
1035
|
|
|
1094
1036
|
- [x] ./src/calc.ts#1-2
|
|
1095
1037
|
add built on the shared op
|
|
@@ -1112,9 +1054,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1112
1054
|
|
|
1113
1055
|
<!-- base: 0000000 -->
|
|
1114
1056
|
|
|
1115
|
-
##
|
|
1116
|
-
|
|
1117
|
-
### calc
|
|
1057
|
+
## calc
|
|
1118
1058
|
|
|
1119
1059
|
- [ ] ./src/calc.ts#1-2
|
|
1120
1060
|
add built on the shared op — rename `sign` to `direction`
|
|
@@ -1143,9 +1083,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1143
1083
|
|
|
1144
1084
|
<!-- base: 0000000 -->
|
|
1145
1085
|
|
|
1146
|
-
##
|
|
1147
|
-
|
|
1148
|
-
### calc
|
|
1086
|
+
## calc
|
|
1149
1087
|
|
|
1150
1088
|
- [ ] ./src/calc.ts#1-2
|
|
1151
1089
|
add built on the shared op — rename `sign` to `direction`
|
|
@@ -1166,9 +1104,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1166
1104
|
And the commit subjects end with:
|
|
1167
1105
|
"""
|
|
1168
1106
|
gtd(check): refactor.closing → refactor.build.review.reviewing
|
|
1169
|
-
gtd(agent): refactor.build.review.reviewing → refactor.build.review.
|
|
1170
|
-
gtd(judge): refactor.build.review.ranking → refactor.build.review.carrying
|
|
1171
|
-
gtd(check): refactor.build.review.carrying → refactor.build.review.await-review
|
|
1107
|
+
gtd(agent): refactor.build.review.reviewing → refactor.build.review.await-review
|
|
1172
1108
|
"""
|
|
1173
1109
|
|
|
1174
1110
|
Scenario: a reviewer walks the human through the whole refactor, every chunk pointing at its code
|
|
@@ -1176,9 +1112,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1176
1112
|
Then the process rests at "refactor.build.review.await-review"
|
|
1177
1113
|
And ".gtd/REVIEW.md" contains:
|
|
1178
1114
|
"""
|
|
1179
|
-
##
|
|
1180
|
-
|
|
1181
|
-
### calc
|
|
1115
|
+
## calc
|
|
1182
1116
|
|
|
1183
1117
|
- [ ] ./src/calc.ts#1-2
|
|
1184
1118
|
add built on the shared op
|
|
@@ -1206,21 +1140,17 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1206
1140
|
Then the process rests at "refactor.build.review.await-review"
|
|
1207
1141
|
And ".gtd/REVIEW.md" contains:
|
|
1208
1142
|
"""
|
|
1209
|
-
##
|
|
1210
|
-
|
|
1211
|
-
### calc
|
|
1143
|
+
## calc
|
|
1212
1144
|
|
|
1213
1145
|
- [ ] ./src/calc.ts#1-2 — Risk: still drops the sign
|
|
1214
1146
|
"""
|
|
1215
|
-
And ".gtd/REVIEW.md" contains "##
|
|
1147
|
+
And ".gtd/REVIEW.md" contains "## calc" exactly once
|
|
1216
1148
|
And the commit subjects end with:
|
|
1217
1149
|
"""
|
|
1218
1150
|
gtd(agent): refactor.build.review.reviewing → refactor.build.review.fix.risks.fixing
|
|
1219
1151
|
gtd(agent): refactor.build.review.fix.risks.fixing → refactor.build.health.check
|
|
1220
1152
|
gtd(check): refactor.build.health.check → refactor.build.review.reviewing
|
|
1221
|
-
gtd(agent): refactor.build.review.reviewing → refactor.build.review.
|
|
1222
|
-
gtd(judge): refactor.build.review.ranking → refactor.build.review.carrying
|
|
1223
|
-
gtd(check): refactor.build.review.carrying → refactor.build.review.await-review
|
|
1153
|
+
gtd(agent): refactor.build.review.reviewing → refactor.build.review.await-review
|
|
1224
1154
|
"""
|
|
1225
1155
|
|
|
1226
1156
|
Rule: with a quality lens on both the refactor and the feature
|
|
@@ -1295,10 +1225,6 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1295
1225
|
"""
|
|
1296
1226
|
And step "refactor.health.check" changes nothing
|
|
1297
1227
|
And step "refactor.closing" runs its script
|
|
1298
|
-
And judge step "refactor.build.review.ranking" answers:
|
|
1299
|
-
"""
|
|
1300
|
-
[]
|
|
1301
|
-
"""
|
|
1302
1228
|
And step "refactor.build.review.carrying" runs its script
|
|
1303
1229
|
And step "refactor.build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
1304
1230
|
"""
|
|
@@ -1338,9 +1264,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1338
1264
|
|
|
1339
1265
|
<!-- base: 0000000 -->
|
|
1340
1266
|
|
|
1341
|
-
##
|
|
1342
|
-
|
|
1343
|
-
### calc
|
|
1267
|
+
## calc
|
|
1344
1268
|
|
|
1345
1269
|
- [x] ./src/calc.ts#1-2
|
|
1346
1270
|
add built on the shared op
|
|
@@ -1509,10 +1433,6 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1509
1433
|
"""
|
|
1510
1434
|
And step "refactor.health.check" changes nothing
|
|
1511
1435
|
And step "refactor.closing" runs its script
|
|
1512
|
-
And judge step "refactor.build.review.ranking" answers:
|
|
1513
|
-
"""
|
|
1514
|
-
[]
|
|
1515
|
-
"""
|
|
1516
1436
|
And step "refactor.build.review.carrying" runs its script
|
|
1517
1437
|
And step "refactor.build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
1518
1438
|
"""
|
|
@@ -1533,9 +1453,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1533
1453
|
|
|
1534
1454
|
<!-- base: 0000000 -->
|
|
1535
1455
|
|
|
1536
|
-
##
|
|
1537
|
-
|
|
1538
|
-
### calc
|
|
1456
|
+
## calc
|
|
1539
1457
|
|
|
1540
1458
|
- [ ] ./src/calc.ts#1-2
|
|
1541
1459
|
add built on the shared op[^why]
|
|
@@ -1575,9 +1493,7 @@ Feature: the refactor is reviewed on its own before the feature is implemented
|
|
|
1575
1493
|
|
|
1576
1494
|
<!-- base: 0000000 -->
|
|
1577
1495
|
|
|
1578
|
-
##
|
|
1579
|
-
|
|
1580
|
-
### calc
|
|
1496
|
+
## calc
|
|
1581
1497
|
|
|
1582
1498
|
- [ ] ./src/calc.ts#1-2
|
|
1583
1499
|
add built on the shared op
|
|
@@ -930,8 +930,6 @@ describe("reviewedRefactor", () => {
|
|
|
930
930
|
"refactor.build.quality.ponytail-review.reviewing",
|
|
931
931
|
"refactor.build.quality.conventions.reviewing",
|
|
932
932
|
"refactor.build.review.reviewing",
|
|
933
|
-
"refactor.build.review.ranking",
|
|
934
|
-
"refactor.build.review.carrying",
|
|
935
933
|
"refactor.build.review.await-review",
|
|
936
934
|
"refactor.build.review.closing",
|
|
937
935
|
])
|
|
@@ -71,10 +71,6 @@ Feature: a feature process ends at the human review
|
|
|
71
71
|
"""
|
|
72
72
|
And step "build.review.closing" runs its script
|
|
73
73
|
And step "build.review.carrying" runs its script
|
|
74
|
-
And judge step "build.review.ranking" answers:
|
|
75
|
-
"""
|
|
76
|
-
[]
|
|
77
|
-
"""
|
|
78
74
|
|
|
79
75
|
Scenario: a feature process ends at the review gate
|
|
80
76
|
When the process is driven
|
|
@@ -85,9 +81,7 @@ Feature: a feature process ends at the human review
|
|
|
85
81
|
"""
|
|
86
82
|
gtd(check): implement.health.check → implement.closing
|
|
87
83
|
gtd(check): implement.closing → build.review.reviewing
|
|
88
|
-
gtd(agent): build.review.reviewing → build.review.
|
|
89
|
-
gtd(judge): build.review.ranking → build.review.carrying
|
|
90
|
-
gtd(check): build.review.carrying → build.review.await-review
|
|
84
|
+
gtd(agent): build.review.reviewing → build.review.await-review
|
|
91
85
|
"""
|
|
92
86
|
|
|
93
87
|
Scenario: a sign-off ends the process at idle
|
|
@@ -99,9 +93,7 @@ Feature: a feature process ends at the human review
|
|
|
99
93
|
|
|
100
94
|
<!-- base: 0000000 -->
|
|
101
95
|
|
|
102
|
-
##
|
|
103
|
-
|
|
104
|
-
### calc
|
|
96
|
+
## calc
|
|
105
97
|
|
|
106
98
|
- [x] ./src/calc.ts#2-2
|
|
107
99
|
new subtract function
|
|
@@ -112,9 +104,7 @@ Feature: a feature process ends at the human review
|
|
|
112
104
|
And ".gtd/REVIEW.md" does not exist
|
|
113
105
|
And the commit subjects end with:
|
|
114
106
|
"""
|
|
115
|
-
gtd(agent): build.review.reviewing → build.review.
|
|
116
|
-
gtd(judge): build.review.ranking → build.review.carrying
|
|
117
|
-
gtd(check): build.review.carrying → build.review.await-review
|
|
107
|
+
gtd(agent): build.review.reviewing → build.review.await-review
|
|
118
108
|
gtd(human): build.review.await-review → build.review.closing
|
|
119
109
|
gtd(check): build.review.closing → idle
|
|
120
110
|
"""
|
|
@@ -156,9 +146,7 @@ Feature: a feature process ends at the human review
|
|
|
156
146
|
|
|
157
147
|
<!-- base: 0000000 -->
|
|
158
148
|
|
|
159
|
-
##
|
|
160
|
-
|
|
161
|
-
### calc
|
|
149
|
+
## calc
|
|
162
150
|
|
|
163
151
|
- [ ] ./src/calc.ts#2-2
|
|
164
152
|
new subtract function[^why]
|
|
@@ -176,9 +164,7 @@ Feature: a feature process ends at the human review
|
|
|
176
164
|
|
|
177
165
|
<!-- base: 0000000 -->
|
|
178
166
|
|
|
179
|
-
##
|
|
180
|
-
|
|
181
|
-
### calc
|
|
167
|
+
## calc
|
|
182
168
|
|
|
183
169
|
- [ ] ./src/calc.ts#2-2
|
|
184
170
|
new subtract function
|
|
@@ -229,9 +215,7 @@ Feature: a feature process ends at the human review
|
|
|
229
215
|
gtd(agent): implement.building → implement.health.check
|
|
230
216
|
gtd(check): implement.health.check → implement.closing
|
|
231
217
|
gtd(check): implement.closing → build.review.reviewing
|
|
232
|
-
gtd(agent): build.review.reviewing → build.review.
|
|
233
|
-
gtd(judge): build.review.ranking → build.review.carrying
|
|
234
|
-
gtd(check): build.review.carrying → build.review.await-review
|
|
218
|
+
gtd(agent): build.review.reviewing → build.review.await-review
|
|
235
219
|
"""
|
|
236
220
|
|
|
237
221
|
Scenario: a design numbering new behaviour at or below an earlier ID is refused
|
|
@@ -3,16 +3,15 @@ Feature: a reviewer walks the human through the feature's code
|
|
|
3
3
|
|
|
4
4
|
The feature's final review is written by a reviewer turn
|
|
5
5
|
(`build.review.reviewing`): chunks grouped by concern, each pointing at its
|
|
6
|
-
code, so the phone shows it.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
is refused.
|
|
6
|
+
code, so the phone shows it. The quality lap's findings were decided at the
|
|
7
|
+
finding gate: the reviewer is told nothing of them, and gtd only appends
|
|
8
|
+
the lap's summary (`build.review.carrying`). A chunk pointing at no code is
|
|
9
|
+
refused.
|
|
11
10
|
|
|
12
11
|
Background:
|
|
13
12
|
Given the shipped workflows, as gtd install scaffolds them
|
|
14
13
|
And an environment variable "GTD_PROTOTYPEROUNDS" set to "0"
|
|
15
|
-
And an environment variable "GTD_QUALITYREVIEWS" set to "
|
|
14
|
+
And an environment variable "GTD_QUALITYREVIEWS" set to ""
|
|
16
15
|
And an environment variable "GTD_FLAGMODE" set to "false"
|
|
17
16
|
And a file "src/calc.ts" with:
|
|
18
17
|
"""
|
|
@@ -53,30 +52,9 @@ Feature: a reviewer walks the human through the feature's code
|
|
|
53
52
|
And step "implement.applying" runs its script
|
|
54
53
|
And step "implement.health.check" changes nothing
|
|
55
54
|
And step "implement.closing" runs its script
|
|
56
|
-
And step "build.quality.correctness.reviewing" writes ".gtd/QUALITY.md" with:
|
|
57
|
-
"""
|
|
58
|
-
# Quality
|
|
59
|
-
|
|
60
|
-
## AC-1 ignores floating point
|
|
61
|
-
|
|
62
|
-
Should subtract round? The criterion does not say.
|
|
63
|
-
"""
|
|
64
|
-
And judge step "build.quality.triage" answers:
|
|
65
|
-
"""
|
|
66
|
-
[{"id":"Q1","answer":"design","p":0.9}]
|
|
67
|
-
"""
|
|
68
|
-
And step "build.quality.sorting" runs its script
|
|
69
|
-
And step "build.quality.closing" runs its script
|
|
70
|
-
And step "build.review.carrying" runs its script
|
|
71
|
-
And judge step "build.review.ranking" answers:
|
|
72
|
-
"""
|
|
73
|
-
[]
|
|
74
|
-
"""
|
|
75
55
|
|
|
76
|
-
Scenario: the
|
|
77
|
-
Given step "build.review.reviewing"
|
|
78
|
-
And step "build.review.reviewing" is prompted with "> Should subtract round? The criterion does not say."
|
|
79
|
-
And step "build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
56
|
+
Scenario: the review is the reviewer's walkthrough, as it wrote it
|
|
57
|
+
Given step "build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
80
58
|
"""
|
|
81
59
|
# Review: abc1234
|
|
82
60
|
|
|
@@ -87,47 +65,24 @@ Feature: a reviewer walks the human through the feature's code
|
|
|
87
65
|
The new export.
|
|
88
66
|
|
|
89
67
|
- [ ] ./src/calc.ts#2-2 — subtract(a, b)
|
|
90
|
-
|
|
91
|
-
## AC-1 ignores floating point
|
|
92
|
-
|
|
93
|
-
- [ ] ./src/calc.ts#2-2 — returns the raw difference
|
|
94
68
|
"""
|
|
95
69
|
When the process is driven
|
|
96
70
|
Then the process rests at "build.review.await-review"
|
|
71
|
+
And the resting step's content does not contain "Tick exactly one"
|
|
97
72
|
And ".gtd/REVIEW.md" contains:
|
|
98
73
|
"""
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
### AC-1 ignores floating point
|
|
102
|
-
|
|
103
|
-
_critical: judge unsure_
|
|
104
|
-
|
|
105
|
-
Should subtract round? The criterion does not say.
|
|
106
|
-
|
|
107
|
-
In the code:
|
|
108
|
-
|
|
109
|
-
- [ ] ./src/calc.ts#2-2 — returns the raw difference
|
|
110
|
-
|
|
111
|
-
Tick exactly one:
|
|
112
|
-
|
|
113
|
-
- [ ] fix as suggested
|
|
114
|
-
- [ ] won't fix
|
|
115
|
-
- [ ] _your answer_
|
|
116
|
-
|
|
117
|
-
## Walkthrough
|
|
74
|
+
<!-- base: 0000000 -->
|
|
118
75
|
|
|
119
|
-
|
|
76
|
+
## Subtract
|
|
120
77
|
|
|
121
78
|
The new export.
|
|
122
79
|
|
|
123
80
|
- [ ] ./src/calc.ts#2-2 — subtract(a, b)
|
|
124
81
|
"""
|
|
125
|
-
And no commit body contains "build.review.composing"
|
|
126
82
|
And the commit subjects end with:
|
|
127
83
|
"""
|
|
128
|
-
gtd(
|
|
129
|
-
gtd(
|
|
130
|
-
gtd(check): build.review.carrying → build.review.await-review
|
|
84
|
+
gtd(check): implement.closing → build.review.reviewing
|
|
85
|
+
gtd(agent): build.review.reviewing → build.review.await-review
|
|
131
86
|
"""
|
|
132
87
|
|
|
133
88
|
Scenario: a chunk pointing at no code is refused
|
|
@@ -140,10 +95,6 @@ Feature: a reviewer walks the human through the feature's code
|
|
|
140
95
|
## Subtract
|
|
141
96
|
|
|
142
97
|
The new export, with no pointer.
|
|
143
|
-
|
|
144
|
-
## AC-1 ignores floating point
|
|
145
|
-
|
|
146
|
-
- [ ] ./src/calc.ts#2-2 — returns the raw difference
|
|
147
98
|
"""
|
|
148
99
|
Then driving the process is refused with "Subtract — points at no code"
|
|
149
100
|
|
|
@@ -158,26 +109,9 @@ Feature: a reviewer walks the human through the feature's code
|
|
|
158
109
|
|
|
159
110
|
### Subtract
|
|
160
111
|
|
|
161
|
-
- [ ] ./src/calc.ts#2-2 — subtract(a, b)
|
|
162
|
-
|
|
163
|
-
### AC-1 ignores floating point
|
|
164
|
-
|
|
165
|
-
- [ ] ./src/calc.ts#2-2 — returns the raw difference
|
|
166
|
-
"""
|
|
167
|
-
Then driving the process is refused with "Walkthrough — gtd sorts the chunks into sections; write `## ` chunks only"
|
|
168
|
-
|
|
169
|
-
Scenario: a finding the reviewer left out is refused
|
|
170
|
-
Given step "build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
171
|
-
"""
|
|
172
|
-
# Review: abc1234
|
|
173
|
-
|
|
174
|
-
<!-- base: 0000000 -->
|
|
175
|
-
|
|
176
|
-
## Subtract
|
|
177
|
-
|
|
178
112
|
- [ ] ./src/calc.ts#2-2 — subtract(a, b)
|
|
179
113
|
"""
|
|
180
|
-
Then driving the process is refused with "
|
|
114
|
+
Then driving the process is refused with "Walkthrough — write `## ` chunks only"
|
|
181
115
|
|
|
182
116
|
Scenario: a standard conflict the reviewer writes itself is refused
|
|
183
117
|
Given step "build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
@@ -189,31 +123,10 @@ Feature: a reviewer walks the human through the feature's code
|
|
|
189
123
|
## Standard conflict 0123abcd
|
|
190
124
|
|
|
191
125
|
- [ ] ./src/calc.ts#2-2 — copied over
|
|
192
|
-
|
|
193
|
-
## AC-1 ignores floating point
|
|
194
|
-
|
|
195
|
-
- [ ] ./src/calc.ts#2-2 — returns the raw difference
|
|
196
126
|
"""
|
|
197
127
|
Then driving the process is refused with "Standard conflict 0123abcd — gtd writes conflicts"
|
|
198
128
|
|
|
199
129
|
Scenario: two chunks with one title are refused
|
|
200
|
-
Given step "build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
201
|
-
"""
|
|
202
|
-
# Review: abc1234
|
|
203
|
-
|
|
204
|
-
<!-- base: 0000000 -->
|
|
205
|
-
|
|
206
|
-
## AC-1 ignores floating point
|
|
207
|
-
|
|
208
|
-
- [ ] ./src/calc.ts#2-2 — subtract(a, b)
|
|
209
|
-
|
|
210
|
-
## AC-1 ignores floating point
|
|
211
|
-
|
|
212
|
-
- [ ] ./src/calc.ts#2-2 — returns the raw difference
|
|
213
|
-
"""
|
|
214
|
-
Then driving the process is refused with "AC-1 ignores floating point — a second chunk with this title"
|
|
215
|
-
|
|
216
|
-
Scenario: a risk marked in a finding's chunk is refused, never fixed
|
|
217
130
|
Given step "build.review.reviewing" writes ".gtd/REVIEW.md" with:
|
|
218
131
|
"""
|
|
219
132
|
# Review: abc1234
|
|
@@ -224,8 +137,8 @@ Feature: a reviewer walks the human through the feature's code
|
|
|
224
137
|
|
|
225
138
|
- [ ] ./src/calc.ts#2-2 — subtract(a, b)
|
|
226
139
|
|
|
227
|
-
##
|
|
140
|
+
## Subtract
|
|
228
141
|
|
|
229
|
-
- [ ] ./src/calc.ts#2-2 —
|
|
142
|
+
- [ ] ./src/calc.ts#2-2 — returns the raw difference
|
|
230
143
|
"""
|
|
231
|
-
Then driving the process is refused with "
|
|
144
|
+
Then driving the process is refused with "Subtract — a second chunk with this title"
|