@dzhechkov/harness-core 0.7.2 → 0.7.4

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.
Files changed (62) hide show
  1. package/.dz-manifest.json +121 -41
  2. package/README.md +1 -1
  3. package/dist/cli-flag-notice.d.ts +50 -0
  4. package/dist/cli-flag-notice.d.ts.map +1 -0
  5. package/dist/cli-flag-notice.js +106 -0
  6. package/dist/cli-flag-notice.js.map +1 -0
  7. package/dist/event-chain.d.ts +50 -0
  8. package/dist/event-chain.d.ts.map +1 -1
  9. package/dist/event-chain.js +31 -0
  10. package/dist/event-chain.js.map +1 -1
  11. package/dist/index.d.ts +9 -5
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +7 -3
  14. package/dist/index.js.map +1 -1
  15. package/dist/name-check.d.ts +98 -0
  16. package/dist/name-check.d.ts.map +1 -0
  17. package/dist/name-check.js +333 -0
  18. package/dist/name-check.js.map +1 -0
  19. package/dist/operations.d.ts.map +1 -1
  20. package/dist/operations.js +33 -5
  21. package/dist/operations.js.map +1 -1
  22. package/dist/provenance.d.ts +100 -92
  23. package/dist/provenance.d.ts.map +1 -1
  24. package/dist/provenance.js +122 -122
  25. package/dist/provenance.js.map +1 -1
  26. package/dist/recall-domain-boost.d.ts +10 -3
  27. package/dist/recall-domain-boost.d.ts.map +1 -1
  28. package/dist/recall-domain-boost.js +7 -0
  29. package/dist/recall-domain-boost.js.map +1 -1
  30. package/dist/recall-hook-policy.d.ts +15 -0
  31. package/dist/recall-hook-policy.d.ts.map +1 -1
  32. package/dist/recall-hook-policy.js +59 -0
  33. package/dist/recall-hook-policy.js.map +1 -1
  34. package/dist/recap.d.ts +146 -0
  35. package/dist/recap.d.ts.map +1 -0
  36. package/dist/recap.js +346 -0
  37. package/dist/recap.js.map +1 -0
  38. package/dist/retro.d.ts +131 -0
  39. package/dist/retro.d.ts.map +1 -0
  40. package/dist/retro.js +207 -0
  41. package/dist/retro.js.map +1 -0
  42. package/dist/score.d.ts +21 -0
  43. package/dist/score.d.ts.map +1 -1
  44. package/dist/score.js +44 -3
  45. package/dist/score.js.map +1 -1
  46. package/dist/vector-tier.d.ts +54 -0
  47. package/dist/vector-tier.d.ts.map +1 -1
  48. package/dist/vector-tier.js +69 -8
  49. package/dist/vector-tier.js.map +1 -1
  50. package/package.json +8 -8
  51. package/sbom.json +240 -40
  52. package/src/cli-flag-notice.ts +114 -0
  53. package/src/event-chain.ts +64 -0
  54. package/src/index.ts +13 -0
  55. package/src/name-check.ts +331 -0
  56. package/src/operations.ts +34 -6
  57. package/src/provenance.ts +217 -0
  58. package/src/recall-domain-boost.ts +10 -3
  59. package/src/recall-hook-policy.ts +60 -0
  60. package/src/recap.ts +462 -0
  61. package/src/score.ts +53 -3
  62. package/src/vector-tier.ts +109 -10
package/.dz-manifest.json CHANGED
@@ -9,7 +9,7 @@
9
9
  },
10
10
  {
11
11
  "path": "README.md",
12
- "sha256": "587e7d4379b3e2e05f7d91fedefec59d1f078e4172650ca602c035c52133ea30"
12
+ "sha256": "83967d19cf4b96532d05077bf752eb34588eb4ff656511180e7784e04cc4317d"
13
13
  },
14
14
  {
15
15
  "path": "dist/__tests__/golden-baseline.test.d.ts",
@@ -283,6 +283,22 @@
283
283
  "path": "dist/claim-check.js.map",
284
284
  "sha256": "27692e8fa8866d5b42cb2b05f48a08760c5911baada467309fdbbca1e3a33de2"
285
285
  },
286
+ {
287
+ "path": "dist/cli-flag-notice.d.ts",
288
+ "sha256": "66d00d2fdbf113f073d71046abf24f75b117b6b0ab57b4a696f868f280327358"
289
+ },
290
+ {
291
+ "path": "dist/cli-flag-notice.d.ts.map",
292
+ "sha256": "a5bc9148dae5808bc60840ec1af6362adba7db4ecef003658df582662e4d2228"
293
+ },
294
+ {
295
+ "path": "dist/cli-flag-notice.js",
296
+ "sha256": "9b3627599a7dd011f0a85a413d0cf727f9f1bb4d49400f27492d30ad51fe3b5a"
297
+ },
298
+ {
299
+ "path": "dist/cli-flag-notice.js.map",
300
+ "sha256": "6f55153a39da8bb9ceb87dff9e47e279f7ce316083454e9b8675685dcc4f959a"
301
+ },
286
302
  {
287
303
  "path": "dist/codex-hooks-assets.d.ts",
288
304
  "sha256": "dd1cb9cce42a0ca37a3e64eeac19c98f18f225932ffea282b33fdfd699446191"
@@ -477,19 +493,19 @@
477
493
  },
