@dzhechkov/harness-core 0.8.5 → 0.8.6
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 +49 -49
- package/README.md +6 -1
- package/dist/feature-adr-checkpoints.d.ts +11 -2
- package/dist/feature-adr-checkpoints.d.ts.map +1 -1
- package/dist/feature-adr-checkpoints.js +37 -2
- package/dist/feature-adr-checkpoints.js.map +1 -1
- package/dist/feature-adr-routing.d.ts +56 -21
- package/dist/feature-adr-routing.d.ts.map +1 -1
- package/dist/feature-adr-routing.js +187 -58
- package/dist/feature-adr-routing.js.map +1 -1
- package/dist/guard.d.ts +25 -0
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +59 -1
- package/dist/guard.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loop-blobs.generated.js +8 -8
- package/dist/loop-blobs.generated.js.map +1 -1
- package/dist/loop-plan.d.ts +13 -1
- package/dist/loop-plan.d.ts.map +1 -1
- package/dist/loop-plan.js +15 -1
- package/dist/loop-plan.js.map +1 -1
- package/dist/loop-render.d.ts.map +1 -1
- package/dist/loop-render.js +51 -6
- package/dist/loop-render.js.map +1 -1
- package/dist/loop-trace.d.ts +20 -1
- package/dist/loop-trace.d.ts.map +1 -1
- package/dist/loop-trace.js +83 -1
- package/dist/loop-trace.js.map +1 -1
- package/dist/model-recommender.d.ts +8 -0
- package/dist/model-recommender.d.ts.map +1 -1
- package/dist/model-recommender.js +31 -4
- package/dist/model-recommender.js.map +1 -1
- package/dist/workflow-run.d.ts.map +1 -1
- package/dist/workflow-run.js +18 -12
- package/dist/workflow-run.js.map +1 -1
- package/package.json +18 -15
- package/sbom.json +48 -48
- package/src/feature-adr-checkpoints.ts +38 -2
- package/src/feature-adr-routing.ts +217 -54
- package/src/guard.ts +79 -1
- package/src/index.ts +2 -1
- package/src/loop-blobs.generated.ts +8 -8
- package/src/loop-plan.ts +36 -3
- package/src/loop-render.ts +50 -6
- package/src/loop-trace.ts +91 -2
- package/src/model-recommender.ts +35 -4
- package/src/workflow-run.ts +18 -11
package/sbom.json
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"hashes": [
|
|
26
26
|
{
|
|
27
27
|
"alg": "SHA-256",
|
|
28
|
-
"content": "
|
|
28
|
+
"content": "382e4947c1bc37ca3e5048246660c310ae09e5997d2fadb80f6ef75856073bc5"
|
|
29
29
|
}
|
|
30
30
|
]
|
|
31
31
|
},
|
|
@@ -1475,7 +1475,7 @@
|
|
|
1475
1475
|
"hashes": [
|
|
1476
1476
|
{
|
|
1477
1477
|
"alg": "SHA-256",
|
|
1478
|
-
"content": "
|
|
1478
|
+
"content": "1c8baf574260f4cc366e6ad80fc865a548b3d028a94f76b74d620e08eb1b00ec"
|
|
1479
1479
|
}
|
|
1480
1480
|
]
|
|
1481
1481
|
},
|
|
@@ -1485,7 +1485,7 @@
|
|
|
1485
1485
|
"hashes": [
|
|
1486
1486
|
{
|
|
1487
1487
|
"alg": "SHA-256",
|
|
1488
|
-
"content": "
|
|
1488
|
+
"content": "78ae4780eb6ccc91797b07513b2c16770a4f0003a4eb3441b43d4aec7ce8c737"
|
|
1489
1489
|
}
|
|
1490
1490
|
]
|
|
1491
1491
|
},
|
|
@@ -1495,7 +1495,7 @@
|
|
|
1495
1495
|
"hashes": [
|
|
1496
1496
|
{
|
|
1497
1497
|
"alg": "SHA-256",
|
|
1498
|
-
"content": "
|
|
1498
|
+
"content": "5b3e706b6a6e071f41dbc14a0964385ea4be08eb9183d72ece1d7e195776b8b4"
|
|
1499
1499
|
}
|
|
1500
1500
|
]
|
|
1501
1501
|
},
|
|
@@ -1505,7 +1505,7 @@
|
|
|
1505
1505
|
"hashes": [
|
|
1506
1506
|
{
|
|
1507
1507
|
"alg": "SHA-256",
|
|
1508
|
-
"content": "
|
|
1508
|
+
"content": "7af0824cd104bd7e07c305b36477a6db08f29929053d7ae3c4252665d45d44f6"
|
|
1509
1509
|
}
|
|
1510
1510
|
]
|
|
1511
1511
|
},
|
|
@@ -1555,7 +1555,7 @@
|
|
|
1555
1555
|
"hashes": [
|
|
1556
1556
|
{
|
|
1557
1557
|
"alg": "SHA-256",
|
|
1558
|
-
"content": "
|
|
1558
|
+
"content": "cf6c8e89e81c87114d6d8883fbce63d7f91223a10b497b505be4be39d403835c"
|
|
1559
1559
|
}
|
|
1560
1560
|
]
|
|
1561
1561
|
},
|
|
@@ -1565,7 +1565,7 @@
|
|
|
1565
1565
|
"hashes": [
|
|
1566
1566
|
{
|
|
1567
1567
|
"alg": "SHA-256",
|
|
1568
|
-
"content": "
|
|
1568
|
+
"content": "c07a6b16596d3ccf6956420dd40eb280d79dccbb3c185f9afde211b42c806732"
|
|
1569
1569
|
}
|
|
1570
1570
|
]
|
|
1571
1571
|
},
|
|
@@ -1575,7 +1575,7 @@
|
|
|
1575
1575
|
"hashes": [
|
|
1576
1576
|
{
|
|
1577
1577
|
"alg": "SHA-256",
|
|
1578
|
-
"content": "
|
|
1578
|
+
"content": "1d7aa45f87f6ce3939b076521d2499ce265bbcc7761e118ceae74e1017242bba"
|
|
1579
1579
|
}
|
|
1580
1580
|
]
|
|
1581
1581
|
},
|
|
@@ -1585,7 +1585,7 @@
|
|
|
1585
1585
|
"hashes": [
|
|
1586
1586
|
{
|
|
1587
1587
|
"alg": "SHA-256",
|
|
1588
|
-
"content": "
|
|
1588
|
+
"content": "078914845fa827767be134dd01e19eb1fa559a5256a754f907d4a5fb64892a83"
|
|
1589
1589
|
}
|
|
1590
1590
|
]
|
|
1591
1591
|
},
|
|
@@ -1675,7 +1675,7 @@
|
|
|
1675
1675
|
"hashes": [
|
|
1676
1676
|
{
|
|
1677
1677
|
"alg": "SHA-256",
|
|
1678
|
-
"content": "
|
|
1678
|
+
"content": "b6c0c33b112632f48e6d434bbe0cbda4a127aaf8d105c5f68fe51bc6106c28e5"
|
|
1679
1679
|
}
|
|
1680
1680
|
]
|
|
1681
1681
|
},
|
|
@@ -1685,7 +1685,7 @@
|
|
|
1685
1685
|
"hashes": [
|
|
1686
1686
|
{
|
|
1687
1687
|
"alg": "SHA-256",
|
|
1688
|
-
"content": "
|
|
1688
|
+
"content": "5db853d21550894135d7f44c1c2b2a1aa31cf5a8415a01dde204de71b447fcda"
|
|
1689
1689
|
}
|
|
1690
1690
|
]
|
|
1691
1691
|
},
|
|
@@ -1695,7 +1695,7 @@
|
|
|
1695
1695
|
"hashes": [
|
|
1696
1696
|
{
|
|
1697
1697
|
"alg": "SHA-256",
|
|
1698
|
-
"content": "
|
|
1698
|
+
"content": "7890ac7eb92aa2681f0f2a4e184c972cbd7e30b33a7b765c259fe2f780bbcc65"
|
|
1699
1699
|
}
|
|
1700
1700
|
]
|
|
1701
1701
|
},
|
|
@@ -1705,7 +1705,7 @@
|
|
|
1705
1705
|
"hashes": [
|
|
1706
1706
|
{
|
|
1707
1707
|
"alg": "SHA-256",
|
|
1708
|
-
"content": "
|
|
1708
|
+
"content": "1aab67adf2d593b0aaf43076ed19050d6df3a6ca72798357488330b8b733cbb3"
|
|
1709
1709
|
}
|
|
1710
1710
|
]
|
|
1711
1711
|
},
|
|
@@ -1755,7 +1755,7 @@
|
|
|
1755
1755
|
"hashes": [
|
|
1756
1756
|
{
|
|
1757
1757
|
"alg": "SHA-256",
|
|
1758
|
-
"content": "
|
|
1758
|
+
"content": "56428e6eed3911ba40410d47f4192c66368a74640146be2a4d2dcbce33a05bd8"
|
|
1759
1759
|
}
|
|
1760
1760
|
]
|
|
1761
1761
|
},
|
|
@@ -1765,7 +1765,7 @@
|
|
|
1765
1765
|
"hashes": [
|
|
1766
1766
|
{
|
|
1767
1767
|
"alg": "SHA-256",
|
|
1768
|
-
"content": "
|
|
1768
|
+
"content": "f1b031834062862d7b9897564d76206e8c9a03dba30a3ae72464df765b22d7f8"
|
|
1769
1769
|
}
|
|
1770
1770
|
]
|
|
1771
1771
|
},
|
|
@@ -1775,7 +1775,7 @@
|
|
|
1775
1775
|
"hashes": [
|
|
1776
1776
|
{
|
|
1777
1777
|
"alg": "SHA-256",
|
|
1778
|
-
"content": "
|
|
1778
|
+
"content": "47df588952b4fd7c2deb2107d1cae3c7eeacde3e53e717a805dc56b98b925334"
|
|
1779
1779
|
}
|
|
1780
1780
|
]
|
|
1781
1781
|
},
|
|
@@ -1785,7 +1785,7 @@
|
|
|
1785
1785
|
"hashes": [
|
|
1786
1786
|
{
|
|
1787
1787
|
"alg": "SHA-256",
|
|
1788
|
-
"content": "
|
|
1788
|
+
"content": "dab5eed08c0809aba7fb4a5ef59a6a6ead94fdd7adfea363aaa1f97740e7e3e0"
|
|
1789
1789
|
}
|
|
1790
1790
|
]
|
|
1791
1791
|
},
|
|
@@ -1975,7 +1975,7 @@
|
|
|
1975
1975
|
"hashes": [
|
|
1976
1976
|
{
|
|
1977
1977
|
"alg": "SHA-256",
|
|
1978
|
-
"content": "
|
|
1978
|
+
"content": "5571033c110ebc6f042ed3398efdf1ff268cae124f29d0b8c67ef9af69ca768c"
|
|
1979
1979
|
}
|
|
1980
1980
|
]
|
|
1981
1981
|
},
|
|
@@ -1985,7 +1985,7 @@
|
|
|
1985
1985
|
"hashes": [
|
|
1986
1986
|
{
|
|
1987
1987
|
"alg": "SHA-256",
|
|
1988
|
-
"content": "
|
|
1988
|
+
"content": "030ed14587756424df4802c72cdbb895042fa797a70106ed61445548d8eb7af7"
|
|
1989
1989
|
}
|
|
1990
1990
|
]
|
|
1991
1991
|
},
|
|
@@ -2075,7 +2075,7 @@
|
|
|
2075
2075
|
"hashes": [
|
|
2076
2076
|
{
|
|
2077
2077
|
"alg": "SHA-256",
|
|
2078
|
-
"content": "
|
|
2078
|
+
"content": "664cc1342c7ddd62c6653a6637897bc0bb26300f1bdf90249d74f3f8f3151ede"
|
|
2079
2079
|
}
|
|
2080
2080
|
]
|
|
2081
2081
|
},
|
|
@@ -2085,7 +2085,7 @@
|
|
|
2085
2085
|
"hashes": [
|
|
2086
2086
|
{
|
|
2087
2087
|
"alg": "SHA-256",
|
|
2088
|
-
"content": "
|
|
2088
|
+
"content": "de8a33dc5b46d23a8955aca6febdc53a859474177cf941607d0a03655bbcf1cd"
|
|
2089
2089
|
}
|
|
2090
2090
|
]
|
|
2091
2091
|
},
|
|
@@ -2095,7 +2095,7 @@
|
|
|
2095
2095
|
"hashes": [
|
|
2096
2096
|
{
|
|
2097
2097
|
"alg": "SHA-256",
|
|
2098
|
-
"content": "
|
|
2098
|
+
"content": "f47672a7583cba0d2e25a4151b15c55cc8b5e4198e213fd418eec49ed3399c38"
|
|
2099
2099
|
}
|
|
2100
2100
|
]
|
|
2101
2101
|
},
|
|
@@ -2105,7 +2105,7 @@
|
|
|
2105
2105
|
"hashes": [
|
|
2106
2106
|
{
|
|
2107
2107
|
"alg": "SHA-256",
|
|
2108
|
-
"content": "
|
|
2108
|
+
"content": "a81dabe39706dcaf609bbf60f3bf0de3d8ef63873a24b74214ac04b2ae29b7da"
|
|
2109
2109
|
}
|
|
2110
2110
|
]
|
|
2111
2111
|
},
|
|
@@ -2125,7 +2125,7 @@
|
|
|
2125
2125
|
"hashes": [
|
|
2126
2126
|
{
|
|
2127
2127
|
"alg": "SHA-256",
|
|
2128
|
-
"content": "
|
|
2128
|
+
"content": "939b3e0621aec5e5e3e504e8a53da702b166dd39ad806f78bbd1d674aa18a790"
|
|
2129
2129
|
}
|
|
2130
2130
|
]
|
|
2131
2131
|
},
|
|
@@ -2135,7 +2135,7 @@
|
|
|
2135
2135
|
"hashes": [
|
|
2136
2136
|
{
|
|
2137
2137
|
"alg": "SHA-256",
|
|
2138
|
-
"content": "
|
|
2138
|
+
"content": "41d656caaba47f5279581a10ae0bd25d41733b1df74457b04abdb206aac27c27"
|
|
2139
2139
|
}
|
|
2140
2140
|
]
|
|
2141
2141
|
},
|
|
@@ -2145,7 +2145,7 @@
|
|
|
2145
2145
|
"hashes": [
|
|
2146
2146
|
{
|
|
2147
2147
|
"alg": "SHA-256",
|
|
2148
|
-
"content": "
|
|
2148
|
+
"content": "5fe73341f62f6071e8cbf4d6a8124d34719f72b115701c09169bfe1d9439878d"
|
|
2149
2149
|
}
|
|
2150
2150
|
]
|
|
2151
2151
|
},
|
|
@@ -2195,7 +2195,7 @@
|
|
|
2195
2195
|
"hashes": [
|
|
2196
2196
|
{
|
|
2197
2197
|
"alg": "SHA-256",
|
|
2198
|
-
"content": "
|
|
2198
|
+
"content": "c3bd309462a8f4d1ae2d80843dd609590511468c403daf399d07878dd1178093"
|
|
2199
2199
|
}
|
|
2200
2200
|
]
|
|
2201
2201
|
},
|
|
@@ -2205,7 +2205,7 @@
|
|
|
2205
2205
|
"hashes": [
|
|
2206
2206
|
{
|
|
2207
2207
|
"alg": "SHA-256",
|
|
2208
|
-
"content": "
|
|
2208
|
+
"content": "ef85a855a1b72e6f87f19a2cc13f1cd00f9873062ea733771aa8201867b343a3"
|
|
2209
2209
|
}
|
|
2210
2210
|
]
|
|
2211
2211
|
},
|
|
@@ -2215,7 +2215,7 @@
|
|
|
2215
2215
|
"hashes": [
|
|
2216
2216
|
{
|
|
2217
2217
|
"alg": "SHA-256",
|
|
2218
|
-
"content": "
|
|
2218
|
+
"content": "a78efd0fd15d9d68b83abd14fde80a94ac0dd601adf8e35c360af3ca0496c37d"
|
|
2219
2219
|
}
|
|
2220
2220
|
]
|
|
2221
2221
|
},
|
|
@@ -2225,7 +2225,7 @@
|
|
|
2225
2225
|
"hashes": [
|
|
2226
2226
|
{
|
|
2227
2227
|
"alg": "SHA-256",
|
|
2228
|
-
"content": "
|
|
2228
|
+
"content": "13c873551b88c69a11c6693e232025afb63e8cc0716f8df8c1c0856377853327"
|
|
2229
2229
|
}
|
|
2230
2230
|
]
|
|
2231
2231
|
},
|
|
@@ -2315,7 +2315,7 @@
|
|
|
2315
2315
|
"hashes": [
|
|
2316
2316
|
{
|
|
2317
2317
|
"alg": "SHA-256",
|
|
2318
|
-
"content": "
|
|
2318
|
+
"content": "e3badda5df2f023d4404dbbe7af821590e27bf3ec73983a9ad5f4b94bc95fed6"
|
|
2319
2319
|
}
|
|
2320
2320
|
]
|
|
2321
2321
|
},
|
|
@@ -2325,7 +2325,7 @@
|
|
|
2325
2325
|
"hashes": [
|
|
2326
2326
|
{
|
|
2327
2327
|
"alg": "SHA-256",
|
|
2328
|
-
"content": "
|
|
2328
|
+
"content": "95c324cedae6d2367febc2061b28b0ed19db2105415634a0607380fee851af26"
|
|
2329
2329
|
}
|
|
2330
2330
|
]
|
|
2331
2331
|
},
|
|
@@ -2335,7 +2335,7 @@
|
|
|
2335
2335
|
"hashes": [
|
|
2336
2336
|
{
|
|
2337
2337
|
"alg": "SHA-256",
|
|
2338
|
-
"content": "
|
|
2338
|
+
"content": "99c3cd247f7c910ee16bbd3046dbac4ea5c892786d174065810b743b48332f80"
|
|
2339
2339
|
}
|
|
2340
2340
|
]
|
|
2341
2341
|
},
|
|
@@ -2345,7 +2345,7 @@
|
|
|
2345
2345
|
"hashes": [
|
|
2346
2346
|
{
|
|
2347
2347
|
"alg": "SHA-256",
|
|
2348
|
-
"content": "
|
|
2348
|
+
"content": "1fe988f70981d8f5dfd64a63c7cc8e8ee3f4bdcc047df57acaf0d97946f0a761"
|
|
2349
2349
|
}
|
|
2350
2350
|
]
|
|
2351
2351
|
},
|
|
@@ -4885,7 +4885,7 @@
|
|
|
4885
4885
|
"hashes": [
|
|
4886
4886
|
{
|
|
4887
4887
|
"alg": "SHA-256",
|
|
4888
|
-
"content": "
|
|
4888
|
+
"content": "234775b4c338c81b301b522b59897151e6d565ccfa377dd60f6d87bb52210fd5"
|
|
4889
4889
|
}
|
|
4890
4890
|
]
|
|
4891
4891
|
},
|
|
@@ -4895,7 +4895,7 @@
|
|
|
4895
4895
|
"hashes": [
|
|
4896
4896
|
{
|
|
4897
4897
|
"alg": "SHA-256",
|
|
4898
|
-
"content": "
|
|
4898
|
+
"content": "d28fd0902ec5629a34b11d975fb8c44829ccea75c9a3a778e4ccb3688f983d5d"
|
|
4899
4899
|
}
|
|
4900
4900
|
]
|
|
4901
4901
|
},
|
|
@@ -4905,7 +4905,7 @@
|
|
|
4905
4905
|
"hashes": [
|
|
4906
4906
|
{
|
|
4907
4907
|
"alg": "SHA-256",
|
|
4908
|
-
"content": "
|
|
4908
|
+
"content": "d13a46fec15ef27dfc6824aa357be9bde3f1fc54e4cc462975fa8f14eee73139"
|
|
4909
4909
|
}
|
|
4910
4910
|
]
|
|
4911
4911
|
},
|
|
@@ -4999,7 +4999,7 @@
|
|
|
4999
4999
|
},
|
|
5000
5000
|
{
|
|
5001
5001
|
"name": "dz:canonical-json-sha256-v2",
|
|
5002
|
-
"value": "
|
|
5002
|
+
"value": "01cdd3d7ec4bb637a7e5c12197009caa23c727626387418c11c255f9d45c1150"
|
|
5003
5003
|
}
|
|
5004
5004
|
]
|
|
5005
5005
|
},
|
|
@@ -5379,7 +5379,7 @@
|
|
|
5379
5379
|
"hashes": [
|
|
5380
5380
|
{
|
|
5381
5381
|
"alg": "SHA-256",
|
|
5382
|
-
"content": "
|
|
5382
|
+
"content": "29f2640a74b5f4734050e90426bf9b712e69ac3adbf238bd9af400853ac2e273"
|
|
5383
5383
|
}
|
|
5384
5384
|
]
|
|
5385
5385
|
},
|
|
@@ -5399,7 +5399,7 @@
|
|
|
5399
5399
|
"hashes": [
|
|
5400
5400
|
{
|
|
5401
5401
|
"alg": "SHA-256",
|
|
5402
|
-
"content": "
|
|
5402
|
+
"content": "6c5e73946e43bd7eba81db5f7a225985f50cefd1ba1ff3d0413656bd16160b8a"
|
|
5403
5403
|
}
|
|
5404
5404
|
]
|
|
5405
5405
|
},
|
|
@@ -5429,7 +5429,7 @@
|
|
|
5429
5429
|
"hashes": [
|
|
5430
5430
|
{
|
|
5431
5431
|
"alg": "SHA-256",
|
|
5432
|
-
"content": "
|
|
5432
|
+
"content": "2d3e58c84c23569b30236265edd2e3bb5976e7106ccdb4af1eb2ee32fe8c8b2c"
|
|
5433
5433
|
}
|
|
5434
5434
|
]
|
|
5435
5435
|
},
|
|
@@ -5449,7 +5449,7 @@
|
|
|
5449
5449
|
"hashes": [
|
|
5450
5450
|
{
|
|
5451
5451
|
"alg": "SHA-256",
|
|
5452
|
-
"content": "
|
|
5452
|
+
"content": "8f6efa0c841326f9243cad95e03bdea4f0a278a8f9cd2d9f8578685b79715d85"
|
|
5453
5453
|
}
|
|
5454
5454
|
]
|
|
5455
5455
|
},
|
|
@@ -5499,7 +5499,7 @@
|
|
|
5499
5499
|
"hashes": [
|
|
5500
5500
|
{
|
|
5501
5501
|
"alg": "SHA-256",
|
|
5502
|
-
"content": "
|
|
5502
|
+
"content": "f3157fb31dea7bab497f19e6b0da9f8e0a40112d7afa69adbd93d5bfb49338eb"
|
|
5503
5503
|
}
|
|
5504
5504
|
]
|
|
5505
5505
|
},
|
|
@@ -5529,7 +5529,7 @@
|
|
|
5529
5529
|
"hashes": [
|
|
5530
5530
|
{
|
|
5531
5531
|
"alg": "SHA-256",
|
|
5532
|
-
"content": "
|
|
5532
|
+
"content": "096448a07c498c479e4b89a667d25b8301e4aa37c5596a4e2a3e314d046f259e"
|
|
5533
5533
|
}
|
|
5534
5534
|
]
|
|
5535
5535
|
},
|
|
@@ -5539,7 +5539,7 @@
|
|
|
5539
5539
|
"hashes": [
|
|
5540
5540
|
{
|
|
5541
5541
|
"alg": "SHA-256",
|
|
5542
|
-
"content": "
|
|
5542
|
+
"content": "ce6eeba30e7cfc7c3d53c02738c42955003901413dbf4932fd8f9348e2be1c06"
|
|
5543
5543
|
}
|
|
5544
5544
|
]
|
|
5545
5545
|
},
|
|
@@ -5559,7 +5559,7 @@
|
|
|
5559
5559
|
"hashes": [
|
|
5560
5560
|
{
|
|
5561
5561
|
"alg": "SHA-256",
|
|
5562
|
-
"content": "
|
|
5562
|
+
"content": "0025b911265278339725cc16f0cd0a9773577e51c37bdbe4eade72429df9201d"
|
|
5563
5563
|
}
|
|
5564
5564
|
]
|
|
5565
5565
|
},
|
|
@@ -5589,7 +5589,7 @@
|
|
|
5589
5589
|
"hashes": [
|
|
5590
5590
|
{
|
|
5591
5591
|
"alg": "SHA-256",
|
|
5592
|
-
"content": "
|
|
5592
|
+
"content": "be65bb6a1e90ec70b3924d3cd0f4d1180e84a839545a1697edcf7f0d0deabdf9"
|
|
5593
5593
|
}
|
|
5594
5594
|
]
|
|
5595
5595
|
},
|
|
@@ -6229,7 +6229,7 @@
|
|
|
6229
6229
|
"hashes": [
|
|
6230
6230
|
{
|
|
6231
6231
|
"alg": "SHA-256",
|
|
6232
|
-
"content": "
|
|
6232
|
+
"content": "39bcc15d9c0920969fc954f43a70b5f9db4822dcb7c17227754725b82eda3ad3"
|
|
6233
6233
|
}
|
|
6234
6234
|
]
|
|
6235
6235
|
},
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
/** Blob version stamp read by scripts/gen-loop-blobs.mjs (feature loop-designer, ADR-004) — the
|
|
28
28
|
* ONLY loop-designer change to this canonical file; bump when any blob-exported semantic changes. */
|
|
29
|
-
export const BLOB_VERSION = '1.
|
|
29
|
+
export const BLOB_VERSION = '1.2.0';
|
|
30
30
|
|
|
31
31
|
/** Stages the workflow checkpoints, in pipeline order. Cheap side-channel agents (usage probes,
|
|
32
32
|
* fa-record, auto-cost selects) are never checkpointed; the opt-in Delivery gate re-runs by design
|
|
@@ -421,7 +421,7 @@ export function captureFailureRecord(stage: unknown, mode: unknown, reason: unkn
|
|
|
421
421
|
}
|
|
422
422
|
|
|
423
423
|
/** Training-pair record format version. Bump on any field-shape change. */
|
|
424
|
-
export const TRAINPAIR_SCHEMA_VERSION = 'fa-trainpair-
|
|
424
|
+
export const TRAINPAIR_SCHEMA_VERSION = 'fa-trainpair-3';
|
|
425
425
|
|
|
426
426
|
/** Oversize guard cap over input+output combined (same posture as
|
|
427
427
|
* CHECKPOINT_MAX_RESULT_CHARS, sized for full stage prompts): an over-cap pair is
|
|
@@ -460,6 +460,14 @@ export interface TrainingPairProvenance {
|
|
|
460
460
|
minutes: number | null;
|
|
461
461
|
}
|
|
462
462
|
|
|
463
|
+
/** Resolved routing axes captured with every pair for later Fable-vs-grade analysis. */
|
|
464
|
+
export interface TrainingPairBudget {
|
|
465
|
+
primary: 'claude' | 'codex';
|
|
466
|
+
claude: 'normal' | 'eco';
|
|
467
|
+
codex: 'normal' | 'eco';
|
|
468
|
+
preset: 'normal' | 'eco' | 'hybrid' | 'custom' | 'unset';
|
|
469
|
+
}
|
|
470
|
+
|
|
463
471
|
export interface TrainingPairTruncation {
|
|
464
472
|
/** Original (pre-truncation) char counts + full-text hashes — what was cut is NAMED. */
|
|
465
473
|
inputChars: number;
|
|
@@ -479,6 +487,7 @@ export interface TrainingPair {
|
|
|
479
487
|
output: string;
|
|
480
488
|
evaluation: TrainingPairEvaluation;
|
|
481
489
|
provenance: TrainingPairProvenance;
|
|
490
|
+
budgetMode: TrainingPairBudget | null;
|
|
482
491
|
truncated: TrainingPairTruncation | null;
|
|
483
492
|
captureMode: 'capture' | 'backfill';
|
|
484
493
|
resumed: boolean;
|
|
@@ -615,6 +624,31 @@ function coerceText(v: unknown): string {
|
|
|
615
624
|
}
|
|
616
625
|
}
|
|
617
626
|
|
|
627
|
+
/** Normalize routing metadata without ever blocking capture. Undefined means the operator supplied
|
|
628
|
+
* neither axis; malformed/throwing inputs are explicit null, never a fabricated nearest preset.
|
|
629
|
+
* An explicit `preset:'unset'` preserves primary while recording that no budget arg was supplied. */
|
|
630
|
+
function normalizeTrainingPairBudget(raw: unknown): TrainingPairBudget | null {
|
|
631
|
+
try {
|
|
632
|
+
if (raw === undefined) return { primary: 'claude', claude: 'normal', codex: 'normal', preset: 'unset' };
|
|
633
|
+
if (raw === null || typeof raw !== 'object') return null;
|
|
634
|
+
const value = raw as Record<string, unknown>;
|
|
635
|
+
const primary = value.primary;
|
|
636
|
+
const claude = value.claude;
|
|
637
|
+
const codex = value.codex;
|
|
638
|
+
if (primary !== 'claude' && primary !== 'codex') return null;
|
|
639
|
+
if (claude !== 'normal' && claude !== 'eco') return null;
|
|
640
|
+
if (codex !== 'normal' && codex !== 'eco') return null;
|
|
641
|
+
if (value.preset === 'unset') return { primary, claude, codex, preset: 'unset' };
|
|
642
|
+
let preset: TrainingPairBudget['preset'] = 'custom';
|
|
643
|
+
if (claude === 'normal' && codex === 'normal') preset = 'normal';
|
|
644
|
+
else if (claude === 'eco' && codex === 'eco') preset = 'eco';
|
|
645
|
+
else if (claude === 'eco' && codex === 'normal') preset = 'hybrid';
|
|
646
|
+
return { primary, claude, codex, preset };
|
|
647
|
+
} catch {
|
|
648
|
+
return null;
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
|
|
618
652
|
/** Assemble one SFT-ready training pair. Deterministic (ts passed in). Applies the oversize
|
|
619
653
|
* guard: when input+output exceed TRAINPAIR_MAX_IO_CHARS combined, each over-budget side is
|
|
620
654
|
* truncated with a marker naming the cut char count + the fnv1a64 of its FULL text (the
|
|
@@ -630,6 +664,7 @@ export function buildTrainingPair(opts: {
|
|
|
630
664
|
output: unknown;
|
|
631
665
|
evaluation?: Partial<TrainingPairEvaluation> | null;
|
|
632
666
|
provenance?: Partial<TrainingPairProvenance> | null;
|
|
667
|
+
budgetMode?: unknown;
|
|
633
668
|
captureMode?: unknown;
|
|
634
669
|
resumed?: unknown;
|
|
635
670
|
}): TrainingPair {
|
|
@@ -670,6 +705,7 @@ export function buildTrainingPair(opts: {
|
|
|
670
705
|
tokens: typeof pv.tokens === 'number' && Number.isFinite(pv.tokens) ? pv.tokens : null,
|
|
671
706
|
minutes: typeof pv.minutes === 'number' && Number.isFinite(pv.minutes) ? pv.minutes : null,
|
|
672
707
|
},
|
|
708
|
+
budgetMode: normalizeTrainingPairBudget(opts.budgetMode),
|
|
673
709
|
truncated,
|
|
674
710
|
captureMode: opts.captureMode === 'backfill' ? 'backfill' : 'capture',
|
|
675
711
|
resumed: opts.resumed === true,
|