@dzhechkov/harness-core 0.5.4 → 0.6.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/.dz-manifest.json +144 -36
- package/README.md +24 -1
- package/dist/amendment-trace.d.ts +98 -0
- package/dist/amendment-trace.d.ts.map +1 -0
- package/dist/amendment-trace.js +275 -0
- package/dist/amendment-trace.js.map +1 -0
- package/dist/feature-adr-checkpoints.d.ts +51 -0
- package/dist/feature-adr-checkpoints.d.ts.map +1 -1
- package/dist/feature-adr-checkpoints.js +63 -1
- package/dist/feature-adr-checkpoints.js.map +1 -1
- package/dist/feature-adr-routing.d.ts +437 -4
- package/dist/feature-adr-routing.d.ts.map +1 -1
- package/dist/feature-adr-routing.js +719 -6
- package/dist/feature-adr-routing.js.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/loop-blobs.generated.js +5 -5
- package/dist/loop-blobs.generated.js.map +1 -1
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +4 -1
- package/dist/patterns.js.map +1 -1
- package/dist/run-records.d.ts +66 -0
- package/dist/run-records.d.ts.map +1 -0
- package/dist/run-records.js +169 -0
- package/dist/run-records.js.map +1 -0
- package/package.json +5 -5
- package/sbom.json +311 -41
- package/src/amendment-trace.ts +348 -0
- package/src/feature-adr-checkpoints.ts +74 -1
- package/src/feature-adr-routing.ts +851 -6
- package/src/index.ts +76 -1
- package/src/loop-blobs.generated.ts +5 -5
- package/src/patterns.ts +4 -1
- package/src/run-records.ts +220 -0
package/.dz-manifest.json
CHANGED
|
@@ -5,15 +5,11 @@
|
|
|
5
5
|
"files": [
|
|
6
6
|
{
|
|
7
7
|
"path": "CHANGELOG.md",
|
|
8
|
-
"sha256": "
|
|
8
|
+
"sha256": "2ba0bb6639cdc6918fa61ec15a344e9a97988e6a212cc6d9b5c67364307a7359"
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"path": "README.md",
|
|
12
|
-
"sha256": "
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"path": "coverage/.tmp/coverage-0.json",
|
|
16
|
-
"sha256": "7d9ddf585a3cec04412ed70c7c0356a52b051f70ecf2cabda78bbb980c468968"
|
|
12
|
+
"sha256": "3d0f40f8e46f15d06ed65efa568ad9f34c36c519c468db401663d8a3badbb734"
|
|
17
13
|
},
|
|
18
14
|
{
|
|
19
15
|
"path": "dist/__tests__/golden-baseline.test.d.ts",
|
|
@@ -63,6 +59,22 @@
|
|
|
63
59
|
"path": "dist/agents-policy.js.map",
|
|
64
60
|
"sha256": "08d5c8fe8b5dd9b0d75b382433de8356cf54c41e0b10b028d9a910817e44de72"
|
|
65
61
|
},
|
|
62
|
+
{
|
|
63
|
+
"path": "dist/amendment-trace.d.ts",
|
|
64
|
+
"sha256": "5e38fdb88bf848eaf045f7e8450bd7584dedd89c957d6bcbf3f33688acd59ae8"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"path": "dist/amendment-trace.d.ts.map",
|
|
68
|
+
"sha256": "823cd1ec281dc9e4a368b147413379e3ba6e343b7240acc233affd64eebc04a4"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"path": "dist/amendment-trace.js",
|
|
72
|
+
"sha256": "36373fe71098e0a73fbffa08d0732ab5da526293f0c804c08a4aa6f9cd20c905"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"path": "dist/amendment-trace.js.map",
|
|
76
|
+
"sha256": "4c14ec5efa950f7b13537ccce4c7cc80cb2a54af53760474856153f771407681"
|
|
77
|
+
},
|
|
66
78
|
{
|
|
67
79
|
"path": "dist/apply.d.ts",
|
|
68
80
|
"sha256": "a243a1629c4106584d96fc6496d113a2e298125375bc5cc35338ba500420dd67"
|
|
@@ -497,19 +509,19 @@
|
|
|
497
509
|
},
|
|
498
510
|
{
|
|
499
511
|
"path": "dist/feature-adr-checkpoints.d.ts",
|
|
500
|
-
"sha256": "
|
|
512
|
+
"sha256": "13d7d90d33f6c30498b397f34c32d095bdc91e407901a51a9ccdf40a56c60124"
|
|
501
513
|
},
|
|
502
514
|
{
|
|
503
515
|
"path": "dist/feature-adr-checkpoints.d.ts.map",
|
|
504
|
-
"sha256": "
|
|
516
|
+
"sha256": "bd89f5965d7437b4cef069a9a34cec1ab9f6cee40acde29cdba3fd4a18f27422"
|
|
505
517
|
},
|
|
506
518
|
{
|
|
507
519
|
"path": "dist/feature-adr-checkpoints.js",
|
|
508
|
-
"sha256": "
|
|
520
|
+
"sha256": "2738a809f3910c7aebc595fc0140d77a8ce5a258036dd318ce05053066c5f07a"
|
|
509
521
|
},
|
|
510
522
|
{
|
|
511
523
|
"path": "dist/feature-adr-checkpoints.js.map",
|
|
512
|
-
"sha256": "
|
|
524
|
+
"sha256": "bdeac6f879ab1695a11bb2323dc03ba4fa25dd7bd6da19e47208a69df33576f5"
|
|
513
525
|
},
|
|
514
526
|
{
|
|
515
527
|
"path": "dist/feature-adr-claim-gate.d.ts",
|
|
@@ -529,19 +541,19 @@
|
|
|
529
541
|
},
|
|
530
542
|
{
|
|
531
543
|
"path": "dist/feature-adr-routing.d.ts",
|
|
532
|
-
"sha256": "
|
|
544
|
+
"sha256": "a70af15e057ac643df6345a237c58bb3fb4b72f6707588eda3a93258394f78d0"
|
|
533
545
|
},
|
|
534
546
|
{
|
|
535
547
|
"path": "dist/feature-adr-routing.d.ts.map",
|
|
536
|
-
"sha256": "
|
|
548
|
+
"sha256": "d19ee6f3753d3c715ae71113d85ca1349b04a6c31c72cb7593ab5c59adb174cb"
|
|
537
549
|
},
|
|
538
550
|
{
|
|
539
551
|
"path": "dist/feature-adr-routing.js",
|
|
540
|
-
"sha256": "
|
|
552
|
+
"sha256": "a2f73174d723a7b60292197d84d4b5ffdccf64eeb030b83594928cae45265bba"
|
|
541
553
|
},
|
|
542
554
|
{
|
|
543
555
|
"path": "dist/feature-adr-routing.js.map",
|
|
544
|
-
"sha256": "
|
|
556
|
+
"sha256": "cc1df1420b813207fbd9a3cdaae1c3d8db38b1c85c45472c2e132058c7ca6d72"
|
|
545
557
|
},
|
|
546
558
|
{
|
|
547
559
|
"path": "dist/feature-adr-setup.d.ts",
|
|
@@ -609,19 +621,19 @@
|
|
|
609
621
|
},
|
|
610
622
|
{
|
|
611
623
|
"path": "dist/index.d.ts",
|
|
612
|
-
"sha256": "
|
|
624
|
+
"sha256": "417b6de4c4bc836d72513abd1893e6dd84e58fabd85fb3795e2b2bb0f2e89baf"
|
|
613
625
|
},
|
|
614
626
|
{
|
|
615
627
|
"path": "dist/index.d.ts.map",
|
|
616
|
-
"sha256": "
|
|
628
|
+
"sha256": "560c4441d001498a8a1170225b0e766b24ecc95cb2a133ed155f47fbfc555cbf"
|
|
617
629
|
},
|
|
618
630
|
{
|
|
619
631
|
"path": "dist/index.js",
|
|
620
|
-
"sha256": "
|
|
632
|
+
"sha256": "9fa573d21a2aad30341127e8d146fa6338e1e6d2706075971e19b852db2cdc8a"
|
|
621
633
|
},
|
|
622
634
|
{
|
|
623
635
|
"path": "dist/index.js.map",
|
|
624
|
-
"sha256": "
|
|
636
|
+
"sha256": "adf38e34c552a57ac39760f5782b184ab465298a4505110b4e951c66a02da7e1"
|
|
625
637
|
},
|
|
626
638
|
{
|
|
627
639
|
"path": "dist/learning-backend.d.ts",
|
|
@@ -649,11 +661,11 @@
|
|
|
649
661
|
},
|
|
650
662
|
{
|
|
651
663
|
"path": "dist/loop-blobs.generated.js",
|
|
652
|
-
"sha256": "
|
|
664
|
+
"sha256": "d74b846c3c6ca61b457a177719a0481e0c62760c4c106e9571c801ae178b4cf0"
|
|
653
665
|
},
|
|
654
666
|
{
|
|
655
667
|
"path": "dist/loop-blobs.generated.js.map",
|
|
656
|
-
"sha256": "
|
|
668
|
+
"sha256": "c35d17990746480a66c9e34d6fa017b44bd233817cf2c798dc3bcd9ee62c7598"
|
|
657
669
|
},
|
|
658
670
|
{
|
|
659
671
|
"path": "dist/loop-lint.d.ts",
|
|
@@ -901,15 +913,15 @@
|
|
|
901
913
|
},
|
|
902
914
|
{
|
|
903
915
|
"path": "dist/patterns.d.ts.map",
|
|
904
|
-
"sha256": "
|
|
916
|
+
"sha256": "6cb5a710dcc1d1ca1bb8fa9350c9751da58b6bc8cf48688eb191574cd1e84cf5"
|
|
905
917
|
},
|
|
906
918
|
{
|
|
907
919
|
"path": "dist/patterns.js",
|
|
908
|
-
"sha256": "
|
|
920
|
+
"sha256": "15992b9d7a69a2b91597aaa05901a1656fdcbed54dfa23ffc9d78f25432ead48"
|
|
909
921
|
},
|
|
910
922
|
{
|
|
911
923
|
"path": "dist/patterns.js.map",
|
|
912
|
-
"sha256": "
|
|
924
|
+
"sha256": "c0bdd22f1dede62cc6cc0efa644d4a59bbcf69fbe69a95c13fcd313fda4b1851"
|
|
913
925
|
},
|
|
914
926
|
{
|
|
915
927
|
"path": "dist/plugin.d.ts",
|
|
@@ -1183,6 +1195,22 @@
|
|
|
1183
1195
|
"path": "dist/routing-outcomes.js.map",
|
|
1184
1196
|
"sha256": "c369e33d38ea564f5a59fc0a90fa34fecfc90f2f25c87dfb153dfe20f0b0e0de"
|
|
1185
1197
|
},
|
|
1198
|
+
{
|
|
1199
|
+
"path": "dist/run-records.d.ts",
|
|
1200
|
+
"sha256": "f53f7fba2d81cb1b71127781ca879fb0f8dd4e91f9a21c0230b68c20c4aa6df0"
|
|
1201
|
+
},
|
|
1202
|
+
{
|
|
1203
|
+
"path": "dist/run-records.d.ts.map",
|
|
1204
|
+
"sha256": "c10fc92fda6183599b92abcdf2933ee8408f026ac73a4e8252ac36b693c18545"
|
|
1205
|
+
},
|
|
1206
|
+
{
|
|
1207
|
+
"path": "dist/run-records.js",
|
|
1208
|
+
"sha256": "a88eb998f172e893bd6bcf800e8a2954fd6ca53e4d7b05730748276d23d8e7f0"
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"path": "dist/run-records.js.map",
|
|
1212
|
+
"sha256": "f1219ebf7414b0a8fcf88510b76f9bb82c9580637ef8863e7e02f10409c0c432"
|
|
1213
|
+
},
|
|
1186
1214
|
{
|
|
1187
1215
|
"path": "dist/safla-delta.d.ts",
|
|
1188
1216
|
"sha256": "9fb8db73445acb7af089880d38222dd4a706f58416943893a090aa3f44199ef3"
|
|
@@ -1553,7 +1581,11 @@
|
|
|
1553
1581
|
},
|
|
1554
1582
|
{
|
|
1555
1583
|
"path": "package.json",
|
|
1556
|
-
"sha256": "
|
|
1584
|
+
"sha256": "a79b206556e86f770f3d5e89aea516cf0117402f2cf0505466e2228559a2075c"
|
|
1585
|
+
},
|
|
1586
|
+
{
|
|
1587
|
+
"path": "scripts/refuse-wrong-publisher.mjs",
|
|
1588
|
+
"sha256": "08bc189534281dd5421e941bd90b14b139dfd3b1dbf3125c9e7f0cf8db8c5add"
|
|
1557
1589
|
},
|
|
1558
1590
|
{
|
|
1559
1591
|
"path": "src/__tests__/golden-baseline.test.ts",
|
|
@@ -1567,6 +1599,10 @@
|
|
|
1567
1599
|
"path": "src/agents-policy.ts",
|
|
1568
1600
|
"sha256": "1b5bc614dfa670f2c341f926b399300278a3b52a7bf1b6de9239b38c1d7c31e0"
|
|
1569
1601
|
},
|
|
1602
|
+
{
|
|
1603
|
+
"path": "src/amendment-trace.ts",
|
|
1604
|
+
"sha256": "547ee200ce8d1f8c9907dcadc39a0ed386dd5a5491d3f6797e94c20a3a160c64"
|
|
1605
|
+
},
|
|
1570
1606
|
{
|
|
1571
1607
|
"path": "src/apply.ts",
|
|
1572
1608
|
"sha256": "8c98d14157ac6205887b9b64843960e90870de396963da92ee7e19bba264dba0"
|
|
@@ -1677,7 +1713,7 @@
|
|
|
1677
1713
|
},
|
|
1678
1714
|
{
|
|
1679
1715
|
"path": "src/feature-adr-checkpoints.ts",
|
|
1680
|
-
"sha256": "
|
|
1716
|
+
"sha256": "92b50c6987a9dc04a7a81608df6f819ee759c86d68498adf7b51ff7459c77d5f"
|
|
1681
1717
|
},
|
|
1682
1718
|
{
|
|
1683
1719
|
"path": "src/feature-adr-claim-gate.ts",
|
|
@@ -1685,7 +1721,7 @@
|
|
|
1685
1721
|
},
|
|
1686
1722
|
{
|
|
1687
1723
|
"path": "src/feature-adr-routing.ts",
|
|
1688
|
-
"sha256": "
|
|
1724
|
+
"sha256": "026f0bff646597899fcbb167066e44c0f474896de766da484231cf3f2aeeb8d8"
|
|
1689
1725
|
},
|
|
1690
1726
|
{
|
|
1691
1727
|
"path": "src/feature-adr-setup.ts",
|
|
@@ -1705,7 +1741,7 @@
|
|
|
1705
1741
|
},
|
|
1706
1742
|
{
|
|
1707
1743
|
"path": "src/index.ts",
|
|
1708
|
-
"sha256": "
|
|
1744
|
+
"sha256": "f53403a6ae47ca25e436a2fcba9566baa895110132a975f4ce62465db932c0ee"
|
|
1709
1745
|
},
|
|
1710
1746
|
{
|
|
1711
1747
|
"path": "src/learning-backend.ts",
|
|
@@ -1713,7 +1749,7 @@
|
|
|
1713
1749
|
},
|
|
1714
1750
|
{
|
|
1715
1751
|
"path": "src/loop-blobs.generated.ts",
|
|
1716
|
-
"sha256": "
|
|
1752
|
+
"sha256": "60d25e8153ca6399e5e56b01db31b089001af84eec38e1f9082c1b16f6aa863d"
|
|
1717
1753
|
},
|
|
1718
1754
|
{
|
|
1719
1755
|
"path": "src/loop-lint.ts",
|
|
@@ -1777,7 +1813,7 @@
|
|
|
1777
1813
|
},
|
|
1778
1814
|
{
|
|
1779
1815
|
"path": "src/patterns.ts",
|
|
1780
|
-
"sha256": "
|
|
1816
|
+
"sha256": "9dbc7e3c2746fae37fb481fc153244106071a6da47948e6a7ee6c287f2249416"
|
|
1781
1817
|
},
|
|
1782
1818
|
{
|
|
1783
1819
|
"path": "src/plugin.ts",
|
|
@@ -1843,6 +1879,10 @@
|
|
|
1843
1879
|
"path": "src/routing-outcomes.ts",
|
|
1844
1880
|
"sha256": "66cce181b105b6add863e52f2d9364166f75d95a2e26e48995dbbdb20d8e66dd"
|
|
1845
1881
|
},
|
|
1882
|
+
{
|
|
1883
|
+
"path": "src/run-records.ts",
|
|
1884
|
+
"sha256": "8a000d7ecd6d729b2e5547e12d098ed9f16bd3c27d456e0589130147b2385126"
|
|
1885
|
+
},
|
|
1846
1886
|
{
|
|
1847
1887
|
"path": "src/safla-delta.ts",
|
|
1848
1888
|
"sha256": "55d46a4d2068fc99c4606d744e861c19a1004148d2c7679537ff4862fc38db84"
|
|
@@ -1955,6 +1995,10 @@
|
|
|
1955
1995
|
"path": "test/agents-policy.test.ts",
|
|
1956
1996
|
"sha256": "5977d534adbab0d3b8820eb7341b00b03e10748f895e0383c1d30508fde0e771"
|
|
1957
1997
|
},
|
|
1998
|
+
{
|
|
1999
|
+
"path": "test/amendment-trace.test.ts",
|
|
2000
|
+
"sha256": "fade5a0516b626154a936230ac7f001af048c02e91f338b44270e51a9e81fffd"
|
|
2001
|
+
},
|
|
1958
2002
|
{
|
|
1959
2003
|
"path": "test/apply.test.ts",
|
|
1960
2004
|
"sha256": "9aa54b1dc6b372ad7e81783a8af8fe88dde64c653f801aaa565e2f363135e350"
|
|
@@ -2027,6 +2071,14 @@
|
|
|
2027
2071
|
"path": "test/challenge-panel.test.ts",
|
|
2028
2072
|
"sha256": "d3bf505cebb9ae99a8f703202b84089a2ac02a9dca99cfbf7d5aa13ec15f0e6c"
|
|
2029
2073
|
},
|
|
2074
|
+
{
|
|
2075
|
+
"path": "test/change-set-probe.test.ts",
|
|
2076
|
+
"sha256": "24a968aa313fcd7381134ea8df05f011d0529b6c5146f7769c6e6d1ab17ff93d"
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
"path": "test/checkpoint-witness.test.ts",
|
|
2080
|
+
"sha256": "f55d4f5a096e201ef305e46e320123a690a218d1bc67b5505d5fa5aa3f8131f8"
|
|
2081
|
+
},
|
|
2030
2082
|
{
|
|
2031
2083
|
"path": "test/claim-check-hook.test.ts",
|
|
2032
2084
|
"sha256": "ecba6a440df8ff65d91acff7032055bf650505a34badead451437b338e85d1db"
|
|
@@ -2055,6 +2107,10 @@
|
|
|
2055
2107
|
"path": "test/codex-hooks.test.ts",
|
|
2056
2108
|
"sha256": "56e5c250b79144112ea87c51518bd0cfc9b370af211532495067ebfcad08cbf6"
|
|
2057
2109
|
},
|
|
2110
|
+
{
|
|
2111
|
+
"path": "test/codex-scoped-review.test.ts",
|
|
2112
|
+
"sha256": "34414570dac7fd1fe762f2b64a6d498334b9944200dbfbcbdcc22b43b596df44"
|
|
2113
|
+
},
|
|
2058
2114
|
{
|
|
2059
2115
|
"path": "test/compounding.test.ts",
|
|
2060
2116
|
"sha256": "89265131de29a2841e73068e4be256e1cbe7bd8dbd0c8eacc79039626b41e6f0"
|
|
@@ -2071,6 +2127,10 @@
|
|
|
2071
2127
|
"path": "test/create-skill.test.ts",
|
|
2072
2128
|
"sha256": "a1bab596365fe922cc61bb98d0c417c11125e09ef57450456e56ccb573cfb1d5"
|
|
2073
2129
|
},
|
|
2130
|
+
{
|
|
2131
|
+
"path": "test/cross-family-qe.test.ts",
|
|
2132
|
+
"sha256": "a4fe45f891d874933158428f15f54da81a715f6c06f1c0b47ef6cfb67609bcb1"
|
|
2133
|
+
},
|
|
2074
2134
|
{
|
|
2075
2135
|
"path": "test/cross-lingual-e2e.test.ts",
|
|
2076
2136
|
"sha256": "2299bf8b39c72a2c23c35a27981a271f8278429c0119b083adb204e1839da5e6"
|
|
@@ -2089,7 +2149,7 @@
|
|
|
2089
2149
|
},
|
|
2090
2150
|
{
|
|
2091
2151
|
"path": "test/discrimination-gate.test.ts",
|
|
2092
|
-
"sha256": "
|
|
2152
|
+
"sha256": "00a66584bc9218cb6429542e6984b77eb6814eb8f4c80def8b514761322ae050"
|
|
2093
2153
|
},
|
|
2094
2154
|
{
|
|
2095
2155
|
"path": "test/distinct-lesson-never-lost.test.ts",
|
|
@@ -2119,13 +2179,17 @@
|
|
|
2119
2179
|
"path": "test/feature-adr-adr-fitness.test.ts",
|
|
2120
2180
|
"sha256": "a605d48712ca69fcfc40d0c11aeed5a8981bde0a29859a5f3be9da235d085746"
|
|
2121
2181
|
},
|
|
2182
|
+
{
|
|
2183
|
+
"path": "test/feature-adr-artifact-probe.test.ts",
|
|
2184
|
+
"sha256": "2243fc62d1518004ff0309e8c13aa0e06b51f6759233bbf990c4870de032e0fe"
|
|
2185
|
+
},
|
|
2122
2186
|
{
|
|
2123
2187
|
"path": "test/feature-adr-brain.test.ts",
|
|
2124
2188
|
"sha256": "f131290294c1da977c621842e65c0dc560643720c6b5d49fd6aead2d9270bf74"
|
|
2125
2189
|
},
|
|
2126
2190
|
{
|
|
2127
2191
|
"path": "test/feature-adr-checkpoints.test.ts",
|
|
2128
|
-
"sha256": "
|
|
2192
|
+
"sha256": "a644493843c097aeada5fc455ccdf063688761bcfa91e9a6f6423a96811034b3"
|
|
2129
2193
|
},
|
|
2130
2194
|
{
|
|
2131
2195
|
"path": "test/feature-adr-claim-gate.test.ts",
|
|
@@ -2133,11 +2197,19 @@
|
|
|
2133
2197
|
},
|
|
2134
2198
|
{
|
|
2135
2199
|
"path": "test/feature-adr-codex-dispatch.test.ts",
|
|
2136
|
-
"sha256": "
|
|
2200
|
+
"sha256": "756d443892354a11abe1c405368b5f038bd39cea03efe55f98f23eac6db96451"
|
|
2201
|
+
},
|
|
2202
|
+
{
|
|
2203
|
+
"path": "test/feature-adr-design-fan-amplification.test.ts",
|
|
2204
|
+
"sha256": "9a739da5bbe8c2fb70971d00d51027004c3f59f2c28a12397e0fa594f53d7179"
|
|
2205
|
+
},
|
|
2206
|
+
{
|
|
2207
|
+
"path": "test/feature-adr-design-fan-resume.test.ts",
|
|
2208
|
+
"sha256": "1bf2c8524bd2cf0ff390907780a86f10aaa8656a41ec9967aa295a7a94c078cc"
|
|
2137
2209
|
},
|
|
2138
2210
|
{
|
|
2139
2211
|
"path": "test/feature-adr-model-routing.test.ts",
|
|
2140
|
-
"sha256": "
|
|
2212
|
+
"sha256": "19fda071984ef60634c1be53bc04c1c4a531c7d987810a8b310c477cab02942e"
|
|
2141
2213
|
},
|
|
2142
2214
|
{
|
|
2143
2215
|
"path": "test/feature-adr-setup.test.ts",
|
|
@@ -2149,7 +2221,7 @@
|
|
|
2149
2221
|
},
|
|
2150
2222
|
{
|
|
2151
2223
|
"path": "test/feature-adr-training-pairs.test.ts",
|
|
2152
|
-
"sha256": "
|
|
2224
|
+
"sha256": "0e4a7317554dd78d87d729374e21a34c7519075e9ac4547e3de0d06f774fa35d"
|
|
2153
2225
|
},
|
|
2154
2226
|
{
|
|
2155
2227
|
"path": "test/feature-adr-workflow-twin-drift.test.ts",
|
|
@@ -2171,6 +2243,18 @@
|
|
|
2171
2243
|
"path": "test/fixtures/agents-md-hand-authored-90e3a7cc.md",
|
|
2172
2244
|
"sha256": "ef9a0dd753cef2b88222e8ebef738c22838bbc5839228afed0a20384acfcffc5"
|
|
2173
2245
|
},
|
|
2246
|
+
{
|
|
2247
|
+
"path": "test/fixtures/codex-review-2026-08-21.txt",
|
|
2248
|
+
"sha256": "d6c2a91af0f58350427dcfbaebef371aa484eb8007192109af84d32762b00a6a"
|
|
2249
|
+
},
|
|
2250
|
+
{
|
|
2251
|
+
"path": "test/fixtures/codex-review-empty-scope-2026-08-21.txt",
|
|
2252
|
+
"sha256": "4a35f4d302ed3c5d6bf25b85da5cab8e9a4be1aac163b0f4fc9d3cad9072b387"
|
|
2253
|
+
},
|
|
2254
|
+
{
|
|
2255
|
+
"path": "test/fixtures/codex-review-selfreview-slices-2026-08-21.txt",
|
|
2256
|
+
"sha256": "371404deb86510c725dd989540efcbbf21f00dc020f0c2ecce51281a63df534b"
|
|
2257
|
+
},
|
|
2174
2258
|
{
|
|
2175
2259
|
"path": "test/fixtures/loop-lint/seeds/seed-1-sandbox-date-now.js",
|
|
2176
2260
|
"sha256": "dbb8111aae91b81d8a04fe9f2ae510da7ebbe08307caeae12c7a330c88e306fe"
|
|
@@ -2359,6 +2443,10 @@
|
|
|
2359
2443
|
"path": "test/mcp-scan.test.ts",
|
|
2360
2444
|
"sha256": "b4a7bc34cebbcece40c3e245fecb186abbc567768f6312c22a0eb5be62a99b5e"
|
|
2361
2445
|
},
|
|
2446
|
+
{
|
|
2447
|
+
"path": "test/mode-b-scope.test.ts",
|
|
2448
|
+
"sha256": "1d03efb58161c9dcc4bf40f1c834777ccc57dc037afa5f9755d1c353aabeb991"
|
|
2449
|
+
},
|
|
2362
2450
|
{
|
|
2363
2451
|
"path": "test/model-recommender.test.ts",
|
|
2364
2452
|
"sha256": "195af86db8248e128ff7bb0967c562471ae14379a125099dcd2bfacce0575086"
|
|
@@ -2369,7 +2457,7 @@
|
|
|
2369
2457
|
},
|
|
2370
2458
|
{
|
|
2371
2459
|
"path": "test/mutation-registry.json",
|
|
2372
|
-
"sha256": "
|
|
2460
|
+
"sha256": "1ff947d1a906c8a5b3e40ee05f953e7c90cd4b6d52c2c6edb57e877ce06596bd"
|
|
2373
2461
|
},
|
|
2374
2462
|
{
|
|
2375
2463
|
"path": "test/named-lock.test.ts",
|
|
@@ -2395,6 +2483,14 @@
|
|
|
2395
2483
|
"path": "test/parity.test.ts",
|
|
2396
2484
|
"sha256": "cc2210ec7ba3eae674d3d6c4f93e3e770a5950dbed30d98a03963f6fba0f6d8e"
|
|
2397
2485
|
},
|
|
2486
|
+
{
|
|
2487
|
+
"path": "test/partition-findings.test.ts",
|
|
2488
|
+
"sha256": "5ba94ba0c9d7d74c3846de2073ed8186c69fd68e7575ccb93099dfb7579a47de"
|
|
2489
|
+
},
|
|
2490
|
+
{
|
|
2491
|
+
"path": "test/pattern-boost-unicode.test.ts",
|
|
2492
|
+
"sha256": "bb3716152de8c062b66f8f8ab0333c7d96a57863dd89f1bcfc9565f5b240f8c1"
|
|
2493
|
+
},
|
|
2398
2494
|
{
|
|
2399
2495
|
"path": "test/patterns.test.ts",
|
|
2400
2496
|
"sha256": "2eac0dd5b93e6fe737faf6df5cc3e07eb9e551de8af1cc655e8ad4bec7652900"
|
|
@@ -2415,6 +2511,10 @@
|
|
|
2415
2511
|
"path": "test/publish-provenance.test.ts",
|
|
2416
2512
|
"sha256": "03678342819735e2c9566a954a1bf8381220354ad7c938d3b7247072ec17cefd"
|
|
2417
2513
|
},
|
|
2514
|
+
{
|
|
2515
|
+
"path": "test/publisher-guard.test.ts",
|
|
2516
|
+
"sha256": "bb065e8d63186c13861f8cf55ada96ed6415b63a3ba7d6a5957cb47c6c72ab94"
|
|
2517
|
+
},
|
|
2418
2518
|
{
|
|
2419
2519
|
"path": "test/qe-bridge.test.ts",
|
|
2420
2520
|
"sha256": "89c451f0026f5709c19d9c74506ac1eb44f312b3c9c49e48cf81a690d61ab9d2"
|
|
@@ -2463,6 +2563,10 @@
|
|
|
2463
2563
|
"path": "test/routing-outcomes.test.ts",
|
|
2464
2564
|
"sha256": "bbc5c12f2bfcb246369f7428a5b22e64615e00174f08ba8d20f9d962ae8b43e8"
|
|
2465
2565
|
},
|
|
2566
|
+
{
|
|
2567
|
+
"path": "test/run-records.test.ts",
|
|
2568
|
+
"sha256": "8c7e65a5a881f67e2ba426c061f67131536902ec902741cc248a0b30d6963535"
|
|
2569
|
+
},
|
|
2466
2570
|
{
|
|
2467
2571
|
"path": "test/safla-delta.test.ts",
|
|
2468
2572
|
"sha256": "1669198eab1fdda44e137b19454a01954dc42ab7b059725dd056c836b06a5e3e"
|
|
@@ -2503,6 +2607,10 @@
|
|
|
2503
2607
|
"path": "test/statusline.test.ts",
|
|
2504
2608
|
"sha256": "7398a7c71ffb095c4ad03045f59955da309184e54ce096ad65a56a72e83afdb8"
|
|
2505
2609
|
},
|
|
2610
|
+
{
|
|
2611
|
+
"path": "test/step0-artifact.test.ts",
|
|
2612
|
+
"sha256": "72594c0ddc053f18e7b240cae4b07c61938ba245fd05cd7141dbbeb1a7447441"
|
|
2613
|
+
},
|
|
2506
2614
|
{
|
|
2507
2615
|
"path": "test/store-lock.test.ts",
|
|
2508
2616
|
"sha256": "8d7becb8cc3466ce3b6c63178e59199774f5e77c6056a363bd94e9a476dec410"
|
|
@@ -2621,5 +2729,5 @@
|
|
|
2621
2729
|
}
|
|
2622
2730
|
]
|
|
2623
2731
|
},
|
|
2624
|
-
"signature": "
|
|
2732
|
+
"signature": "ayMtdb4K1haW5FSmsdFKcmE7/Zotxm5U8C6R1Hja+BAGSb++7rAcB4r2T9B3m9Mhwzwnj9fY0H3DvZUTfRzvCg=="
|
|
2625
2733
|
}
|
package/README.md
CHANGED
|
@@ -206,7 +206,30 @@ pause or the file deliverable.
|
|
|
206
206
|
|
|
207
207
|
## Status
|
|
208
208
|
|
|
209
|
-
`0.
|
|
209
|
+
`0.6.1` — two new pure modules behind two new commands. `amendment-trace.ts` resolves every `AM-N`
|
|
210
|
+
amendment row to a test found INSIDE the file the row names — matched against the file's parsed TEST
|
|
211
|
+
TITLES, because whole-file matching was forgeable by two comment lines whose letters spell the id, and
|
|
212
|
+
because an existing FILE never stands in for an existing TEST. `run-records.ts` decides whether a
|
|
213
|
+
run-cost row or a training pair may be written: it refuses bad JSON, a wrong-kind payload, an EMPTY
|
|
214
|
+
required field (an empty array or object is not "present"), a stage disagreement and an over-cap line;
|
|
215
|
+
it stamps the timestamp BEFORE serialising; and it treats a mark whose target is absent as STALE
|
|
216
|
+
rather than as a duplicate, because a run that died between taking the mark and writing must not lose
|
|
217
|
+
the record forever. **BEHAVIORAL:** the workflow's ledger and training-pair writers no longer hand a
|
|
218
|
+
subagent a pre-baked shell string — a malformed row is refused instead of appended.
|
|
219
|
+
|
|
220
|
+
**0.6.0** — **BEHAVIORAL:** `STAGE_ARTIFACTS.router` is `'00_complexity_assessment.md'`, was `null`, so a
|
|
221
|
+
consumer reading that constant now gets a filename. Step 0 owes a written artifact and its checkpoint
|
|
222
|
+
is witnessed by one; MEASURED 2026-08-21, 66 of 199 features carried that file and the last four in a
|
|
223
|
+
row did not, which is how a run's tier became unreadable while it was alive and how the K2 acid check
|
|
224
|
+
lost its input in silence. New: `ROUTER_CONTRACT_TOKEN` (a pre-contract router checkpoint can no
|
|
225
|
+
longer resume into the new contract), `crossFamilyQe` (a QE review that fell back to the coder's own
|
|
226
|
+
family reports the loss of independence instead of reading like a deliberate same-family review),
|
|
227
|
+
`decideModeBScope`, `partitionReviewFindings` (a finding whose location cannot be parsed is
|
|
228
|
+
`unlocatable` and stays in the graded set — it used to be filed as someone else's dirt),
|
|
229
|
+
`changeSetProbeCmd` / `parseHashProbe` / `changedFromHashes` (the QE change set is this run's DELTA,
|
|
230
|
+
not the tree's current dirt), and `decideCheckpointWrite`. Full detail in [CHANGELOG.md](CHANGELOG.md).
|
|
231
|
+
|
|
232
|
+
**0.5.4** — published (0.5.3 is deprecated: it was pushed with `npm publish`, which does not expand `workspace:*`, so it cannot be installed). **BEHAVIORAL:** `decideDesignFanResume` takes the design fan's LIVE results, not
|
|
210
233
|
the start-of-run checkpoint snapshot, and gained `artifacts` + `postRunListing`; `CKPT_SCHEMA_VERSION`
|
|
211
234
|
is `fa-ckpt-3`, so every existing `.fa-state/checkpoints.jsonl` reads as no checkpoint and each
|
|
212
235
|
in-flight feature re-runs router+design+plan once. Adds the per-sibling design checkpoint above and
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Amendment traceability — the deterministic half of the Step-8 amendment gate (ADR-001).
|
|
3
|
+
*
|
|
4
|
+
* The gate used to be a paragraph of prompt text asking the QE agent to confirm that every `AM-N`
|
|
5
|
+
* row names a real test. That is layer 4 on the cost-of-detection ladder, and the recalled lesson at
|
|
6
|
+
* reward 1.00 says what happens next: a safety property that lives only in a prompt disappears with
|
|
7
|
+
* the next prompt. `features/qe-scoped-review/08_qe_report.md` recorded the outcome — five ids named,
|
|
8
|
+
* none existing, and the plan writing `## Amendments: None`.
|
|
9
|
+
*
|
|
10
|
+
* Everything here is PURE: text in, verdicts out, file access through an injected reader (NFR-1).
|
|
11
|
+
* The CLI owns I/O and the exit code; this module owns the grammar and the rules.
|
|
12
|
+
*
|
|
13
|
+
* NOT PROVEN HERE: that a resolved test is non-vacuous. `dz discrimination-check` owns "would this
|
|
14
|
+
* test still pass with the protection deleted" (non-goal NG-1, acid case A8). A checker that implied
|
|
15
|
+
* it proved vacuity would be the same lie in a new place.
|
|
16
|
+
*/
|
|
17
|
+
/** One `AM-N` row as it appears in a `## Amendments` section. */
|
|
18
|
+
export interface AmendmentRow {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly testIds: readonly string[];
|
|
21
|
+
readonly file: string | null;
|
|
22
|
+
readonly raw: string;
|
|
23
|
+
}
|
|
24
|
+
export type AmendmentVerdict = 'resolved' | 'placeholder' | 'unnamed' | 'no-file-named' | 'file-missing' | 'name-absent-in-file';
|
|
25
|
+
export interface AmendmentResolution {
|
|
26
|
+
readonly id: string;
|
|
27
|
+
readonly testId: string | null;
|
|
28
|
+
readonly file: string | null;
|
|
29
|
+
readonly verdict: AmendmentVerdict;
|
|
30
|
+
readonly detail: string;
|
|
31
|
+
}
|
|
32
|
+
export type AmendmentOutcome = 'pass' | 'fail' | 'skip' | 'not-established';
|
|
33
|
+
export interface AmendmentDecision {
|
|
34
|
+
readonly outcome: AmendmentOutcome;
|
|
35
|
+
/** Derived FROM the outcome — one mapping, never two (AM-3, acid case A3/A7). */
|
|
36
|
+
readonly exit: 0 | 1 | 3;
|
|
37
|
+
readonly reasons: readonly string[];
|
|
38
|
+
readonly counts: Readonly<Record<AmendmentVerdict, number>>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Below this many normalised characters an id is too short to match anything meaningfully: the
|
|
42
|
+
* substring rule ADR-002 accepts would fire on unrelated prose. Guards the degenerate case the ADR
|
|
43
|
+
* names as its known false-positive risk.
|
|
44
|
+
*/
|
|
45
|
+
export declare const MIN_MATCHABLE_ID_LENGTH = 8;
|
|
46
|
+
/** Case- and separator-folded form. Authors write ids in prose (`a_b_c`); test titles are sentences. */
|
|
47
|
+
/**
|
|
48
|
+
* Every `it()` / `test()` / `describe()` title in a test file. Empty when none parse.
|
|
49
|
+
*
|
|
50
|
+
* Comments are stripped FIRST. A commented-out `it('deny admin writes')` is not a test, and counting
|
|
51
|
+
* it would leave open the very forgery the title basis exists to close — the cross-family reviewer's
|
|
52
|
+
* two-comment-line attack in a slightly better costume. Table forms (`test.each([…])('…')`) carry an
|
|
53
|
+
* argument list between the modifier and the title, so the pattern allows one.
|
|
54
|
+
*/
|
|
55
|
+
export declare function extractTestTitles(body: string): string[];
|
|
56
|
+
export declare function normalizeTestId(s: string): string;
|
|
57
|
+
/** The `## Amendments` section body, or null when the document has none (acid case A5). */
|
|
58
|
+
export declare function amendmentSection(md: string): string | null;
|
|
59
|
+
/** `## Amendments` present but recording nothing to check — distinct from the section being absent. */
|
|
60
|
+
export declare function planSaysNoAmendments(planMd: string): boolean;
|
|
61
|
+
export declare function parseAmendments(md: string): AmendmentRow[];
|
|
62
|
+
export declare function resolveAmendments(rows: readonly AmendmentRow[], opts: {
|
|
63
|
+
readFile: (p: string) => string | null;
|
|
64
|
+
}): AmendmentResolution[];
|
|
65
|
+
export declare function decideAmendmentOutcome(input: {
|
|
66
|
+
sectionPresent: boolean;
|
|
67
|
+
rows: readonly AmendmentRow[];
|
|
68
|
+
resolutions: readonly AmendmentResolution[];
|
|
69
|
+
planSaysNone: boolean;
|
|
70
|
+
readError?: string | null;
|
|
71
|
+
/** Ideation amendments the plan fails to carry — absent, or reworded under the same id. */
|
|
72
|
+
missingFromPlan?: readonly {
|
|
73
|
+
id: string;
|
|
74
|
+
kind: 'dropped' | 'subject-changed';
|
|
75
|
+
}[];
|
|
76
|
+
}): AmendmentDecision;
|
|
77
|
+
/** The one line every caller reads last, in the K2 gate's own shape so the two read alike. */
|
|
78
|
+
export declare function amendmentVerdictLine(d: AmendmentDecision): string;
|
|
79
|
+
/** Printed on every run: this checker does NOT prove a resolved test discriminates (NG-1, A8). */
|
|
80
|
+
export declare const AMENDMENT_VACUITY_NOTE = "note: this checks that each amendment RESOLVES to a real test, not that the test is non-vacuous \u2014 `dz discrimination-check` owns vacuity.";
|
|
81
|
+
/**
|
|
82
|
+
* The amendment's own text with the `→ test …` pointer clause and markdown furniture removed — what
|
|
83
|
+
* "carry AM-N into the plan verbatim" is actually about. The POINTER may legitimately change (tests
|
|
84
|
+
* are named later than ideation guesses); the SUBJECT may not.
|
|
85
|
+
*/
|
|
86
|
+
export declare function amendmentSubject(raw: string): string;
|
|
87
|
+
export interface PlanCoverageGap {
|
|
88
|
+
readonly id: string;
|
|
89
|
+
readonly kind: 'dropped' | 'subject-changed';
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Ideation amendments the plan fails to carry: either absent outright, or present under the same id
|
|
93
|
+
* with a DIFFERENT subject. Cross-family review (Codex gpt-5.6-sol, 2026-08-21) found the second
|
|
94
|
+
* case: comparing ids alone let a plan swap "deny unauthenticated deletes" for "render footer" under
|
|
95
|
+
* the same `AM-1` and still pass.
|
|
96
|
+
*/
|
|
97
|
+
export declare function amendmentsMissingFromPlan(ideationRows: readonly AmendmentRow[], planRows: readonly AmendmentRow[]): PlanCoverageGap[];
|
|
98
|
+
//# sourceMappingURL=amendment-trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amendment-trace.d.ts","sourceRoot":"","sources":["../src/amendment-trace.ts"],"names":[],"mappings":"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"}
|