478
494
  {
479
495
  "path": "dist/event-chain.d.ts",
480
- "sha256": "ded196d2527e16e60981cef9d2502d1d5eeedbaa7c40be95ac178522682d1693"
496
+ "sha256": "2414c9d733242709baa1f34c003a2f7fa954446e8d132b9ee0c7e87ef41135b1"
481
497
  },
482
498
  {
483
499
  "path": "dist/event-chain.d.ts.map",
484
- "sha256": "06e9f082b4e361b796042815bd75d807231d98965e9acbbb63d500efa932a87d"
500
+ "sha256": "c94f56cfab60c125f22c2ca4f7e0b29e69fe95b1e1ff6a5a77409d582aabec85"
485
501
  },
486
502
  {
487
503
  "path": "dist/event-chain.js",
488
- "sha256": "8ad73164e893627c867468a21bc5dd1386dd82adb3ea06b2b785cfa7415d558b"
504
+ "sha256": "94f23468a3a149519c22a0f15940732c687724fbe5d06a9644eb7cc10a7edd76"
489
505
  },
490
506
  {
491
507
  "path": "dist/event-chain.js.map",
492
- "sha256": "a874ba52b35ed445f2310a04bb0fbdb0ba34db18601d0086e7e666b7bafc8a16"
508
+ "sha256": "af3646d640a123d797d40e12f91958642b6b6d809c9ff226727313f546b23e9f"
493
509
  },
494
510
  {
495
511
  "path": "dist/export-holdout.d.ts",
@@ -621,19 +637,19 @@
621
637
  },
622
638
  {
623
639
  "path": "dist/index.d.ts",
624
- "sha256": "ca55ae64cc3ed8231536e01ebf0126951e19c86e9ce7b280e4ef3124d655d1e7"
640
+ "sha256": "621aa9c4eedd24d78aca445ea8029598a57fe72f1dfc1de80d0b5918ad51c751"
625
641
  },
626
642
  {
627
643
  "path": "dist/index.d.ts.map",
628
- "sha256": "a6d5eff969b6e2bdd19ec2514d6af8703bc0e06737a50c2a1f51a76474845c64"
644
+ "sha256": "18557b4da47f8f9f11cd01743e85eddb1498093cdac7301a55f6de84c8910392"
629
645
  },
630
646
  {
631
647
  "path": "dist/index.js",
632
- "sha256": "a3bd929058bbee94e4e6aba47c1a6390d877762944253893ca3de3a8498d1357"
648
+ "sha256": "c8dbe505225e4ab85544d5f9bc4322d0c6a6c5dfb881b28d1319e84c6074243f"
633
649
  },
634
650
  {
635
651
  "path": "dist/index.js.map",
636
- "sha256": "657b9ca57b50c73bc6ee5440b180419e5bfdfd89b34392ab038d507bb2343308"
652
+ "sha256": "afc2e6e86d409e7668355af2600dcc8459d6628bb3ad54cc672004ba38ed817d"
637
653
  },
638
654
  {
639
655
  "path": "dist/learning-backend.d.ts",
@@ -827,6 +843,22 @@
827
843
  "path": "dist/mutation-gate.js.map",
828
844
  "sha256": "b6cfe1073cf23786b4fa73bf8fdfa6849097fc1ee7dc3b79b8c578cc0e56073e"
829
845
  },
846
+ {
847
+ "path": "dist/name-check.d.ts",
848
+ "sha256": "e51cc3ad302613478e11ac7254bff6a73159a8c9000b80eb78f1e835e891d15c"
849
+ },
850
+ {
851
+ "path": "dist/name-check.d.ts.map",
852
+ "sha256": "6e2dde7870005e8c5747b4667cd0168c4e35d63bd0099fbc951216c002cf13a8"
853
+ },
854
+ {
855
+ "path": "dist/name-check.js",
856
+ "sha256": "12d46cd4e8aea69828b32cba892e3cd62e3577ca7333b4b7d6d3116084e59d8f"
857
+ },
858
+ {
859
+ "path": "dist/name-check.js.map",
860
+ "sha256": "9dd4e767097bf6f381ba4e82e2bcdc43464d5a01a4b115127eefa8008cbd6ef3"
861
+ },
830
862
  {
831
863
  "path": "dist/named-lock.d.ts",
832
864
  "sha256": "8772cd5893626094d9861805c505f300c5e65fba768fd53b37b6d74ab6bee3bf"
@@ -865,15 +897,15 @@
865
897
  },
866
898
  {
867
899
  "path": "dist/operations.d.ts.map",
868
- "sha256": "efe8d5f4abd56fcd22f00127b3f508d1c4be60e7796d829fc8fc32bdbb19fea1"
900
+ "sha256": "b7ef21f41f9757d1d71354291f8c30ecfa6806da06d0aa4a33e6a9fe68d2d1c1"
869
901
  },
870
902
  {
871
903
  "path": "dist/operations.js",
872
- "sha256": "df1d2ee2c5482af449c1439b19f37c021e9381dfebb827570593633fc0a48cf4"
904
+ "sha256": "d29b15126e458e8a4fab439c95f9d742a1e87650859c8c09980f511db72eff37"
873
905
  },
