@dzhechkov/harness-core 0.4.1 → 0.4.3
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/.dz-manifest.json +136 -56
- package/README.md +4 -2
- package/dist/backlog.d.ts +35 -0
- package/dist/backlog.d.ts.map +1 -1
- package/dist/backlog.js +167 -3
- package/dist/backlog.js.map +1 -1
- package/dist/feature-adr-checkpoints.d.ts +48 -3
- package/dist/feature-adr-checkpoints.d.ts.map +1 -1
- package/dist/feature-adr-checkpoints.js +85 -24
- package/dist/feature-adr-checkpoints.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/loop-blobs.generated.js +9 -9
- package/dist/loop-blobs.generated.js.map +1 -1
- package/dist/loop-plan-graph.d.ts +49 -0
- package/dist/loop-plan-graph.d.ts.map +1 -0
- package/dist/loop-plan-graph.js +128 -0
- package/dist/loop-plan-graph.js.map +1 -0
- package/dist/loop-plan.d.ts.map +1 -1
- package/dist/loop-plan.js +13 -15
- package/dist/loop-plan.js.map +1 -1
- package/dist/loop-render.d.ts.map +1 -1
- package/dist/loop-render.js +95 -16
- package/dist/loop-render.js.map +1 -1
- package/dist/loop-trace.d.ts +26 -1
- package/dist/loop-trace.d.ts.map +1 -1
- package/dist/loop-trace.js +65 -1
- package/dist/loop-trace.js.map +1 -1
- package/dist/model-recommender.d.ts +91 -0
- package/dist/model-recommender.d.ts.map +1 -0
- package/dist/model-recommender.js +186 -0
- package/dist/model-recommender.js.map +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +4 -1
- package/dist/registry.js.map +1 -1
- package/dist/statusline.d.ts +10 -2
- package/dist/statusline.d.ts.map +1 -1
- package/dist/statusline.js +122 -36
- package/dist/statusline.js.map +1 -1
- package/dist/trace-bundle.d.ts +209 -0
- package/dist/trace-bundle.d.ts.map +1 -0
- package/dist/trace-bundle.js +601 -0
- package/dist/trace-bundle.js.map +1 -0
- package/dist/usage.d.ts +7 -0
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +30 -2
- package/dist/usage.js.map +1 -1
- package/package.json +5 -5
- package/sbom.json +255 -55
- package/src/backlog.ts +176 -3
- package/src/feature-adr-checkpoints.ts +103 -4
- package/src/index.ts +4 -1
- package/src/loop-blobs.generated.ts +9 -9
- package/src/loop-plan-graph.ts +132 -0
- package/src/loop-plan.ts +13 -15
- package/src/loop-render.ts +93 -17
- package/src/loop-trace.ts +78 -1
- package/src/model-recommender.ts +228 -0
- package/src/registry.ts +4 -1
- package/src/statusline.ts +117 -30
- package/src/trace-bundle.ts +743 -0
- package/src/usage.ts +42 -2
package/.dz-manifest.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"path": "README.md",
|
|
12
|
-
"sha256": "
|
|
12
|
+
"sha256": "d3b77852a0bc48aa5d7c34bbd2baa2bbcf1bc73ea86e23b57a955c5ddf61cd03"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"path": "coverage/coverage-final.json",
|
|
@@ -97,19 +97,19 @@
|
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
"path": "dist/backlog.d.ts",
|
|
100
|
-
"sha256": "
|
|
100
|
+
"sha256": "d9881d3518e39c792ab1dc8037048ef4ddd7ba2bb7c368fe03f27c2c16c146e2"
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
"path": "dist/backlog.d.ts.map",
|
|
104
|
-
"sha256": "
|
|
104
|
+
"sha256": "0101593a5afa01ff09ee10a015a07236bd0eaf4cd4fb1b2f300953dd28e0256e"
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
"path": "dist/backlog.js",
|
|
108
|
-
"sha256": "
|
|
108
|
+
"sha256": "60c746cb0cf853b5e55458195cd1841eca7127698591b6311691202748f409a1"
|
|
109
109
|
},
|
|
110
110
|
{
|
|
111
111
|
"path": "dist/backlog.js.map",
|
|
112
|
-
"sha256": "
|
|
112
|
+
"sha256": "66524c6cb1a3fe0bdddbd0894f8ff2b215d9bed906a9d81e258d9cfe25e8cb37"
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
"path": "dist/benchmark.d.ts",
|
|
@@ -433,19 +433,19 @@
|
|
|
433
433
|
},
|
|
434
434
|
{
|
|
435
435
|
"path": "dist/feature-adr-checkpoints.d.ts",
|
|
436
|
-
"sha256": "
|
|
436
|
+
"sha256": "0d80d6445c7763bfb6ca84104f27ebadfb7d5fde3fb17f8e382104b6b04025df"
|
|
437
437
|
},
|
|
438
438
|
{
|
|
439
439
|
"path": "dist/feature-adr-checkpoints.d.ts.map",
|
|
440
|
-
"sha256": "
|
|
440
|
+
"sha256": "1eba53add92f81ad29474e75d7ab762d6661f8e5cf4b6c096a736b454afbd4f1"
|
|
441
441
|
},
|
|
442
442
|
{
|
|
443
443
|
"path": "dist/feature-adr-checkpoints.js",
|
|
444
|
-
"sha256": "
|
|
444
|
+
"sha256": "334565154e5440279e98aa1286087657486cc30472b0e9452d7cd2f997e51371"
|
|
445
445
|
},
|
|
446
446
|
{
|
|
447
447
|
"path": "dist/feature-adr-checkpoints.js.map",
|
|
448
|
-
"sha256": "
|
|
448
|
+
"sha256": "78767e0234eb35ed2e8ce13db487b9ceaf2daa078e6de830fdd530d32bcfc561"
|
|
449
449
|
},
|
|
450
450
|
{
|
|
451
451
|
"path": "dist/feature-adr-claim-gate.d.ts",
|
|
@@ -545,19 +545,19 @@
|
|
|
545
545
|
},
|
|
546
546
|
{
|
|
547
547
|
"path": "dist/index.d.ts",
|
|
548
|
-
"sha256": "
|
|
548
|
+
"sha256": "6f49cadbfa73b5ccc861954bec2901869f87f15c3a4a26a7a3f8496ac86c27a2"
|
|
549
549
|
},
|
|
550
550
|
{
|
|
551
551
|
"path": "dist/index.d.ts.map",
|
|
552
|
-
"sha256": "
|
|
552
|
+
"sha256": "a77ca65cbeda0f04cff9d4558465b33388a79933a3886bd5c650fcd82a1921d0"
|
|
553
553
|
},
|
|
554
554
|
{
|
|
555
555
|
"path": "dist/index.js",
|
|
556
|
-
"sha256": "
|
|
556
|
+
"sha256": "e7e604b3095646eb0f58175bcbe3b3fc0e2d61a08811245e245e5c6bc5579a38"
|
|
557
557
|
},
|
|
558
558
|
{
|
|
559
559
|
"path": "dist/index.js.map",
|
|
560
|
-
"sha256": "
|
|
560
|
+
"sha256": "47cc133b797ac0ddbd0dd728230e61e076f25ce5bc03d21a7188d4f924ee40f8"
|
|
561
561
|
},
|
|
562
562
|
{
|
|
563
563
|
"path": "dist/learning-backend.d.ts",
|
|
@@ -585,11 +585,11 @@
|
|
|
585
585
|
},
|
|
586
586
|
{
|
|
587
587
|
"path": "dist/loop-blobs.generated.js",
|
|
588
|
-
"sha256": "
|
|
588
|
+
"sha256": "06617b763dc879d43f1320fdbb422fc4c61b47aea7656ca8a6508dcbe3a62778"
|
|
589
589
|
},
|
|
590
590
|
{
|
|
591
591
|
"path": "dist/loop-blobs.generated.js.map",
|
|
592
|
-
"sha256": "
|
|
592
|
+
"sha256": "8c5d5828f4b0ba6dd32a15de8a3eae4e683dc8a9616d7d4cc71e07d693bfe427"
|
|
593
593
|
},
|
|
594
594
|
{
|
|
595
595
|
"path": "dist/loop-lint.d.ts",
|
|
@@ -607,21 +607,37 @@
|
|
|
607
607
|
"path": "dist/loop-lint.js.map",
|
|
608
608
|
"sha256": "2461e2f9984617a53f8d9b0bde1b7ec2f33f60f3763c1352242698848484994f"
|
|
609
609
|
},
|
|
610
|
+
{
|
|
611
|
+
"path": "dist/loop-plan-graph.d.ts",
|
|
612
|
+
"sha256": "fe71784323cc99e6352a5f1fe0dd5149d03dfec9f1ca31f481442e8cab1d8175"
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"path": "dist/loop-plan-graph.d.ts.map",
|
|
616
|
+
"sha256": "472eec39fa6882d2c9e6109ae1b3b2e0cfbd215bd36e8401d89c1a3fca3915ae"
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
"path": "dist/loop-plan-graph.js",
|
|
620
|
+
"sha256": "cf32f1682fda8fc11e6cea0099c10bbb7029a3287ce6bfb5f9b217393eefaf0e"
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
"path": "dist/loop-plan-graph.js.map",
|
|
624
|
+
"sha256": "d493ae635c2aa738b7cda2a2f3abfc653851025ed2c66132cda1ddd6b908c4d0"
|
|
625
|
+
},
|
|
610
626
|
{
|
|
611
627
|
"path": "dist/loop-plan.d.ts",
|
|
612
628
|
"sha256": "25be50f7d13606c894880980eeb7cf989bb79eba53f19f138bafd6b2865984f5"
|
|
613
629
|
},
|
|
614
630
|
{
|
|
615
631
|
"path": "dist/loop-plan.d.ts.map",
|
|
616
|
-
"sha256": "
|
|
632
|
+
"sha256": "c675242b760698382b34576b6e0a29791a9bf90f8c11969f1c7b50dfdcdab090"
|
|
617
633
|
},
|
|
618
634
|
{
|
|
619
635
|
"path": "dist/loop-plan.js",
|
|
620
|
-
"sha256": "
|
|
636
|
+
"sha256": "49ca837d8041585638ea5b14ffcc913de77b92aa619512c9cdd2f92c7458e6d5"
|
|
621
637
|
},
|
|
622
638
|
{
|
|
623
639
|
"path": "dist/loop-plan.js.map",
|
|
624
|
-
"sha256": "
|
|
640
|
+
"sha256": "d8cea571b3c22d4e88700c043d138cbb7ce03cd7aaea682185c55010430249e2"
|
|
625
641
|
},
|
|
626
642
|
{
|
|
627
643
|
"path": "dist/loop-render.d.ts",
|
|
@@ -629,31 +645,31 @@
|
|
|
629
645
|
},
|
|
630
646
|
{
|
|
631
647
|
"path": "dist/loop-render.d.ts.map",
|
|
632
|
-
"sha256": "
|
|
648
|
+
"sha256": "5586404be53e6aaf76ea248c420ee0f6fe1be1220e1a049112429bc5c0c0ab4c"
|
|
633
649
|
},
|
|
634
650
|
{
|
|
635
651
|
"path": "dist/loop-render.js",
|
|
636
|
-
"sha256": "
|
|
652
|
+
"sha256": "51f331c1fddf74623f02dfa45ac86ca3650b1ce885f33cb07b3c3101a9de38ff"
|
|
637
653
|
},
|
|
638
654
|
{
|
|
639
655
|
"path": "dist/loop-render.js.map",
|
|
640
|
-
"sha256": "
|
|
656
|
+
"sha256": "ffecd7640d6f93c8fa6be63ccc75e4be5a05ba74593513e4ce530300ce1ce02b"
|
|
641
657
|
},
|
|
642
658
|
{
|
|
643
659
|
"path": "dist/loop-trace.d.ts",
|
|
644
|
-
"sha256": "
|
|
660
|
+
"sha256": "4b77555c0b7f31ed9a8ebacb7d84de0b0b9c7921b1a56a02ea15db27e55451c5"
|
|
645
661
|
},
|
|
646
662
|
{
|
|
647
663
|
"path": "dist/loop-trace.d.ts.map",
|
|
648
|
-
"sha256": "
|
|
664
|
+
"sha256": "8ed238c4257c566d0dbde8666d6be2c85669f7ec0485920fed96595a13df79b6"
|
|
649
665
|
},
|
|
650
666
|
{
|
|
651
667
|
"path": "dist/loop-trace.js",
|
|
652
|
-
"sha256": "
|
|
668
|
+
"sha256": "28056d64766b8302925d76c901d3796fbbe9201c345c738fe0ce5143e7fe3a19"
|
|
653
669
|
},
|
|
654
670
|
{
|
|
655
671
|
"path": "dist/loop-trace.js.map",
|
|
656
|
-
"sha256": "
|
|
672
|
+
"sha256": "8de7be34542cc18737e700545cf0eaea8511accb32423666fed37c0a7c947068"
|
|
657
673
|
},
|
|
658
674
|
{
|
|
659
675
|
"path": "dist/mcp-scan.d.ts",
|
|
@@ -671,6 +687,22 @@
|
|
|
671
687
|
"path": "dist/mcp-scan.js.map",
|
|
672
688
|
"sha256": "a391d921b83b758afa4c2761d7cf47d4994fda8d63286310e25f5f4c32e97e83"
|
|
673
689
|
},
|
|
690
|
+
{
|
|
691
|
+
"path": "dist/model-recommender.d.ts",
|
|
692
|
+
"sha256": "a81f21f00d29d8c6546a4b37f29770634c78e628980b04d6c53983bacb695f93"
|
|
693
|
+
},
|
|
694
|
+
{
|
|
695
|
+
"path": "dist/model-recommender.d.ts.map",
|
|
696
|
+
"sha256": "5dbe72bec50be10ac4caef49f427a96f0cd2bae6f0934942b2600f6138313372"
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"path": "dist/model-recommender.js",
|
|
700
|
+
"sha256": "469f0c4bc46da3db9d5421d22b4350f51456880519d3e55491dd24c53c12b145"
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
"path": "dist/model-recommender.js.map",
|
|
704
|
+
"sha256": "29f9f9a64bbd8c88e455f01037262262d894f6defce1f490ecb6a11ce9eee80a"
|
|
705
|
+
},
|
|
674
706
|
{
|
|
675
707
|
"path": "dist/mutation-gate.d.ts",
|
|
676
708
|
"sha256": "d7c8c1fceb9f50ddf6bc9db5db56c532aa95629f9388b48ad4cc00a18ec3a106"
|
|
@@ -949,15 +981,15 @@
|
|
|
949
981
|
},
|
|
950
982
|
{
|
|
951
983
|
"path": "dist/registry.d.ts.map",
|
|
952
|
-
"sha256": "
|
|
984
|
+
"sha256": "574749c53f7353fc5ac2e838efab4f782054706de609441c1f4846d2189ba199"
|
|
953
985
|
},
|
|
954
986
|
{
|
|
955
987
|
"path": "dist/registry.js",
|
|
956
|
-
"sha256": "
|
|
988
|
+
"sha256": "510128530f4659da0ad504fa9501e09b7127a41e11f0b9d26ed28c8f9ccf9455"
|
|
957
989
|
},
|
|
958
990
|
{
|
|
959
991
|
"path": "dist/registry.js.map",
|
|
960
|
-
"sha256": "
|
|
992
|
+
"sha256": "705b77994594782d44b7379a7aab4fb2008a7fc9c7b1a092470ff350136fbf36"
|
|
961
993
|
},
|
|
962
994
|
{
|
|
963
995
|
"path": "dist/release.d.ts",
|
|
@@ -1185,19 +1217,19 @@
|
|
|
1185
1217
|
},
|
|
1186
1218
|
{
|
|
1187
1219
|
"path": "dist/statusline.d.ts",
|
|
1188
|
-
"sha256": "
|
|
1220
|
+
"sha256": "b55c3a156695c6c573f515eec6fd8c51ccecb360f6348188dae53fc467668fe1"
|
|
1189
1221
|
},
|
|
1190
1222
|
{
|
|
1191
1223
|
"path": "dist/statusline.d.ts.map",
|
|
1192
|
-
"sha256": "
|
|
1224
|
+
"sha256": "4207a2301c0e61cdd3b6ac8d7cac04cc007091ab64f77f26124297d46ba19c9a"
|
|
1193
1225
|
},
|
|
1194
1226
|
{
|
|
1195
1227
|
"path": "dist/statusline.js",
|
|
1196
|
-
"sha256": "
|
|
1228
|
+
"sha256": "42a136ccd10e9c58053c9539032b543cf48348b6648ec18bd6a3738b0e514666"
|
|
1197
1229
|
},
|
|
1198
1230
|
{
|
|
1199
1231
|
"path": "dist/statusline.js.map",
|
|
1200
|
-
"sha256": "
|
|
1232
|
+
"sha256": "124317a63f64b9dc21f248fb275553bbee7bed62f8df8840fe969995ab73191b"
|
|
1201
1233
|
},
|
|
1202
1234
|
{
|
|
1203
1235
|
"path": "dist/store-lock.d.ts",
|
|
@@ -1247,6 +1279,22 @@
|
|
|
1247
1279
|
"path": "dist/targets.js.map",
|
|
1248
1280
|
"sha256": "c901e086afe6d4b09e8fa8cde60a503da2dd7dc85ab729b302a9b3b4d82891e8"
|
|
1249
1281
|
},
|
|
1282
|
+
{
|
|
1283
|
+
"path": "dist/trace-bundle.d.ts",
|
|
1284
|
+
"sha256": "04bc75e31bb1736da910678e84caf1f90adaa840230ac80eb66e92195177fbe3"
|
|
1285
|
+
},
|
|
1286
|
+
{
|
|
1287
|
+
"path": "dist/trace-bundle.d.ts.map",
|
|
1288
|
+
"sha256": "ab444ace1f32d5e40c728c34a42bb45b70b269fc51770ae94ea5b7490d76a4eb"
|
|
1289
|
+
},
|
|
1290
|
+
{
|
|
1291
|
+
"path": "dist/trace-bundle.js",
|
|
1292
|
+
"sha256": "a3c5c852a17904754c33c2660cc533c1affa44ffcf46a087e928ac2921793c70"
|
|
1293
|
+
},
|
|
1294
|
+
{
|
|
1295
|
+
"path": "dist/trace-bundle.js.map",
|
|
1296
|
+
"sha256": "9aafc5fe1b5f3bc878b063b94c7d3a89e4459f999c357252928d7b5498a8a5f7"
|
|
1297
|
+
},
|
|
1250
1298
|
{
|
|
1251
1299
|
"path": "dist/upgrade.d.ts",
|
|
1252
1300
|
"sha256": "b256da4de28359110f1ff791d6e6ed1e91339c1cd32d6e222048066b1ee9e0d3"
|
|
@@ -1265,19 +1313,19 @@
|
|
|
1265
1313
|
},
|
|
1266
1314
|
{
|
|
1267
1315
|
"path": "dist/usage.d.ts",
|
|
1268
|
-
"sha256": "
|
|
1316
|
+
"sha256": "ddd160790a1cd0f5227f0176d5a19efcaef8b6991e7c047d9dca6a9a12868c92"
|
|
1269
1317
|
},
|
|
1270
1318
|
{
|
|
1271
1319
|
"path": "dist/usage.d.ts.map",
|
|
1272
|
-
"sha256": "
|
|
1320
|
+
"sha256": "dce190662fcd4c96b69304568093fca9cb02decdced85623bfba3b64b18d7c04"
|
|
1273
1321
|
},
|
|
1274
1322
|
{
|
|
1275
1323
|
"path": "dist/usage.js",
|
|
1276
|
-
"sha256": "
|
|
1324
|
+
"sha256": "fc948c27f6706e3f176640acf73397c165cb8a1cedd9efaef687fafa01f708ea"
|
|
1277
1325
|
},
|
|
1278
1326
|
{
|
|
1279
1327
|
"path": "dist/usage.js.map",
|
|
1280
|
-
"sha256": "
|
|
1328
|
+
"sha256": "8c1908e01561cdf6756f96ed8095a75f1cd06fcc5a2c9629c7463cd2cd531307"
|
|
1281
1329
|
},
|
|
1282
1330
|
{
|
|
1283
1331
|
"path": "dist/vector-tier.d.ts",
|
|
@@ -1313,7 +1361,7 @@
|
|
|
1313
1361
|
},
|
|
1314
1362
|
{
|
|
1315
1363
|
"path": "package.json",
|
|
1316
|
-
"sha256": "
|
|
1364
|
+
"sha256": "4e0045cf445e1f6a2e173912acc2ce6b76730dbc0502219d09324644eba71d91"
|
|
1317
1365
|
},
|
|
1318
1366
|
{
|
|
1319
1367
|
"path": "src/__tests__/golden-baseline.test.ts",
|
|
@@ -1337,7 +1385,7 @@
|
|
|
1337
1385
|
},
|
|
1338
1386
|
{
|
|
1339
1387
|
"path": "src/backlog.ts",
|
|
1340
|
-
"sha256": "
|
|
1388
|
+
"sha256": "c26a2b6d5a05652e959e9f7f80232e67aa1bf38656b90bfe1d9f06bd59fc50b1"
|
|
1341
1389
|
},
|
|
1342
1390
|
{
|
|
1343
1391
|
"path": "src/benchmark.ts",
|
|
@@ -1421,7 +1469,7 @@
|
|
|
1421
1469
|
},
|
|
1422
1470
|
{
|
|
1423
1471
|
"path": "src/feature-adr-checkpoints.ts",
|
|
1424
|
-
"sha256": "
|
|
1472
|
+
"sha256": "3b09f6bd8cb0ca2f72b2d203037712510ba6869abf2224fe339c0e9e6eececb7"
|
|
1425
1473
|
},
|
|
1426
1474
|
{
|
|
1427
1475
|
"path": "src/feature-adr-claim-gate.ts",
|
|
@@ -1449,7 +1497,7 @@
|
|
|
1449
1497
|
},
|
|
1450
1498
|
{
|
|
1451
1499
|
"path": "src/index.ts",
|
|
1452
|
-
"sha256": "
|
|
1500
|
+
"sha256": "0eea6f1a656267ca8be5c3543c8136978be7ebfd3ff5ee152b0c3ea645799af6"
|
|
1453
1501
|
},
|
|
1454
1502
|
{
|
|
1455
1503
|
"path": "src/learning-backend.ts",
|
|
@@ -1457,28 +1505,36 @@
|
|
|
1457
1505
|
},
|
|
1458
1506
|
{
|
|
1459
1507
|
"path": "src/loop-blobs.generated.ts",
|
|
1460
|
-
"sha256": "
|
|
1508
|
+
"sha256": "7433b7f1dea51a494d4a4587872d46339383b69052e8fd2127d9feffe47eaa43"
|
|
1461
1509
|
},
|
|
1462
1510
|
{
|
|
1463
1511
|
"path": "src/loop-lint.ts",
|
|
1464
1512
|
"sha256": "3312482046cad99aa5cdedb5a87b6a5ffa3755688296f89f7081e77f47b3d5e2"
|
|
1465
1513
|
},
|
|
1514
|
+
{
|
|
1515
|
+
"path": "src/loop-plan-graph.ts",
|
|
1516
|
+
"sha256": "8c07c3df46523b2e562ec2059eb29eeece911ce04bae1896996dbf9bd8364ba7"
|
|
1517
|
+
},
|
|
1466
1518
|
{
|
|
1467
1519
|
"path": "src/loop-plan.ts",
|
|
1468
|
-
"sha256": "
|
|
1520
|
+
"sha256": "701c17c11c744a1535993ff37acb2897a105bbc3cb66283f5b64bd0b89c100c7"
|
|
1469
1521
|
},
|
|
1470
1522
|
{
|
|
1471
1523
|
"path": "src/loop-render.ts",
|
|
1472
|
-
"sha256": "
|
|
1524
|
+
"sha256": "6761caa91ce493512cf5d2791ec4f83ca33b4c1dfc1ce9c3b8068812b4034efd"
|
|
1473
1525
|
},
|
|
1474
1526
|
{
|
|
1475
1527
|
"path": "src/loop-trace.ts",
|
|
1476
|
-
"sha256": "
|
|
1528
|
+
"sha256": "88f31edf1d7d1e5ba7223812ad36cc3166e66bee5e9adb2fcbc8ff2e0d82f471"
|
|
1477
1529
|
},
|
|
1478
1530
|
{
|
|
1479
1531
|
"path": "src/mcp-scan.ts",
|
|
1480
1532
|
"sha256": "cb1c62c61408f32c35a08b34ed5e788bec5a5b33ff9c2a7f4449f9162b7b606d"
|
|
1481
1533
|
},
|
|
1534
|
+
{
|
|
1535
|
+
"path": "src/model-recommender.ts",
|
|
1536
|
+
"sha256": "05be71b2064f78904b6c6df74ce00a327857857f0ab8596c53ad722d4897be7d"
|
|
1537
|
+
},
|
|
1482
1538
|
{
|
|
1483
1539
|
"path": "src/mutation-gate.ts",
|
|
1484
1540
|
"sha256": "f163472d8d44e07d5646606b063b8d40e06673b8bb95e3b3e209093456079c99"
|
|
@@ -1545,7 +1601,7 @@
|
|
|
1545
1601
|
},
|
|
1546
1602
|
{
|
|
1547
1603
|
"path": "src/registry.ts",
|
|
1548
|
-
"sha256": "
|
|
1604
|
+
"sha256": "67e4995652caaaa3712f2d79633afaf39e5d22656741cd04e9f9e72e2a5d7929"
|
|
1549
1605
|
},
|
|
1550
1606
|
{
|
|
1551
1607
|
"path": "src/release.ts",
|
|
@@ -1605,7 +1661,7 @@
|
|
|
1605
1661
|
},
|
|
1606
1662
|
{
|
|
1607
1663
|
"path": "src/statusline.ts",
|
|
1608
|
-
"sha256": "
|
|
1664
|
+
"sha256": "31000d5b249345d659478d7eb49f10771015d9c180ab265ab1cb915ee180b092"
|
|
1609
1665
|
},
|
|
1610
1666
|
{
|
|
1611
1667
|
"path": "src/store-lock.ts",
|
|
@@ -1619,13 +1675,17 @@
|
|
|
1619
1675
|
"path": "src/targets.ts",
|
|
1620
1676
|
"sha256": "e943f42775e32695412b49f49f5884668a0130113549a5324467e65a6b67efe7"
|
|
1621
1677
|
},
|
|
1678
|
+
{
|
|
1679
|
+
"path": "src/trace-bundle.ts",
|
|
1680
|
+
"sha256": "fec8d04a083f96f21d65a0dc1f131cb3cca6101c05f2cadcf540027c2a2a8774"
|
|
1681
|
+
},
|
|
1622
1682
|
{
|
|
1623
1683
|
"path": "src/upgrade.ts",
|
|
1624
1684
|
"sha256": "8cc9e9e222149f711183980bfad317713aad0ecfa9fcff923dd3c93865b6966b"
|
|
1625
1685
|
},
|
|
1626
1686
|
{
|
|
1627
1687
|
"path": "src/usage.ts",
|
|
1628
|
-
"sha256": "
|
|
1688
|
+
"sha256": "71c4f4ae735f1fb7f5c386891e628d76d09548399d515c82ebfaa496d07a2ba9"
|
|
1629
1689
|
},
|
|
1630
1690
|
{
|
|
1631
1691
|
"path": "src/vector-tier.ts",
|
|
@@ -1659,6 +1719,10 @@
|
|
|
1659
1719
|
"path": "test/backlog-dedup.test.ts",
|
|
1660
1720
|
"sha256": "88c78fc2a7e666da4748914f0c927ec130f04b11b67e82527c500138df55ee15"
|
|
1661
1721
|
},
|
|
1722
|
+
{
|
|
1723
|
+
"path": "test/backlog-edit.test.ts",
|
|
1724
|
+
"sha256": "e373a7d1526a05ae342ab42e91a233db83a68467def0a60d480cd295e6933b50"
|
|
1725
|
+
},
|
|
1662
1726
|
{
|
|
1663
1727
|
"path": "test/backlog-live.test.ts",
|
|
1664
1728
|
"sha256": "a10cb51a8e58564c31a8bbe828e4426b388e014b074a9b419c2cbfc1ef08987d"
|
|
@@ -1781,7 +1845,7 @@
|
|
|
1781
1845
|
},
|
|
1782
1846
|
{
|
|
1783
1847
|
"path": "test/feature-adr-checkpoints.test.ts",
|
|
1784
|
-
"sha256": "
|
|
1848
|
+
"sha256": "73ae6836ce37a7b15dfd92c616e7d8fefba9e64a50ec1fded0630e7c6cdfebaa"
|
|
1785
1849
|
},
|
|
1786
1850
|
{
|
|
1787
1851
|
"path": "test/feature-adr-claim-gate.test.ts",
|
|
@@ -1805,7 +1869,11 @@
|
|
|
1805
1869
|
},
|
|
1806
1870
|
{
|
|
1807
1871
|
"path": "test/feature-adr-training-pairs.test.ts",
|
|
1808
|
-
"sha256": "
|
|
1872
|
+
"sha256": "15587c9971e17e14e7627564038a89132c983e81d4f87bf9053be61a2a459366"
|
|
1873
|
+
},
|
|
1874
|
+
{
|
|
1875
|
+
"path": "test/feature-adr-workflow-twin-drift.test.ts",
|
|
1876
|
+
"sha256": "2b43ee26290b1617fc8b4a5ae81d7958dac0761041e63cd4d544383db628fa80"
|
|
1809
1877
|
},
|
|
1810
1878
|
{
|
|
1811
1879
|
"path": "test/files-whitelist-guard.test.ts",
|
|
@@ -1869,7 +1937,7 @@
|
|
|
1869
1937
|
},
|
|
1870
1938
|
{
|
|
1871
1939
|
"path": "test/helpers/loop-step-stub.mjs",
|
|
1872
|
-
"sha256": "
|
|
1940
|
+
"sha256": "fd5929315e22bfa7f20bbd941c8a0385faf3360b0d48f473887569b03d36bf01"
|
|
1873
1941
|
},
|
|
1874
1942
|
{
|
|
1875
1943
|
"path": "test/import-upsert.test.ts",
|
|
@@ -1901,7 +1969,7 @@
|
|
|
1901
1969
|
},
|
|
1902
1970
|
{
|
|
1903
1971
|
"path": "test/loop-plan-honesty.test.ts",
|
|
1904
|
-
"sha256": "
|
|
1972
|
+
"sha256": "e8732fadbe26cf8a0f85cc0aad90b34d0859ad98003351a1f1776f5bea777bb9"
|
|
1905
1973
|
},
|
|
1906
1974
|
{
|
|
1907
1975
|
"path": "test/loop-plan.test.ts",
|
|
@@ -1913,7 +1981,7 @@
|
|
|
1913
1981
|
},
|
|
1914
1982
|
{
|
|
1915
1983
|
"path": "test/loop-render.test.ts",
|
|
1916
|
-
"sha256": "
|
|
1984
|
+
"sha256": "a9718058c1887f6a6268986c050bf5f8c1b08a53f4aceed7e5c15038cc9e94d2"
|
|
1917
1985
|
},
|
|
1918
1986
|
{
|
|
1919
1987
|
"path": "test/loop-trace-seq.test.ts",
|
|
@@ -1921,19 +1989,23 @@
|
|
|
1921
1989
|
},
|
|
1922
1990
|
{
|
|
1923
1991
|
"path": "test/loop-trace.test.ts",
|
|
1924
|
-
"sha256": "
|
|
1992
|
+
"sha256": "3d5a71a6b2841683a7fc55947960c54a8ad5bcb8988dec2d9ef44b88d00f7b6f"
|
|
1925
1993
|
},
|
|
1926
1994
|
{
|
|
1927
1995
|
"path": "test/mcp-scan.test.ts",
|
|
1928
1996
|
"sha256": "b4a7bc34cebbcece40c3e245fecb186abbc567768f6312c22a0eb5be62a99b5e"
|
|
1929
1997
|
},
|
|
1998
|
+
{
|
|
1999
|
+
"path": "test/model-recommender.test.ts",
|
|
2000
|
+
"sha256": "195af86db8248e128ff7bb0967c562471ae14379a125099dcd2bfacce0575086"
|
|
2001
|
+
},
|
|
1930
2002
|
{
|
|
1931
2003
|
"path": "test/mutation-gate.test.ts",
|
|
1932
2004
|
"sha256": "da58753887fdab5a1a27c1db074c4c13386f03c8fe679f2ed36abfd5c5b5a990"
|
|
1933
2005
|
},
|
|
1934
2006
|
{
|
|
1935
2007
|
"path": "test/mutation-registry.json",
|
|
1936
|
-
"sha256": "
|
|
2008
|
+
"sha256": "f4bed0557865d5fb5c6cf064a6ffb1425d79e09a9b24a3055477a6b1bb05c1ee"
|
|
1937
2009
|
},
|
|
1938
2010
|
{
|
|
1939
2011
|
"path": "test/new-features.test.ts",
|
|
@@ -2045,16 +2117,24 @@
|
|
|
2045
2117
|
},
|
|
2046
2118
|
{
|
|
2047
2119
|
"path": "test/statusline.test.ts",
|
|
2048
|
-
"sha256": "
|
|
2120
|
+
"sha256": "7398a7c71ffb095c4ad03045f59955da309184e54ce096ad65a56a72e83afdb8"
|
|
2049
2121
|
},
|
|
2050
2122
|
{
|
|
2051
2123
|
"path": "test/store-lock.test.ts",
|
|
2052
2124
|
"sha256": "8d7becb8cc3466ce3b6c63178e59199774f5e77c6056a363bd94e9a476dec410"
|
|
2053
2125
|
},
|
|
2126
|
+
{
|
|
2127
|
+
"path": "test/trace-bundle.test.ts",
|
|
2128
|
+
"sha256": "66e784bd3f1344350e55b0003f5558f6cea388481fd339515b49c4c761de0af7"
|
|
2129
|
+
},
|
|
2054
2130
|
{
|
|
2055
2131
|
"path": "test/trusttier-schema.test.ts",
|
|
2056
2132
|
"sha256": "430a5bb7ee5e1caf671db98e1b1833c64fb9b2b5cb4eefb5acc3675bb3529aee"
|
|
2057
2133
|
},
|
|
2134
|
+
{
|
|
2135
|
+
"path": "test/usage-week-anchor.test.ts",
|
|
2136
|
+
"sha256": "7ef26f388cbdfe048c79acdb2096634b20e0528e653cfd41dd37b47b5a250467"
|
|
2137
|
+
},
|
|
2058
2138
|
{
|
|
2059
2139
|
"path": "test/usage.test.ts",
|
|
2060
2140
|
"sha256": "09b9c4ed5bf879e71a6940df7255db9d61c160061e34a7ff596733eaf7775de9"
|
|
@@ -2097,5 +2177,5 @@
|
|
|
2097
2177
|
}
|
|
2098
2178
|
]
|
|
2099
2179
|
},
|
|
2100
|
-
"signature": "
|
|
2180
|
+
"signature": "7RH0Hkcf60QgHYQq4YSoebg7Za2ORZ5wzIKheys8oOA+PrSPhBTx1iqwXYKjADglmkJbb6Hhwuz1HvFiQEaGDg=="
|
|
2101
2181
|
}
|
package/README.md
CHANGED
|
@@ -22,6 +22,8 @@ and any other consumer.
|
|
|
22
22
|
| `feature-adr-checkpoints` | `checkpointInputHash`, `decideCheckpointResume`, `parseCheckpointRead`, `serializeCheckpoint`, `fnv1a64`, `CKPT_SCHEMA_VERSION`, `STAGE_ARTIFACTS` | The PURE half of feature-adr's durable per-stage checkpoints (`features/<slug>/.fa-state/checkpoints.jsonl`): a dead L/XL run — or the standard stop-after-plan re-invoke — resumes completed stages instead of re-spending them. Resume = INPUT-identity (64-bit salted FNV over a schema-versioned JSON tuple incl. upstream stage results) + presence of EVERY tier-required artifact; a stale-input hash never resumes in ANY mode (`force` relaxes only the artifact probe — the tested load-bearing property). HONEST SCOPE: it does NOT fingerprint the working tree (a crash-resume legitimately sees the dead run's uncommitted writes) — after manual edits use `resume:'never'` and re-QE. Null results are never persisted or resumable; a stage-identifiable corrupt record ERASES its older entry (last-wins holds for corruption too); a codex code stage whose landing barrier said `genuinely-not-landed` is never checkpointed. The workflow mirrors this inline (wiring-guarded); RU: чекпоинт после каждой дорогой стадии — упавший ран возобновляется, а не пере-тратит завершённое |
|
|
23
23
|
| `feature-adr-training-pairs` (in `feature-adr-checkpoints`) | `buildTrainingPair`, `serializeTrainingPair`, `trainingPairPath`, `trainingPairAppendCmd`, `modelFamily`, `TRAINPAIR_SCHEMA_VERSION`, `TRAINPAIR_MAX_IO_CHARS`, `TRAINPAIR_PRIVACY_NOTE` | The PURE half of feature-adr TRAINING-PAIR capture (backlog 70e0f083): every checkpointed stage emits one SFT-ready JSONL record — STAGE INPUT (full prompt/context) → STAGE OUTPUT (artifact/result) → EVALUATION {QE grade, gradedBy, lessonsInjected} with provenance {model, FAMILY ∈ claude/codex, role} — to `.dz/fa-training/<slug>/<stage>.jsonl` (one file per stage), raw material for future local-model fine-tuning. FAMILY is load-bearing: the downstream dataset must honour the cross-model rule (QE pairs from a DIFFERENT family than the coder). Oversize guard: input+output over 48k chars is TRUNCATED with a named marker + full-text fnv1a64 — never silently dropped, never unbounded. A stage without a QE grade (router) records `grade:null` honestly. Deterministic: `ts` is passed in (the workflow fills it shell-side). Capture is default-ON in the workflow, opt-out `args.captureTrainingPairs:false`, non-blocking (a capture failure never fails the run). PRIVACY: pairs may contain target-repo code; the capture dir carries a README note; NOT gitignored by explicit owner decision. RU: тренировочные пары вход→выход→оценка с каждого прогона feature-adr — сырьё для будущей локальной модели |
|
|
24
24
|
| `reqe` | `shouldEmitReqeDebt`, `buildReqeDebt`, `parseReqeDebt`, `buildReqeBrief`, `extractReportGrade`, `settleReqeDebt`, `renderReqeList`, `REQE_SCOPE` | The pure half of `dz reqe` — the re-QE debt ledger: when feature-adr's usage-adaptive override made Step-8 QE run on the coder's OWN family (the cross-model guard consciously suspended, FR-2.9), the run records a debt in `features/<slug>/.fa-state/reqe-due.json`. Emission is the NARROW case only (same-family + the ` (usage-switched)` label — never every switch, never the no-override Claude belt); settlement is FAIL-CLOSED: an existing, non-trivial report naming exactly ONE line-anchored grade (`GRADE A-F` boilerplate and `A through F` ranges refused, ambiguity refused), never the run's own 08_qe_report.md. Debts carry the emitting run's stamp so an old settlement never immunizes a fresh run. HONEST SCOPE printed everywhere: nothing re-runs QE automatically; the validator proves procedural soundness, not authorship. RU: снятый под лимитом гард «кодер не ревьюит сам себя» становится долгом на диске, а не памяткой |
|
|
25
|
+
| `trace-bundle` | `buildBundle`, `serializeBundle`, `parseBundle`, `selectLedgerRows`, `resolveRunMeta`, `foldAttribution`, `planImport` | The PURE half of `dz workflow-trace export/import` — one run's telemetry as one movable file. No fs, no clock, no randomness: it DECIDES and the caller does the I/O, which is what makes the fail-closed import testable without ever pointing a test at a real project (`planImport` returns the refusals as a VALUE, not as a side effect). Run addressing is the existing one, reused rather than rebuilt. Carries EVENTS, not aggregates: the single derived value travels alongside the records it was folded from, marked derived and naming its rule, so deleting it loses nothing but convenience — last-writer-wins by timestamp is a stated CHOICE, not a truth. `resolveRunMeta` reads the harness's own workflow records and judges each RECORD, not the slug: one historical sibling must not poison a usable one (MEASURED: 1 slug of 32 was being thrown away whole). Its reason set is closed and exactly one value is ACTIONABLE — `layout-unrecognised` means the harness layout changed; `predates-model-routing` means history. That split exists because the actionable reason fired on 3 of 32 slugs of untouched data, and an alarm that sounds on normal operation is not an alarm. RECOGNISE-OR-REFUSE: a record whose fields are gone yields a reason and NO data, never a half-parse that would report a model-blind run as model-known |
|
|
26
|
+
| `statusline` | `statuslineData`, `readFeatureAdrState`, `writeFeatureAdrState`, `featureAdrStateDir`, `featureAdrStatePath`, `FeatureAdrState` | The live self-learning panel behind `dz statusline`, plus the LIVE-RUN segment two producers share. Each producer owns a per-slug slot under `.dz/feature-adr/learning-state/` and stamps `kind: 'feature-adr' \| 'loop'` (absent ⇒ `feature-adr`, so legacy states keep their meaning); `readFeatureAdrState` arbitrates by `(kind rank, ts)` — a fresh `feature-adr` state OUTRANKS any `loop` state, because a generated loop writes zero recalled/stored counters far more often and plain freshest-wins would empty the panel of the very thing it exists to show. Candidates are stat'ed and ordered newest-first BEFORE the bounded slice, so truncation can only ever drop the least-recent slot — a cap over an unsorted listing could hide the live slot behind older ones (MEASURED: 81 slots, the live one invisible). The render path is strictly READ-ONLY (~300 ms budget); housekeeping — a 24 h prune — belongs to the write path alone. Hostile slugs are sanitized to one bounded filename component and cannot escape the directory. Nothing older than 30 minutes is surfaced |
|
|
25
27
|
| `operations` | `runInit`, `runSync`, `runVerify`, `runDoctor` | The harness operations, returning structured reports |
|
|
26
28
|
| `release` | `collectPackageFacts`, `selectAffectedPackages`, `planReleaseGates`, `classifyGateExecutions`, `buildFailureIssue`, `firstOutputLine` | Pure verified-release engine behind `dz release`: plans 4 HARD gates (tests / `pnpm audit --prod` / `node --check` / bin smoke-boot) as DATA and classifies injected results fail-closed — an unbuilt package (declared `build` script, no dist JS) is a `MISSING_DIST` failure, a template-only pack is a named `SKIP_NO_ARTIFACTS` skip, `selectAffectedPackages` fail-opens to the full set when the changed-file list is unavailable |
|
|
27
29
|
| `parity` | `TARGET_CAPABILITIES`, `PARITY_FEATURES`, `computeParity`, `buildParityMatrix` | Declarative target-parity model behind `dz parity`: verified capability flags per target × feature FORMS with requirements; the feature×target matrix is always COMPUTED (never hand-written), and the model must classify exactly `TARGET_NAMES` — an unclassified new target refuses to compile |
|
|
@@ -105,11 +107,11 @@ now ships the loop-designer meta-factory:
|
|
|
105
107
|
(ha-consult-router region); the remaining hand-mirrors carry in-file "stage 2 pending" notes and
|
|
106
108
|
a tracked backlog item — never a blanket closure claim.
|
|
107
109
|
|
|
108
|
-
**BREAKING in 0.4.
|
|
110
|
+
**BREAKING in 0.4.3** (0.x minor is this package's breaking channel): the ADR-005 workflow
|
|
109
111
|
templates are retired — `WorkflowTemplate`/`WORKFLOWS`/`getWorkflow` removed, `WORKFLOW_NAMES`
|
|
110
112
|
now empty. Replacement: `dz workflow init/validate/render` + `dz workflow-lint`/`dz workflow-trace`
|
|
111
113
|
(see the CHANGELOG).
|
|
112
114
|
|
|
113
115
|
## Status
|
|
114
116
|
|
|
115
|
-
`0.4.
|
|
117
|
+
`0.4.3` — stable.
|
package/dist/backlog.d.ts
CHANGED
|
@@ -52,6 +52,9 @@ export type DedupAction = 'duplicate' | 'related' | 'new';
|
|
|
52
52
|
/** Pure output of the classifier (04) — consumed by capture. */
|
|
53
53
|
export interface DedupVerdict {
|
|
54
54
|
readonly action: DedupAction;
|
|
55
|
+
/** Ids excluded from VECTOR candidacy because their text was edited without a re-embed yet. A
|
|
56
|
+
* consumer must read this before treating a `new` verdict as "compared against everything". */
|
|
57
|
+
readonly staleExcluded?: string[];
|
|
55
58
|
/** Top-1 raw cosine (ADR-002 — never an RRF score). `-1` when there is nothing to compare against. */
|
|
56
59
|
readonly cosine: number;
|
|
57
60
|
readonly matchedId: string | undefined;
|
|
@@ -234,6 +237,33 @@ export declare function transitionIdeas(projectRoot: string, verb: TransitionVer
|
|
|
234
237
|
dryRun?: boolean;
|
|
235
238
|
nowIso?: string;
|
|
236
239
|
}): TransitionReport;
|
|
240
|
+
/** Where an edit's PREVIOUS text is preserved. An edit destroys text and `reopen` cannot undo it the
|
|
241
|
+
* way it undoes `drop`, so the old text is appended here before the store is rewritten. */
|
|
242
|
+
export declare function editsLogPath(projectRoot: string): string;
|
|
243
|
+
export interface EditReport {
|
|
244
|
+
readonly ok: boolean;
|
|
245
|
+
readonly dryRun: boolean;
|
|
246
|
+
readonly id?: string;
|
|
247
|
+
readonly previousText?: string;
|
|
248
|
+
readonly newText?: string;
|
|
249
|
+
readonly errors: string[];
|
|
250
|
+
readonly written: boolean;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Replace or extend ONE idea's text. Mirrors `transitionIdeas`' line discipline exactly: the file is
|
|
254
|
+
* split without discarding anything, every untouched line — including a line the parser cannot read —
|
|
255
|
+
* goes back BYTE-FOR-BYTE, and only the matched record's line is re-serialised. The store holds
|
|
256
|
+
* dozens of records; a whole-file JSON round-trip would reformat all of them to change one.
|
|
257
|
+
*/
|
|
258
|
+
export declare function editIdea(projectRoot: string, prefix: string, opts?: {
|
|
259
|
+
text?: string;
|
|
260
|
+
append?: string;
|
|
261
|
+
dryRun?: boolean;
|
|
262
|
+
nowIso?: string;
|
|
263
|
+
}): EditReport;
|
|
264
|
+
/** Clear the stale marker after a successful re-embed. Separate from `editIdea` because the re-embed
|
|
265
|
+
* is async and belongs to the caller; a marker cleared without a re-embed would be a lie. */
|
|
266
|
+
export declare function clearEmbedStale(projectRoot: string, id: string): boolean;
|
|
237
267
|
export type GitignoreAction = 'created' | 'appended' | 'already-covered' | 'user-opted-out' | 'skipped';
|
|
238
268
|
export interface GitignoreScaffold {
|
|
239
269
|
readonly action: GitignoreAction;
|
|
@@ -282,6 +312,11 @@ export interface DedupCandidate {
|
|
|
282
312
|
readonly id: string;
|
|
283
313
|
readonly cosine: number;
|
|
284
314
|
readonly containment?: number;
|
|
315
|
+
/** Set when the record's text was edited but its vector has not been rewritten yet (ADR-001,
|
|
316
|
+
* idea 1fde7bf6). Such a candidate is excluded from VECTOR candidacy — its cosine describes text
|
|
317
|
+
* the record no longer has. The exact-text net still applies: the marker degrades SIMILARITY,
|
|
318
|
+
* never IDENTITY. */
|
|
319
|
+
readonly embedStale?: boolean;
|
|
285
320
|
}
|
|
286
321
|
/**
|
|
287
322
|
* THE LOAD-BEARING CLASSIFIER (ADR-002 T-002a, two-signal since the register-inflation fix) — PURE.
|