874
906
  {
875
907
  "path": "dist/operations.js.map",
876
- "sha256": "d664332f9305bb544557bbcead9ee14e38e246eff5691298fd26f454869480a0"
908
+ "sha256": "7d1fa2a80beaaef4315934d4e79341410c2361f40fd013ff303505d6bce379c7"
877
909
  },
878
910
  {
879
911
  "path": "dist/package-skill-layouts.d.ts",
@@ -973,19 +1005,19 @@
973
1005
  },
974
1006
  {
975
1007
  "path": "dist/provenance.d.ts",
976
- "sha256": "375411052b6ea066ab712c7f98e6d4af7d442d5cfff39a5c25f5f718908e1486"
1008
+ "sha256": "25497c798af7e7b614acea014826873c3db41232bdbda57399814b5b8b2e2687"
977
1009
  },
978
1010
  {
979
1011
  "path": "dist/provenance.d.ts.map",
980
- "sha256": "ccd193feee34f83c50584e66f534a91ae0b9b80101399f73201915e1e276ed07"
1012
+ "sha256": "ec7f64eb9a3938a446beba21cf1134e901522c87e69639ba2d27fa161a9f0236"
981
1013
  },
982
1014
  {
983
1015
  "path": "dist/provenance.js",
984
- "sha256": "4580cbd83247210069a72c63b0dc547de6919a602b993b25cd63b704fd61c18b"
1016
+ "sha256": "09bf8999ae95138b5fe21e70af3642cb6bea0593365108e8756e820f53c6aafc"
985
1017
  },
986
1018
  {
987
1019
  "path": "dist/provenance.js.map",
988
- "sha256": "6198c9a2d37c22f88e8a88253cb044ed7dcb05e88f3173a9a1bfe6083c28a954"
1020
+ "sha256": "db6c50a2c5cbba8dc47671bd540740ed8e3bfbc742a51d9dd3a4ecc343ff32a8"
989
1021
  },
990
1022
  {
991
1023
  "path": "dist/publish-signing.d.ts",
@@ -1053,35 +1085,35 @@
1053
1085
  },
1054
1086
  {
1055
1087
  "path": "dist/recall-domain-boost.d.ts",
1056
- "sha256": "91ca5c6a8be2500d2fe3f63402c190452c7f9e0edfaf4ec4afb71cba768e0b5d"
1088
+ "sha256": "3af6fb7420e325684a1b33645630d62710d90b91ab534dfeb4fd0ddea125f7a3"
1057
1089
  },
1058
1090
  {
1059
1091
  "path": "dist/recall-domain-boost.d.ts.map",
1060
- "sha256": "6635208bcca0e671199a5787a968f7f78e21e510c412d3149d9a4936db60a429"
1092
+ "sha256": "fa3b2037cb9aaf03760cca5e0abb51cff3f280222cfbf0cfc0cc039a18932a54"
1061
1093
  },
1062
1094
  {
1063
1095
  "path": "dist/recall-domain-boost.js",
1064
- "sha256": "d8f0d482ad383a941993fc5b9ba79ed89f16234f5d3accdfb784924d0e11c2e6"
1096
+ "sha256": "e5a79c0d2078025a57f242b4b022a403d1332e4638704b5c2afd98b385a6da66"
1065
1097
  },
1066
1098
  {
1067
1099
  "path": "dist/recall-domain-boost.js.map",
1068
- "sha256": "75cf4cfe171bb0230f16f99c9ec1cdf723bbca3fe18c98d92d83debea2d64c40"
1100
+ "sha256": "f19c12f0da5163c644769aa836ed7e7a162948fedefb185c7ff366b8d249a059"
1069
1101
  },
1070
1102
  {
1071
1103
  "path": "dist/recall-hook-policy.d.ts",
1072
- "sha256": "9a74c9472688a4326b10065f61c9294b473baf232a27cf69f6ae7a74a5ce9bb6"
1104
+ "sha256": "cc8eb4f783c2592d9f4e06f35e74fd51a046dde67dbe1a8fea3c21bf15d14332"
1073
1105
  },
1074
1106
  {
1075
1107
  "path": "dist/recall-hook-policy.d.ts.map",
1076
- "sha256": "0631cf526a8aae076d5512bcc75c629ea69830f65aa267ade03028e532a2a923"
1108
+ "sha256": "9b428a9cbcbe24651a08b70f3f205f35a78172cfa4dc4da6a0c733899765aa7a"
1077
1109
  },
1078
1110
  {
1079
1111
  "path": "dist/recall-hook-policy.js",
1080
- "sha256": "73fa2d3bcedb0158a2860171b66046aa67c7aa1aab80a93502588202f0aed09e"
1112
+ "sha256": "50afae931985ee82a526c01517c02479db8e34f3d5e5b34531bf64de31aa5534"
1081
1113
  },
1082
1114
  {
1083
1115
  "path": "dist/recall-hook-policy.js.map",
1084
- "sha256": "abdfa155fca15e8aa950430d201c2e6754872c0b02d0201a10c5f0923210373a"
1116
+ "sha256": "15db55ef0c625590db592e2909ee3bd3a4cf09ca8d082b222005633babd71a30"
1085
1117
  },
1086
1118
  {
1087
1119
  "path": "dist/recall-usage.d.ts",
@@ -1099,6 +1131,22 @@
1099
1131
  "path": "dist/recall-usage.js.map",
1100
1132
  "sha256": "92cb068c0e759f3d11b0f35f34a5c9b765d3020c54de2b903e05ca5426c6dec3"
1101
1133
  },
1134
+ {
1135
+ "path": "dist/recap.d.ts",
1136
+ "sha256": "d030a9e56f07a646d74f4fed0bb720f4ab83e828c6bf7996aa35f6889ee4df0b"
1137
+ },
1138
+ {
1139
+ "path": "dist/recap.d.ts.map",
1140
+ "sha256": "367d3e1ac843c403dc089ef2b3cf0392b54cf51762f51f11f418fb41b651cfe4"
1141
+ },
1142
+ {
1143
+ "path": "dist/recap.js",
1144
+ "sha256": "0bcfc4c0622484059c428225e5618337259e8b4f8762ba7d8c562ce986cf9fbf"
1145
+ },
1146
+ {
1147
+ "path": "dist/recap.js.map",
1148
+ "sha256": "b1cd82770e8d860ee9ac7fc43157ae63bf990d33ed4c69f7ef554ad6ac333996"
1149
+ },
1102
1150
  {
1103
1151
  "path": "dist/recommend.d.ts",
1104
1152
  "sha256": "5928ad03d6b6e9e4e0ae7c00d1e39719ceb120df579d095841cf912e7be09a6e"
@@ -1179,6 +1227,22 @@
1179
1227
  "path": "dist/reqe.js.map",
1180
1228
  "sha256": "c28182b280cf2c016a2b1d2ef15a3a335ff25993220767ae9fc7c74af76ba022"
1181
1229
  },
1230
+ {
1231
+ "path": "dist/retro.d.ts",
1232
+ "sha256": "2f76203c306a37f03e1398149d2c3b48e78c33e02d37e6666bc94d1b2db3eb1e"
1233
+ },
1234
+ {
1235
+ "path": "dist/retro.d.ts.map",
1236
+ "sha256": "e56d4b6ad4d3c74bb9b2426a70c66e201d6461965721f0f13d7ec950519b25a4"
1237
+ },
1238
+ {
1239
+ "path": "dist/retro.js",
1240
+ "sha256": "53b75c5be30a9affbe0da9a7e96c3d77d0af5aa3e5e8773aa4da4f4666782e2a"
1241
+ },
1242
+ {
1243
+ "path": "dist/retro.js.map",
1244
+ "sha256": "dbf3dd2ad4597b1a065629c1db6c313fd9b837db4368b798982a78a7245e760b"
1245
+ },
1182
1246
  {
1183
1247
  "path": "dist/risk-scoring.d.ts",
1184
1248
  "sha256": "a40c687718dee46c83e2babf2862cb43b3dcbe80b021d91339486b609a446b43"
@@ -1261,19 +1325,19 @@
1261
1325
  },
1262
1326
  {
1263
1327
  "path": "dist/score.d.ts",
1264
- "sha256": "235e8b11d72281e15c40d10cf1aa66733903cf92d32631f815ec25b92fe40f03"
1328
+ "sha256": "337431dbd1999ee5ed97b00080c9044179998b4956381478331eda763cde23da"
1265
1329
  },
1266
1330
  {
1267
1331
  "path": "dist/score.d.ts.map",
1268
- "sha256": "901e0f08858d312d6a2d544ec9c7e114e9748b703fe4ef5e119d85344f390722"
1332
+ "sha256": "07c589877c4bf8f1a7c673e839e4760efb37143de8c23bc044319c8931d8abd8"
1269
1333
  },
1270
1334
  {
1271
1335
  "path": "dist/score.js",
1272
- "sha256": "1466e78432028c66076f10acb5d2a6b9bc50e24d7c176c2c49f9cfffb67a9238"
1336
+ "sha256": "d104c4e6d4003f424dee7416794e5570b61171bc5567da2ca88084e180ebf674"
1273
1337
  },
1274
1338
  {
1275
1339
  "path": "dist/score.js.map",
1276
- "sha256": "8ceb3f4eed26b977bcd3b39216d8392bc830e91960497ae5edd453130ae4bc27"
1340
+ "sha256": "9e1072058014143ec11dd4fa7f13ff73a73eeff6563547d02c63458a5c9f2203"
1277
1341
  },
1278
1342
  {
1279
1343
  "path": "dist/session-retro.d.ts",
@@ -1533,19 +1597,19 @@
1533
1597
  },
1534
1598
  {
1535
1599
  "path": "dist/vector-tier.d.ts",
1536
- "sha256": "15c079d1fa32d9d914323ed8a9646a6906b316ace41991ca571a3f9d639d1f9c"
1600
+ "sha256": "4bafc3c274ab27172d39d875b1fac8c0d6738f6efa48d7aca38cfda724cb774a"
1537
1601
  },
1538
1602
  {
1539
1603
  "path": "dist/vector-tier.d.ts.map",
1540
- "sha256": "49864c93925b27de2ada2d4eea9c24d474be7f7134efc6a90545a327c9803e3e"
1604
+ "sha256": "d19593282cef07ecb069e9ae08fbe36b8d235d0df58624cfc34a22f5746cbb4e"
1541
1605
  },
1542
1606
  {
1543
1607
  "path": "dist/vector-tier.js",
1544
- "sha256": "0117b20ba727e5d625366f6bb7318bb9e4495f0a3c23193b6ea374cbd358c460"
1608
+ "sha256": "d3751463c0987bb9b3440d00222218cb2096a1423725bb75b317402e61598264"
1545
1609
  },
1546
1610
  {
1547
1611
  "path": "dist/vector-tier.js.map",
1548
- "sha256": "5dbad708d80c7bda481cd2d7b9d3a2072fe4ea482b443c2af518d097d28ad762"
1612
+ "sha256": "c0033e34c031087b0d4ddef067fa0ea9ee39c1f0dff002275a9da68a5c8b7da8"
1549
1613
  },
1550
1614
  {
1551
1615
  "path": "dist/workflow-run-dispatch.d.ts",
@@ -1597,7 +1661,7 @@
1597
1661
  },
1598
1662
  {
1599
1663
  "path": "package.json",
1600
- "sha256": "52045af38109cd064cf8472418fcac0d59e54a9faa43edaddf1a3bfbc15be599"
1664
+ "sha256": "f75e7cb962b7c6e8eb478783369c1e64a8378e4bfd0a8dbcbb4716e6c5ec6f55"
1601
1665
  },
1602
1666
  {
1603
1667
  "path": "src/__tests__/golden-baseline.test.ts",
@@ -1667,6 +1731,10 @@
1667
1731
  "path": "src/claim-check.ts",
1668
1732
  "sha256": "9da70430245653755fb629310001c920fda88db5979ab5b052de71fa37a858ec"
1669
1733
  },
1734
+ {
1735
+ "path": "src/cli-flag-notice.ts",
1736
+ "sha256": "6fe214c17519ab8e334b59c865fd74fc8ea915fa492d81f5fca03375fb54adc6"
1737
+ },
1670
1738
  {
1671
1739
  "path": "src/codex-hooks-assets.ts",
1672
1740
  "sha256": "5d74d533435cdf7e6375c5888713044c00960681ff48e8a90af84b07e168876a"
@@ -1717,7 +1785,7 @@
1717
1785
  },
1718
1786
  {
1719
1787
  "path": "src/event-chain.ts",
1720
- "sha256": "f8306131a5021167169b525733da711ff378382f0a7368376f35834c350a9e23"
1788
+ "sha256": "0c81b088e76780fef7dd902c0cd01dd51b4bf192d7fb5241eaf0ecf35dccfbdd"
1721
1789
  },
1722
1790
  {
1723
1791
  "path": "src/export-holdout.ts",
@@ -1753,7 +1821,7 @@
1753
1821
  },
1754
1822
  {
1755
1823
  "path": "src/index.ts",
1756
- "sha256": "38ae85c92cffbfd299f7a629b85a3d5424fb45e485145b112b2ec401f6d92770"
1824
+ "sha256": "4b86db1ce252bdec813ae03456de00d98d9fc2d9d499a2dc88f26756d40f26df"
1757
1825
  },
1758
1826
  {
1759
1827
  "path": "src/learning-backend.ts",
@@ -1803,6 +1871,10 @@
1803
1871
  "path": "src/mutation-gate.ts",
1804
1872
  "sha256": "f736d8bc575e1627121fd5c51e327482ee057215964efc882b91e0b64c7b26fb"
1805
1873
  },
1874
+ {
1875
+ "path": "src/name-check.ts",
1876
+ "sha256": "f65b9be8ecb2e0df5851c2bd323863247465381127a57fa9a9fdb51ab0dde0f8"
1877
+ },
1806
1878
  {
1807
1879
  "path": "src/named-lock.ts",
1808
1880
  "sha256": "f05664e983ee1d9b97de56af7a87781b802ab21cb0199765d7905012aa0ebce9"
@@ -1813,7 +1885,7 @@
1813
1885
  },
1814
1886
  {
1815
1887
  "path": "src/operations.ts",
1816
- "sha256": "23184909f1c13b57bdfd0655cf28bc536bbe77d28e74a99d063a123a78572f6c"
1888
+ "sha256": "ecefd00e2d409aab569cd7f488a72426304a3c9f181b7105fdc03a1cb575de36"
1817
1889
  },
1818
1890
  {
1819
1891
  "path": "src/package-skill-layouts.ts",
@@ -1839,6 +1911,10 @@
1839
1911
  "path": "src/project-skills.ts",
1840
1912
  "sha256": "07c0bfe1149403a2e06ec83271055a1ea441f14dd5ae363503ebfce02c8bc851"
1841
1913
  },
1914
+ {
1915
+ "path": "src/provenance.ts",
1916
+ "sha256": "d76e4adf1de495beb6c30cc665c17a7d9a43657fb4e1ec0640208b1617a22cb6"
1917
+ },
1842
1918
  {
1843
1919
  "path": "src/publish-signing.ts",
1844
1920
  "sha256": "e190a24c144667843283268fcec3b0ee08a184a33f876c151f2b562eebe4f892"
@@ -1857,16 +1933,20 @@
1857
1933
  },
1858
1934
  {
1859
1935
  "path": "src/recall-domain-boost.ts",
1860
- "sha256": "30be4bf7bf7713cef8b5273b575061200c99f36042131701744af950853f2c84"
1936
+ "sha256": "54f203fa41c6ef67bd01ea87032f88b039464cce005b9c526e737481377de078"
1861
1937
  },
1862
1938
  {
1863
1939
  "path": "src/recall-hook-policy.ts",
1864
- "sha256": "b4a3c6b3fc2e8338efeee729038a01e3881dc578b65427ffbb03c236e160b470"
1940
+ "sha256": "6f40ab68a18d3537171af7e6939edc482744a6eff938f90802fed3609e3e2e6e"
1865
1941
  },
1866
1942
  {
1867
1943
  "path": "src/recall-usage.ts",
1868
1944
  "sha256": "8cbae534a771d655457a60f54d1e38891b4129de31767a1735b836d58d778bff"
1869
1945
  },
1946
+ {
1947
+ "path": "src/recap.ts",
1948
+ "sha256": "19661ff14fee41eaac8047914b4fdc48212f0b0e74c6fe372ac71e3b251262ab"
1949
+ },
1870
1950
  {
1871
1951
  "path": "src/recommend.ts",
1872
1952
  "sha256": "b0c2a7ce89bc8aee60d974fe0d27c9d1787b6da0de6c473b832e9960864983b7"
@@ -1905,7 +1985,7 @@
1905
1985
  },
1906
1986
  {
1907
1987
  "path": "src/score.ts",
1908
- "sha256": "d630cc8713b8ed604ae6f4d97dde59ce3a38080ed2f7e43a5d543d236c5cb4dc"
1988
+ "sha256": "94674ad2db1d6cacb5fee303b343b52b2cbf5264885cccb176cd7e54071f3530"
1909
1989
  },
1910
1990
  {
1911
1991
  "path": "src/security/boundaries.json",
@@ -1977,7 +2057,7 @@
1977
2057
  },
1978
2058
  {
1979
2059
  "path": "src/vector-tier.ts",
1980
- "sha256": "92f8274432847f05c6b0584542dfc4a12be89e828e34e025474f2c7c0a53c925"
2060
+ "sha256": "b26ad5393ef0aa234ad0c0405a8f47c2e316b3523def8ec074d0460703c031ad"
1981
2061
  },
1982
2062
  {
1983
2063
  "path": "src/workflow-run-dispatch.ts",
@@ -1993,5 +2073,5 @@
1993
2073
  }
1994
2074
  ]
1995
2075
  },
1996
- "signature": "fQVAxbXOutFfkrhOIa1NJ0NKJV9qwec4Dq9gPo2AS+98aePGdI7BYMOsG7/sHlKnWNdJi9hfYnsvCyxR3sCIDQ=="
2076
+ "signature": "WlA86LHhnRDKspK5dmzJzQK8gp7Dd7EoL+UvuBOzuXgGcSCnNSlkiI2GXDt0H56+uMH849JZ8O3W/SThrJuSBg=="
1997
2077
  }
package/README.md CHANGED
@@ -238,7 +238,7 @@ A count that cannot be computed is reported as `undefined` — never as `0`.
238
238
 
239
239
  ## Status
240
240
 
241
- `0.7.2` — a signature-only republish: `0.7.0` went out without the re-signing step, so its published
241
+ `0.7.4` — a signature-only republish: `0.7.0` went out without the re-signing step, so its published
242
242
  manifest was stale against its own shipped files. No behaviour changes.
243
243
 
244
244
  `0.7.0` — the publish gate gained `review-round`, and the vector tier reports what the run did (both above): `mergeHybridHits` keeps the top
@@ -0,0 +1,50 @@
1
+ /**
2
+ * An unrecognised `--flag` must not pass in silence.
3
+ *
4
+ * MEASURED 2026-08-24: `dz recall "x" --breif --limit 2` printed the full ordinary output and exited
5
+ * 0. Someone who typed `--breif` for `--brief` reads that as "the mode worked" — and every `dz`
6
+ * command behaves the same way, because the argv parser accepts any `--name` it is handed.
7
+ *
8
+ * WHY THIS WARNS RATHER THAN REFUSES, and the measurement behind it. Two ways to build a per-command
9
+ * allowlist were tried and BOTH are unsafe:
10
+ *
11
+ * - from the help text: 53 of the 220 flag names the CLI actually reads appear nowhere in help, so
12
+ * refusing on a help-derived list would break 53 working invocations;
13
+ * - from static extraction over the dispatch table: it lost `--week` from `dz recap` (those flags
14
+ * are read through a loop over a constant, not a literal `flags.has('week')`) and picked up a
15
+ * neighbouring command's flags for `dz usage`. It both under- and over-covers.
16
+ *
17
+ * A refusal built on either would reject working commands, and breaking a correct invocation is a
18
+ * worse failure than the one being fixed. So the KNOWN set here is the union of every name the CLI
19
+ * reads and every name its help documents, and an unrecognised name is reported loudly while the
20
+ * command still does its work. That removes the SILENCE, which is the actual harm.
21
+ *
22
+ * HONEST LIMIT, and it is real: this catches a name no command anywhere knows. It does NOT catch a
23
+ * name that is valid for a different command — `dz recap --manifest` stays quiet. Closing that needs
24
+ * a hand-curated per-command list, which is filed with these measurements rather than guessed at.
25
+ */
26
+ /**
27
+ * Every known name as close to `name` as the closest one is.
28
+ *
29
+ * TIES ARE NOT BROKEN. `--wek` sits one edit from both `--week` and `--weak`, and picking whichever
30
+ * came first in the list points the reader confidently at a coin flip. All of them are named, and
31
+ * the reader decides.
32
+ *
33
+ * The bound scales with length so a three-letter name cannot match everything: at most a third of
34
+ * the name may differ, and never more than two characters.
35
+ */
36
+ export declare function nearestKnownFlag(name: string, known: readonly string[]): string[];
37
+ export interface UnknownFlagNotice {
38
+ readonly name: string;
39
+ /** Every equally-close known name. Empty when nothing is close enough to be worth naming. */
40
+ readonly suggestions: readonly string[];
41
+ readonly line: string;
42
+ }
43
+ /**
44
+ * One notice per unrecognised name, or an empty list when everything is known.
45
+ *
46
+ * `passed` is every `--name` the user typed, whether it took a value or not: a typo'd OPTION
47
+ * (`--limti 5`) is exactly as silent as a typo'd flag, and was equally unreported.
48
+ */
49
+ export declare function unknownFlagNotice(passed: readonly string[], known: readonly string[]): UnknownFlagNotice[];
50
+ //# sourceMappingURL=cli-flag-notice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-flag-notice.d.ts","sourceRoot":"","sources":["../src/cli-flag-notice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAkCH;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAcjF;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAgB1G"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * An unrecognised `--flag` must not pass in silence.
3
+ *
4
+ * MEASURED 2026-08-24: `dz recall "x" --breif --limit 2` printed the full ordinary output and exited
5
+ * 0. Someone who typed `--breif` for `--brief` reads that as "the mode worked" — and every `dz`
6
+ * command behaves the same way, because the argv parser accepts any `--name` it is handed.
7
+ *
8
+ * WHY THIS WARNS RATHER THAN REFUSES, and the measurement behind it. Two ways to build a per-command
9
+ * allowlist were tried and BOTH are unsafe:
10
+ *
11
+ * - from the help text: 53 of the 220 flag names the CLI actually reads appear nowhere in help, so
12
+ * refusing on a help-derived list would break 53 working invocations;
13
+ * - from static extraction over the dispatch table: it lost `--week` from `dz recap` (those flags
14
+ * are read through a loop over a constant, not a literal `flags.has('week')`) and picked up a
15
+ * neighbouring command's flags for `dz usage`. It both under- and over-covers.
16
+ *
17
+ * A refusal built on either would reject working commands, and breaking a correct invocation is a
18
+ * worse failure than the one being fixed. So the KNOWN set here is the union of every name the CLI
19
+ * reads and every name its help documents, and an unrecognised name is reported loudly while the
20
+ * command still does its work. That removes the SILENCE, which is the actual harm.
21
+ *
22
+ * HONEST LIMIT, and it is real: this catches a name no command anywhere knows. It does NOT catch a
23
+ * name that is valid for a different command — `dz recap --manifest` stays quiet. Closing that needs
24
+ * a hand-curated per-command list, which is filed with these measurements rather than guessed at.
25
+ */
26
+ /**
27
+ * Damerau-Levenshtein distance — Levenshtein plus ADJACENT TRANSPOSITION at cost 1.
28
+ *
29
+ * The transposition case is not a refinement, it is the common case: `--limti` for `--limit` is one
30
+ * swapped pair, which plain Levenshtein scores 2 and a length-scaled bound then rejected, so the
31
+ * most frequent kind of typo got no suggestion at all (measured on this very set 2026-08-24).
32
+ * Suggestion only — never a decision.
33
+ */
34
+ function editDistance(a, b) {
35
+ const m = a.length;
36
+ const n = b.length;
37
+ if (m === 0)
38
+ return n;
39
+ if (n === 0)
40
+ return m;
41
+ const d = Array.from({ length: m + 1 }, (_, i) => [i, ...Array(n).fill(0)]);
42
+ for (let j = 0; j <= n; j++)
43
+ d[0][j] = j;
44
+ for (let i = 1; i <= m; i++) {
45
+ for (let j = 1; j <= n; j++) {
46
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
47
+ let best = Math.min(d[i][j - 1] + 1, d[i - 1][j] + 1, d[i - 1][j - 1] + cost);
48
+ if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {
49
+ best = Math.min(best, d[i - 2][j - 2] + 1);
50
+ }
51
+ d[i][j] = best;
52
+ }
53
+ }
54
+ return d[m][n];
55
+ }
56
+ /**
57
+ * Every known name as close to `name` as the closest one is.
58
+ *
59
+ * TIES ARE NOT BROKEN. `--wek` sits one edit from both `--week` and `--weak`, and picking whichever
60
+ * came first in the list points the reader confidently at a coin flip. All of them are named, and
61
+ * the reader decides.
62
+ *
63
+ * The bound scales with length so a three-letter name cannot match everything: at most a third of
64
+ * the name may differ, and never more than two characters.
65
+ */
66
+ export function nearestKnownFlag(name, known) {
67
+ const limit = Math.min(2, Math.max(1, Math.floor(name.length / 3)));
68
+ let bestScore = limit + 1;
69
+ let best = [];
70
+ for (const candidate of known) {
71
+ const dist = editDistance(name, candidate);
72
+ if (dist < bestScore) {
73
+ bestScore = dist;
74
+ best = [candidate];
75
+ }
76
+ else if (dist === bestScore) {
77
+ best.push(candidate);
78
+ }
79
+ }
80
+ return bestScore <= limit ? [...new Set(best)].sort() : [];
81
+ }
82
+ /**
83
+ * One notice per unrecognised name, or an empty list when everything is known.
84
+ *
85
+ * `passed` is every `--name` the user typed, whether it took a value or not: a typo'd OPTION
86
+ * (`--limti 5`) is exactly as silent as a typo'd flag, and was equally unreported.
87
+ */
88
+ export function unknownFlagNotice(passed, known) {
89
+ const set = new Set(known);
90
+ const out = [];
91
+ for (const name of passed) {
92
+ if (name === '' || set.has(name))
93
+ continue;
94
+ const suggestions = nearestKnownFlag(name, known);
95
+ const hint = suggestions.length === 0
96
+ ? 'no dz command reads it.'
97
+ : `did you mean ${suggestions.map((s) => `--${s}`).join(' or ')}?`;
98
+ out.push({
99
+ name,
100
+ suggestions,
101
+ line: `dz: unknown option --${name} — ${hint} It was IGNORED, not applied`,
102
+ });
103
+ }
104
+ return out;
105
+ }
106
+ //# sourceMappingURL=cli-flag-notice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-flag-notice.js","sourceRoot":"","sources":["../src/cli-flag-notice.ts"],"names":[],"mappings":"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"}
@@ -299,4 +299,54 @@ export declare function verifyEventChainText(text: string, opts?: VerifyEventCha
299
299
  * chain verdict without also printing what it does and does not mean.
300
300
  */
301
301
  export declare function renderEventChainVerification(v: EventChainVerification, label: string): string;
302
+ /**
303
+ * How old a defect is relative to the log's CURRENT unbroken run.
304
+ *
305
+ * `historical` — the break happened, and an unbroken segment has run since. It cannot be un-happened
306
+ * and it does not make today's records suspect. `live` — the break is inside the segment we are
307
+ * still appending to, so records after it are the ones a verdict would rest on.
308
+ */
309
+ /**
310
+ * Where a defect sits relative to the log's current unbroken run.
311
+ *
312
+ * Deliberately NOT called "historical". A break followed by ONE record is not a healed log, and a
313
+ * name that implies healing would let a caller skip the count — the reviewer's exact objection
314
+ * (codex `gpt-5.6-sol`, 2026-08-24: a defect at line 2 of 3 was filed as historical because line 3
315
+ * existed). These names state a position; the COUNT states how much evidence stands behind it, and
316
+ * the count is what a caller must show.
317
+ */
318
+ export type ChainDefectAge = 'before-run' | 'in-run';
319
+ /**
320
+ * The line where the log's current unbroken run begins: one past the last defect, or 1 when there
321
+ * are none.
322
+ *
323
+ * Why this exists: `dz doctor` reported "learning verdicts computed from this log are unsafe" for
324
+ * both `.dz` event logs, flatly, for four weeks. MEASURED 2026-08-24 — every defect in both files
325
+ * precedes an unbroken run of 998 of 1138 rows in one and 88 of 426 in the other. The verdict was
326
+ * true of the file and false of those runs, and a permanent red about something nobody can change is
327
+ * a red that stops being read.
328
+ */
329
+ export declare function liveSegmentStart(verification: EventChainVerification): number;
330
+ export interface ChainDefectAges {
331
+ /** Defects that an unbroken run has followed. How MUCH of a run is `runRecords`, never implied. */
332
+ readonly beforeRun: readonly EventChainDefect[];
333
+ /** Defects with nothing sound after them — the strong verdict is earned here. */
334
+ readonly inRun: readonly EventChainDefect[];
335
+ /** First line of the current unbroken run. */
336
+ readonly runFrom: number;
337
+ /**
338
+ * Records in that run. THE NUMBER IS THE EVIDENCE: 998 sound records after a break say something a
339
+ * caller may relax on; 1 says almost nothing, and a caller that prints "sound" without printing
340
+ * this number is overclaiming on its behalf.
341
+ */
342
+ readonly runRecords: number;
343
+ }
344
+ /**
345
+ * Split defects by whether an unbroken run followed them, and say how long that run is.
346
+ *
347
+ * `runFrom` is computed from the defects themselves, so a defect can never classify itself: the run
348
+ * only begins after the LAST of them. A log whose newest defect is its final record therefore has an
349
+ * empty `beforeRun` and a `runRecords` of zero.
350
+ */
351
+ export declare function classifyChainDefects(verification: EventChainVerification, totalRecords: number): ChainDefectAges;
302
352
  //# sourceMappingURL=event-chain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-chain.d.ts","sourceRoot":"","sources":["../src/event-chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-chain.d.ts","sourceRoot":"","sources":["../src/event-chain.ts"],"names":[],"mappings":"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"}