@descryy/core 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/dist/budget/reply.d.ts +11 -46
  2. package/dist/budget/reply.d.ts.map +1 -1
  3. package/dist/budget/reply.js +10 -39
  4. package/dist/budget/reply.js.map +1 -1
  5. package/dist/budget/size.d.ts +2 -21
  6. package/dist/budget/size.d.ts.map +1 -1
  7. package/dist/budget/size.js +3 -24
  8. package/dist/budget/size.js.map +1 -1
  9. package/dist/capabilities/preconditions.d.ts +7 -68
  10. package/dist/capabilities/preconditions.d.ts.map +1 -1
  11. package/dist/capabilities/preconditions.js +6 -57
  12. package/dist/capabilities/preconditions.js.map +1 -1
  13. package/dist/contracts/engine.d.ts +23 -11
  14. package/dist/contracts/engine.d.ts.map +1 -1
  15. package/dist/contracts/engine.js +23 -11
  16. package/dist/contracts/engine.js.map +1 -1
  17. package/dist/contracts/orphans.d.ts +18 -122
  18. package/dist/contracts/orphans.d.ts.map +1 -1
  19. package/dist/contracts/orphans.js +36 -134
  20. package/dist/contracts/orphans.js.map +1 -1
  21. package/dist/contracts/paths.d.ts +4 -114
  22. package/dist/contracts/paths.d.ts.map +1 -1
  23. package/dist/contracts/paths.js +7 -140
  24. package/dist/contracts/paths.js.map +1 -1
  25. package/dist/contracts/shapes.d.ts +13 -66
  26. package/dist/contracts/shapes.d.ts.map +1 -1
  27. package/dist/contracts/shapes.js +20 -91
  28. package/dist/contracts/shapes.js.map +1 -1
  29. package/dist/governance/budget.d.ts +12 -48
  30. package/dist/governance/budget.d.ts.map +1 -1
  31. package/dist/governance/budget.js +12 -48
  32. package/dist/governance/budget.js.map +1 -1
  33. package/dist/governance/candidate-boundary.d.ts +4 -32
  34. package/dist/governance/candidate-boundary.d.ts.map +1 -1
  35. package/dist/governance/candidate-boundary.js +4 -32
  36. package/dist/governance/candidate-boundary.js.map +1 -1
  37. package/dist/governance/escalation.d.ts +7 -45
  38. package/dist/governance/escalation.d.ts.map +1 -1
  39. package/dist/governance/escalation.js +7 -45
  40. package/dist/governance/escalation.js.map +1 -1
  41. package/dist/governance/fact-boundary.d.ts +7 -49
  42. package/dist/governance/fact-boundary.d.ts.map +1 -1
  43. package/dist/governance/fact-boundary.js +5 -43
  44. package/dist/governance/fact-boundary.js.map +1 -1
  45. package/dist/governance/finding-funnel.d.ts +11 -72
  46. package/dist/governance/finding-funnel.d.ts.map +1 -1
  47. package/dist/governance/finding-funnel.js +9 -68
  48. package/dist/governance/finding-funnel.js.map +1 -1
  49. package/dist/graph/build.d.ts +9 -90
  50. package/dist/graph/build.d.ts.map +1 -1
  51. package/dist/graph/build.js +15 -62
  52. package/dist/graph/build.js.map +1 -1
  53. package/dist/graph/cross-language.d.ts +4 -43
  54. package/dist/graph/cross-language.d.ts.map +1 -1
  55. package/dist/graph/cross-language.js +9 -77
  56. package/dist/graph/cross-language.js.map +1 -1
  57. package/dist/graph/merge.d.ts +8 -88
  58. package/dist/graph/merge.d.ts.map +1 -1
  59. package/dist/graph/merge.js +9 -93
  60. package/dist/graph/merge.js.map +1 -1
  61. package/dist/graph/observed-tests.d.ts +7 -68
  62. package/dist/graph/observed-tests.d.ts.map +1 -1
  63. package/dist/graph/observed-tests.js +5 -60
  64. package/dist/graph/observed-tests.js.map +1 -1
  65. package/dist/graph/persist.d.ts +2 -25
  66. package/dist/graph/persist.d.ts.map +1 -1
  67. package/dist/graph/persist.js +2 -25
  68. package/dist/graph/persist.js.map +1 -1
  69. package/dist/graph/runtime-confirmation.d.ts +14 -91
  70. package/dist/graph/runtime-confirmation.d.ts.map +1 -1
  71. package/dist/graph/runtime-confirmation.js +19 -103
  72. package/dist/graph/runtime-confirmation.js.map +1 -1
  73. package/dist/ledger/mint.d.ts +9 -43
  74. package/dist/ledger/mint.d.ts.map +1 -1
  75. package/dist/ledger/mint.js +15 -65
  76. package/dist/ledger/mint.js.map +1 -1
  77. package/dist/ledger/resolve.d.ts +13 -81
  78. package/dist/ledger/resolve.d.ts.map +1 -1
  79. package/dist/ledger/resolve.js +13 -76
  80. package/dist/ledger/resolve.js.map +1 -1
  81. package/dist/multipr/fingerprint.d.ts +5 -46
  82. package/dist/multipr/fingerprint.d.ts.map +1 -1
  83. package/dist/multipr/fingerprint.js +22 -74
  84. package/dist/multipr/fingerprint.js.map +1 -1
  85. package/dist/multipr/hidden-dependency.d.ts +13 -73
  86. package/dist/multipr/hidden-dependency.d.ts.map +1 -1
  87. package/dist/multipr/hidden-dependency.js +12 -63
  88. package/dist/multipr/hidden-dependency.js.map +1 -1
  89. package/dist/multipr/mechanical.d.ts +25 -160
  90. package/dist/multipr/mechanical.d.ts.map +1 -1
  91. package/dist/multipr/mechanical.js +21 -137
  92. package/dist/multipr/mechanical.js.map +1 -1
  93. package/dist/multipr/migration-heads.d.ts +18 -105
  94. package/dist/multipr/migration-heads.d.ts.map +1 -1
  95. package/dist/multipr/migration-heads.js +15 -84
  96. package/dist/multipr/migration-heads.js.map +1 -1
  97. package/dist/multipr/overlap.d.ts +16 -94
  98. package/dist/multipr/overlap.d.ts.map +1 -1
  99. package/dist/multipr/overlap.js +25 -105
  100. package/dist/multipr/overlap.js.map +1 -1
  101. package/dist/multipr/scope-store.d.ts +15 -80
  102. package/dist/multipr/scope-store.d.ts.map +1 -1
  103. package/dist/multipr/scope-store.js +17 -87
  104. package/dist/multipr/scope-store.js.map +1 -1
  105. package/dist/multipr/superseded.d.ts +10 -95
  106. package/dist/multipr/superseded.d.ts.map +1 -1
  107. package/dist/multipr/superseded.js +7 -60
  108. package/dist/multipr/superseded.js.map +1 -1
  109. package/dist/query/confirmed-facts.d.ts +12 -58
  110. package/dist/query/confirmed-facts.d.ts.map +1 -1
  111. package/dist/query/confirmed-facts.js +8 -47
  112. package/dist/query/confirmed-facts.js.map +1 -1
  113. package/dist/query/declared-value-closure.d.ts +13 -104
  114. package/dist/query/declared-value-closure.d.ts.map +1 -1
  115. package/dist/query/declared-value-closure.js +15 -104
  116. package/dist/query/declared-value-closure.js.map +1 -1
  117. package/dist/query/memory.d.ts +4 -16
  118. package/dist/query/memory.d.ts.map +1 -1
  119. package/dist/query/memory.js +9 -22
  120. package/dist/query/memory.js.map +1 -1
  121. package/dist/query/prominence.d.ts +6 -55
  122. package/dist/query/prominence.d.ts.map +1 -1
  123. package/dist/query/prominence.js +6 -55
  124. package/dist/query/prominence.js.map +1 -1
  125. package/dist/query/provider.d.ts +27 -93
  126. package/dist/query/provider.d.ts.map +1 -1
  127. package/dist/query/provider.js +8 -29
  128. package/dist/query/provider.js.map +1 -1
  129. package/dist/query/queries.d.ts +15 -65
  130. package/dist/query/queries.d.ts.map +1 -1
  131. package/dist/query/queries.js +30 -104
  132. package/dist/query/queries.js.map +1 -1
  133. package/dist/query/refusal-fetch.d.ts +8 -85
  134. package/dist/query/refusal-fetch.d.ts.map +1 -1
  135. package/dist/query/refusal-fetch.js +11 -93
  136. package/dist/query/refusal-fetch.js.map +1 -1
  137. package/dist/query/refusal-questions.d.ts +17 -92
  138. package/dist/query/refusal-questions.d.ts.map +1 -1
  139. package/dist/query/refusal-questions.js +14 -78
  140. package/dist/query/refusal-questions.js.map +1 -1
  141. package/dist/query/resolution-floor.d.ts +3 -23
  142. package/dist/query/resolution-floor.d.ts.map +1 -1
  143. package/dist/query/resolution-floor.js +3 -23
  144. package/dist/query/resolution-floor.js.map +1 -1
  145. package/dist/query/root-cause-score.d.ts +11 -161
  146. package/dist/query/root-cause-score.d.ts.map +1 -1
  147. package/dist/query/root-cause-score.js +6 -137
  148. package/dist/query/root-cause-score.js.map +1 -1
  149. package/dist/query/row-closure-picture.d.ts +5 -67
  150. package/dist/query/row-closure-picture.d.ts.map +1 -1
  151. package/dist/query/row-closure-picture.js +6 -67
  152. package/dist/query/row-closure-picture.js.map +1 -1
  153. package/dist/query/similar-incidents.d.ts +6 -41
  154. package/dist/query/similar-incidents.d.ts.map +1 -1
  155. package/dist/query/similar-incidents.js +15 -69
  156. package/dist/query/similar-incidents.js.map +1 -1
  157. package/dist/query/sqlite.d.ts +3 -7
  158. package/dist/query/sqlite.d.ts.map +1 -1
  159. package/dist/query/sqlite.js +9 -19
  160. package/dist/query/sqlite.js.map +1 -1
  161. package/dist/query/test-coverage.d.ts +5 -45
  162. package/dist/query/test-coverage.d.ts.map +1 -1
  163. package/dist/query/test-coverage.js +10 -53
  164. package/dist/query/test-coverage.js.map +1 -1
  165. package/dist/query/traverse.d.ts +22 -126
  166. package/dist/query/traverse.d.ts.map +1 -1
  167. package/dist/query/traverse.js +25 -126
  168. package/dist/query/traverse.js.map +1 -1
  169. package/dist/query/unresolved.d.ts +19 -164
  170. package/dist/query/unresolved.d.ts.map +1 -1
  171. package/dist/query/unresolved.js +11 -138
  172. package/dist/query/unresolved.js.map +1 -1
  173. package/dist/query/verification-status.d.ts +12 -109
  174. package/dist/query/verification-status.d.ts.map +1 -1
  175. package/dist/query/verification-status.js +9 -99
  176. package/dist/query/verification-status.js.map +1 -1
  177. package/dist/recording/migrate.d.ts +4 -10
  178. package/dist/recording/migrate.d.ts.map +1 -1
  179. package/dist/recording/migrate.js +4 -10
  180. package/dist/recording/migrate.js.map +1 -1
  181. package/dist/recording/reader.d.ts +2 -7
  182. package/dist/recording/reader.d.ts.map +1 -1
  183. package/dist/recording/reader.js +2 -7
  184. package/dist/recording/reader.js.map +1 -1
  185. package/dist/recording/redact.d.ts +6 -57
  186. package/dist/recording/redact.d.ts.map +1 -1
  187. package/dist/recording/redact.js +8 -64
  188. package/dist/recording/redact.js.map +1 -1
  189. package/dist/recording/schema.d.ts +3 -38
  190. package/dist/recording/schema.d.ts.map +1 -1
  191. package/dist/recording/schema.js +3 -38
  192. package/dist/recording/schema.js.map +1 -1
  193. package/dist/recording/writer.d.ts +11 -74
  194. package/dist/recording/writer.d.ts.map +1 -1
  195. package/dist/recording/writer.js +3 -43
  196. package/dist/recording/writer.js.map +1 -1
  197. package/dist/scoping/fanout.d.ts +6 -68
  198. package/dist/scoping/fanout.d.ts.map +1 -1
  199. package/dist/scoping/fanout.js +6 -68
  200. package/dist/scoping/fanout.js.map +1 -1
  201. package/dist/scoping/score.d.ts +20 -70
  202. package/dist/scoping/score.d.ts.map +1 -1
  203. package/dist/scoping/score.js +20 -70
  204. package/dist/scoping/score.js.map +1 -1
  205. package/dist/scoping/tiers.d.ts +4 -16
  206. package/dist/scoping/tiers.d.ts.map +1 -1
  207. package/dist/scoping/tiers.js +4 -16
  208. package/dist/scoping/tiers.js.map +1 -1
  209. package/dist/scoping/traverse.d.ts +3 -25
  210. package/dist/scoping/traverse.d.ts.map +1 -1
  211. package/dist/scoping/traverse.js +14 -49
  212. package/dist/scoping/traverse.js.map +1 -1
  213. package/dist/scoping/weights.d.ts +10 -74
  214. package/dist/scoping/weights.d.ts.map +1 -1
  215. package/dist/scoping/weights.js +14 -86
  216. package/dist/scoping/weights.js.map +1 -1
  217. package/dist/sources/confirmed/incidents.d.ts +5 -35
  218. package/dist/sources/confirmed/incidents.d.ts.map +1 -1
  219. package/dist/sources/confirmed/incidents.js +14 -48
  220. package/dist/sources/confirmed/incidents.js.map +1 -1
  221. package/dist/sources/git/diff.d.ts +71 -65
  222. package/dist/sources/git/diff.d.ts.map +1 -1
  223. package/dist/sources/git/diff.js +136 -83
  224. package/dist/sources/git/diff.js.map +1 -1
  225. package/dist/sources/git/env.d.ts +7 -0
  226. package/dist/sources/git/env.d.ts.map +1 -1
  227. package/dist/sources/git/env.js +10 -11
  228. package/dist/sources/git/env.js.map +1 -1
  229. package/dist/sources/git/history.d.ts +64 -84
  230. package/dist/sources/git/history.d.ts.map +1 -1
  231. package/dist/sources/git/history.js +141 -112
  232. package/dist/sources/git/history.js.map +1 -1
  233. package/dist/sources/git/incidents.d.ts +13 -75
  234. package/dist/sources/git/incidents.d.ts.map +1 -1
  235. package/dist/sources/git/incidents.js +21 -91
  236. package/dist/sources/git/incidents.js.map +1 -1
  237. package/dist/sources/git/index.d.ts +5 -3
  238. package/dist/sources/git/index.d.ts.map +1 -1
  239. package/dist/sources/git/index.js +3 -2
  240. package/dist/sources/git/index.js.map +1 -1
  241. package/dist/sources/git/source.d.ts +9 -79
  242. package/dist/sources/git/source.d.ts.map +1 -1
  243. package/dist/sources/git/source.js +33 -133
  244. package/dist/sources/git/source.js.map +1 -1
  245. package/dist/sources/migrations/across-change.d.ts +94 -0
  246. package/dist/sources/migrations/across-change.d.ts.map +1 -0
  247. package/dist/sources/migrations/across-change.js +278 -0
  248. package/dist/sources/migrations/across-change.js.map +1 -0
  249. package/dist/sources/migrations/dialects.d.ts +20 -36
  250. package/dist/sources/migrations/dialects.d.ts.map +1 -1
  251. package/dist/sources/migrations/dialects.js +11 -36
  252. package/dist/sources/migrations/dialects.js.map +1 -1
  253. package/dist/sources/migrations/index.d.ts +3 -1
  254. package/dist/sources/migrations/index.d.ts.map +1 -1
  255. package/dist/sources/migrations/index.js +2 -1
  256. package/dist/sources/migrations/index.js.map +1 -1
  257. package/dist/sources/migrations/read.d.ts +14 -79
  258. package/dist/sources/migrations/read.d.ts.map +1 -1
  259. package/dist/sources/migrations/read.js +14 -89
  260. package/dist/sources/migrations/read.js.map +1 -1
  261. package/dist/sources/workspace/workspace.d.ts +6 -42
  262. package/dist/sources/workspace/workspace.d.ts.map +1 -1
  263. package/dist/sources/workspace/workspace.js +10 -53
  264. package/dist/sources/workspace/workspace.js.map +1 -1
  265. package/dist/store/driver/driver.d.ts +9 -38
  266. package/dist/store/driver/driver.d.ts.map +1 -1
  267. package/dist/store/driver/driver.js +4 -22
  268. package/dist/store/driver/driver.js.map +1 -1
  269. package/dist/store/driver/node-sqlite.d.ts +3 -12
  270. package/dist/store/driver/node-sqlite.d.ts.map +1 -1
  271. package/dist/store/driver/node-sqlite.js +4 -18
  272. package/dist/store/driver/node-sqlite.js.map +1 -1
  273. package/dist/store/index.d.ts +2 -7
  274. package/dist/store/index.d.ts.map +1 -1
  275. package/dist/store/index.js +4 -10
  276. package/dist/store/index.js.map +1 -1
  277. package/dist/store/migrate.d.ts +14 -50
  278. package/dist/store/migrate.d.ts.map +1 -1
  279. package/dist/store/migrate.js +15 -52
  280. package/dist/store/migrate.js.map +1 -1
  281. package/dist/store/reader.d.ts +19 -84
  282. package/dist/store/reader.d.ts.map +1 -1
  283. package/dist/store/reader.js +25 -92
  284. package/dist/store/reader.js.map +1 -1
  285. package/dist/store/schema.d.ts +14 -76
  286. package/dist/store/schema.d.ts.map +1 -1
  287. package/dist/store/schema.js +14 -76
  288. package/dist/store/schema.js.map +1 -1
  289. package/dist/store/writer.d.ts +14 -88
  290. package/dist/store/writer.d.ts.map +1 -1
  291. package/dist/store/writer.js +29 -123
  292. package/dist/store/writer.js.map +1 -1
  293. package/dist/tiers/certify.d.ts +46 -281
  294. package/dist/tiers/certify.d.ts.map +1 -1
  295. package/dist/tiers/certify.js +46 -226
  296. package/dist/tiers/certify.js.map +1 -1
  297. package/dist/tiers/ladder.d.ts +7 -51
  298. package/dist/tiers/ladder.d.ts.map +1 -1
  299. package/dist/tiers/ladder.js +13 -89
  300. package/dist/tiers/ladder.js.map +1 -1
  301. package/dist/validation/attributes.d.ts +6 -55
  302. package/dist/validation/attributes.d.ts.map +1 -1
  303. package/dist/validation/attributes.js +6 -55
  304. package/dist/validation/attributes.js.map +1 -1
  305. package/dist/validation/config-graph.d.ts +7 -56
  306. package/dist/validation/config-graph.d.ts.map +1 -1
  307. package/dist/validation/config-graph.js +15 -61
  308. package/dist/validation/config-graph.js.map +1 -1
  309. package/dist/validation/env.d.ts +7 -1
  310. package/dist/validation/env.d.ts.map +1 -1
  311. package/dist/validation/env.js +3 -1
  312. package/dist/validation/env.js.map +1 -1
  313. package/dist/validation/join-substitution.d.ts +22 -120
  314. package/dist/validation/join-substitution.d.ts.map +1 -1
  315. package/dist/validation/join-substitution.js +13 -90
  316. package/dist/validation/join-substitution.js.map +1 -1
  317. package/dist/validation/migration-integrity.d.ts +11 -72
  318. package/dist/validation/migration-integrity.d.ts.map +1 -1
  319. package/dist/validation/migration-integrity.js +16 -79
  320. package/dist/validation/migration-integrity.js.map +1 -1
  321. package/dist/validation/migrations.d.ts +22 -101
  322. package/dist/validation/migrations.d.ts.map +1 -1
  323. package/dist/validation/migrations.js +19 -83
  324. package/dist/validation/migrations.js.map +1 -1
  325. package/dist/validation/nodes.d.ts +3 -1
  326. package/dist/validation/nodes.d.ts.map +1 -1
  327. package/dist/validation/nodes.js +3 -1
  328. package/dist/validation/nodes.js.map +1 -1
  329. package/dist/validation/rollback.d.ts +10 -73
  330. package/dist/validation/rollback.d.ts.map +1 -1
  331. package/dist/validation/rollback.js +15 -82
  332. package/dist/validation/rollback.js.map +1 -1
  333. package/dist/validation/route-drift.d.ts +9 -62
  334. package/dist/validation/route-drift.d.ts.map +1 -1
  335. package/dist/validation/route-drift.js +7 -52
  336. package/dist/validation/route-drift.js.map +1 -1
  337. package/dist/validation/sources.d.ts +16 -94
  338. package/dist/validation/sources.d.ts.map +1 -1
  339. package/dist/validation/sources.js +51 -147
  340. package/dist/validation/sources.js.map +1 -1
  341. package/dist/worker/pool.d.ts +6 -45
  342. package/dist/worker/pool.d.ts.map +1 -1
  343. package/dist/worker/pool.js +5 -42
  344. package/dist/worker/pool.js.map +1 -1
  345. package/dist/worker/protocol.d.ts +7 -20
  346. package/dist/worker/protocol.d.ts.map +1 -1
  347. package/dist/worker/protocol.js +3 -10
  348. package/dist/worker/protocol.js.map +1 -1
  349. package/dist/worker/traversal.worker.d.ts +2 -21
  350. package/dist/worker/traversal.worker.d.ts.map +1 -1
  351. package/dist/worker/traversal.worker.js +4 -23
  352. package/dist/worker/traversal.worker.js.map +1 -1
  353. package/package.json +11 -2
@@ -1,50 +1,7 @@
1
1
  /**
2
- * TIER-A-2's value-lookup half — DEC-223, DEC-136.
3
- *
4
- * DEC-120/DEC-121 (`validation/{env,sources}.ts`, Lane D) already answer *"is
5
- * this variable declared anywhere"*. A refusal-ledger row needs a different
6
- * question answered: *"what value does this blocked blockedBy hold, per
7
- * environment, from what the repository already has on disk."* Same
8
- * declaration surfaces, a different consumer — this file only reads
9
- * `sources.ts`'s exports, it does not change them. See `parallel-agents.md`
10
- * §3's ledger-lookup row.
11
- *
12
- * ## What this deliberately does not take as input, and why
13
- *
14
- * The obvious signature would be `resolve(row: UnresolvedRef)`. `UnresolvedRef`
15
- * does not carry the blocked blockedBy — `rawTarget` is the callee
16
- * (`"fetch"`, `"api.get"`), and `reason` is human prose with no variable name
17
- * in it (confirmed by reading real rows: the same sentence fires for every
18
- * `api.<verb>` call regardless of which variable blocks it). DEC-223 §1 asks
19
- * for `attrs.blockedBy` to carry this and it does not exist in any shipped
20
- * adapter yet — that request is open, addressed to whoever ships the next
21
- * ledger-producing change. So this takes an **blockedBy string** directly.
22
- * A caller with `attrs.blockedBy` available passes it straight through; a
23
- * caller without it (today, every real batch) supplies whatever it already
24
- * determined by reading source — which is what the TIER-A-2 measurement this
25
- * module was built to close used.
26
- *
27
- * ## Formats read
28
- *
29
- * `.env*` and `wrangler.toml`'s `[vars]`/`[env.<name>.vars]` tables
30
- * (`REQUEST-D-wrangler-vars-format.md`, DEC-245). Container manifests and
31
- * image builds are already in `sources.ts`'s declaration scan but that scan
32
- * discards the *value* half — it only proves a name is declared, never what
33
- * it is bound to — and neither measured repository's real questions resolve
34
- * through either format.
35
- *
36
- * The wrangler reading itself lives in `sources.ts` — `readWranglerVarsEntries`
37
- * — the same file that owns every other format's structural read. This module
38
- * only turns its output into `DeclaredEnvValue`s, the same way it already does
39
- * for `readDotenvValues`; one reader per format, never a second one for the
40
- * same file here.
41
- *
42
- * ## Never guessed, always refused
43
- *
44
- * `candidateEnvNames` returns `[]` — never a best guess — for any blockedBy
45
- * shape it does not recognise. An blockedBy this module cannot parse stays
46
- * exactly as open as it was before this module existed; principle 2 applies
47
- * to a lookup the same way it applies to an edge.
2
+ * TIER-A-2's value-lookup half (DEC-223, DEC-136). DEC-120/121 ask "is this declared"; this asks what value it holds per environment, from .env* and wrangler.toml [vars] on disk (DEC-245).
3
+ * Takes a blockedBy string directly — DEC-223 §1's attrs.blockedBy ships in no adapter yet.
4
+ * candidateEnvNames returns [] rather than guessing — never guessed, always refused (rule 2).
48
5
  */
49
6
  import type { ResolutionLevel } from "@descryy/ir";
50
7
  import type { ConfigSurface, SurfaceScan } from "./../validation/sources.ts";
@@ -77,48 +34,23 @@ export interface LedgerAccessorResolution {
77
34
  readonly candidates: readonly string[];
78
35
  /** One per environment for which some candidate resolved. */
79
36
  readonly resolved: readonly ResolvedValue[];
80
- /**
81
- * Every environment this repository's own `.env*` naming asserts exists —
82
- * from filenames actually present, including example/placeholder files.
83
- * Never invented: a repository with no `.env.production*` file anywhere
84
- * does not get `"production"` added here on the assumption that one must
85
- * exist. That is the difference between disclosing a real gap and
86
- * guessing at one.
87
- */
37
+ /** Every environment this repo's `.env*` filenames actually assert exists.
38
+ * Never invented: no `.env.production*` file means no "production" added. */
88
39
  readonly knownEnvironments: readonly string[];
89
40
  /** `knownEnvironments` minus `resolved`'s environments — the honest "still open" list. */
90
41
  readonly unresolvedEnvironments: readonly string[];
91
- /**
92
- * DEC-244's precedent (corrected from an earlier mis-citation of DEC-111,
93
- * which is unrelated): a direct read of a declarative document needs no
94
- * resolution and is treated as R3, the same class of evidence
95
- * `adapter-openapi`/`adapter-sql` use to reach R3 with no language adapter
96
- * at all. Present only when at least one candidate was recognised — an
97
- * unparseable blockedBy has no resolution to state because nothing was
98
- * read.
99
- */
42
+ /** DEC-244's precedent: a direct declarative-document read needs no
43
+ * resolution, treated as R3. Present only when a candidate was recognised. */
100
44
  readonly resolution: ResolutionLevel | null;
101
45
  }
102
- /**
103
- * The candidate variable names an blockedBy could resolve to, in the order
104
- * they would actually be tried at runtime. `[]` when any side of the
105
- * blockedBy is neither a recognised accessor nor a literal fallback —
106
- * refused as a whole rather than partially understood, per rule 2.
107
- */
46
+ /** Candidate names an blockedBy could resolve to, in try order. `[]` when any
47
+ * side is neither accessor nor literal — refused whole, per rule 2. */
108
48
  export declare function candidateEnvNames(blockedBy: string): readonly string[];
109
- /**
110
- * Every value this repository's `.env*` and `wrangler.toml` surfaces state,
111
- * across every environment they name. Read once per repository;
112
- * `resolveAgainstDeclared` runs many times against the result rather than
113
- * rescanning per ledger row.
114
- */
49
+ /** Every value this repo's `.env*`/`wrangler.toml` surfaces state. Read once
50
+ * per repository; resolveAgainstDeclared runs many times against the result. */
115
51
  export declare function readDeclaredEnvValues(root: string, scan: SurfaceScan, readFile: (file: string) => string): readonly DeclaredEnvValue[];
116
- /**
117
- * Resolve one blocked blockedBy against every declared value this
118
- * repository already has on disk. Never invents an environment, never picks
119
- * a value from a different repository, never treats an example file's
120
- * placeholder as an answer.
121
- */
52
+ /** Resolve one blocked blockedBy against declared values on disk. Never
53
+ * invents an environment or treats an example's placeholder as an answer. */
122
54
  export declare function resolveAgainstDeclared(blockedBy: string, declared: readonly DeclaredEnvValue[]): LedgerAccessorResolution;
123
55
  export type { ConfigSurface };
124
56
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/ledger/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAG7E,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,0FAA0F;IAC1F,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;CAC7C;AA2DD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CActE;AAsCD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,gBAAgB,EAAE,CA8CtI;AAgBD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACpC,wBAAwB,CAiD1B;AAED,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/ledger/resolve.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAG7E,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,oGAAoG;IACpG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C;kFAC8E;IAC9E,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,0FAA0F;IAC1F,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD;mFAC+E;IAC/E,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;CAC7C;AAoDD;wEACwE;AACxE,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CActE;AAsCD;iFACiF;AACjF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,gBAAgB,EAAE,CA6CtI;AAgBD;8EAC8E;AAC9E,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACpC,wBAAwB,CAiD1B;AAED,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -1,50 +1,7 @@
1
1
  /**
2
- * TIER-A-2's value-lookup half — DEC-223, DEC-136.
3
- *
4
- * DEC-120/DEC-121 (`validation/{env,sources}.ts`, Lane D) already answer *"is
5
- * this variable declared anywhere"*. A refusal-ledger row needs a different
6
- * question answered: *"what value does this blocked blockedBy hold, per
7
- * environment, from what the repository already has on disk."* Same
8
- * declaration surfaces, a different consumer — this file only reads
9
- * `sources.ts`'s exports, it does not change them. See `parallel-agents.md`
10
- * §3's ledger-lookup row.
11
- *
12
- * ## What this deliberately does not take as input, and why
13
- *
14
- * The obvious signature would be `resolve(row: UnresolvedRef)`. `UnresolvedRef`
15
- * does not carry the blocked blockedBy — `rawTarget` is the callee
16
- * (`"fetch"`, `"api.get"`), and `reason` is human prose with no variable name
17
- * in it (confirmed by reading real rows: the same sentence fires for every
18
- * `api.<verb>` call regardless of which variable blocks it). DEC-223 §1 asks
19
- * for `attrs.blockedBy` to carry this and it does not exist in any shipped
20
- * adapter yet — that request is open, addressed to whoever ships the next
21
- * ledger-producing change. So this takes an **blockedBy string** directly.
22
- * A caller with `attrs.blockedBy` available passes it straight through; a
23
- * caller without it (today, every real batch) supplies whatever it already
24
- * determined by reading source — which is what the TIER-A-2 measurement this
25
- * module was built to close used.
26
- *
27
- * ## Formats read
28
- *
29
- * `.env*` and `wrangler.toml`'s `[vars]`/`[env.<name>.vars]` tables
30
- * (`REQUEST-D-wrangler-vars-format.md`, DEC-245). Container manifests and
31
- * image builds are already in `sources.ts`'s declaration scan but that scan
32
- * discards the *value* half — it only proves a name is declared, never what
33
- * it is bound to — and neither measured repository's real questions resolve
34
- * through either format.
35
- *
36
- * The wrangler reading itself lives in `sources.ts` — `readWranglerVarsEntries`
37
- * — the same file that owns every other format's structural read. This module
38
- * only turns its output into `DeclaredEnvValue`s, the same way it already does
39
- * for `readDotenvValues`; one reader per format, never a second one for the
40
- * same file here.
41
- *
42
- * ## Never guessed, always refused
43
- *
44
- * `candidateEnvNames` returns `[]` — never a best guess — for any blockedBy
45
- * shape it does not recognise. An blockedBy this module cannot parse stays
46
- * exactly as open as it was before this module existed; principle 2 applies
47
- * to a lookup the same way it applies to an edge.
2
+ * TIER-A-2's value-lookup half (DEC-223, DEC-136). DEC-120/121 ask "is this declared"; this asks what value it holds per environment, from .env* and wrangler.toml [vars] on disk (DEC-245).
3
+ * Takes a blockedBy string directly — DEC-223 §1's attrs.blockedBy ships in no adapter yet.
4
+ * candidateEnvNames returns [] rather than guessing — never guessed, always refused (rule 2).
48
5
  */
49
6
  import { readWranglerVarsEntries } from "./../validation/sources.js";
50
7
  /** Direct reads of `.env*` need no resolution — DEC-244's precedent, reused rather than restated. */
@@ -57,15 +14,8 @@ const ACCESSOR = [
57
14
  /^env\[["']([A-Za-z_][A-Za-z0-9_]*)["']\]$/,
58
15
  ];
59
16
  const LITERAL = /^(?:(["'`]).*\1|undefined|null|true|false|\d+(?:\.\d+)?)$/;
60
- /**
61
- * Split on top-level `||` / `??`, never inside a quoted literal.
62
- *
63
- * The blocked strings this reads are call-site fragments, not general JS — no
64
- * nested ternaries, no parenthesised groups observed in either measured
65
- * repository. Good enough for what real code does here; anything stranger
66
- * fails a `parseSide` downstream and the whole blockedBy is refused rather
67
- * than partially trusted.
68
- */
17
+ /** Split on top-level `||`/`??`, never inside a quoted literal. Good enough
18
+ * for call-site fragments; anything stranger fails parseSide and the whole blockedBy is refused, not partially trusted. */
69
19
  function splitTopLevelFallback(blockedBy) {
70
20
  const parts = [];
71
21
  let depth = 0;
@@ -103,12 +53,8 @@ function parseSide(side) {
103
53
  }
104
54
  return null;
105
55
  }
106
- /**
107
- * The candidate variable names an blockedBy could resolve to, in the order
108
- * they would actually be tried at runtime. `[]` when any side of the
109
- * blockedBy is neither a recognised accessor nor a literal fallback —
110
- * refused as a whole rather than partially understood, per rule 2.
111
- */
56
+ /** Candidate names an blockedBy could resolve to, in try order. `[]` when any
57
+ * side is neither accessor nor literal — refused whole, per rule 2. */
112
58
  export function candidateEnvNames(blockedBy) {
113
59
  const sides = splitTopLevelFallback(blockedBy);
114
60
  if (sides.length === 0)
@@ -165,12 +111,8 @@ function readDotenvValues(text) {
165
111
  }
166
112
  return out;
167
113
  }
168
- /**
169
- * Every value this repository's `.env*` and `wrangler.toml` surfaces state,
170
- * across every environment they name. Read once per repository;
171
- * `resolveAgainstDeclared` runs many times against the result rather than
172
- * rescanning per ledger row.
173
- */
114
+ /** Every value this repo's `.env*`/`wrangler.toml` surfaces state. Read once
115
+ * per repository; resolveAgainstDeclared runs many times against the result. */
174
116
  export function readDeclaredEnvValues(root, scan, readFile) {
175
117
  const out = [];
176
118
  for (const surface of scan.surfaces) {
@@ -184,9 +126,8 @@ export function readDeclaredEnvValues(root, scan, readFile) {
184
126
  continue; // unreadable — already surfaced by scanConfigSurfaces's own `unreadable` list
185
127
  }
186
128
  if (surface.format === "wranglerVars") {
187
- // A commented-out `# KEY = "value"` line documents, it does not supply —
188
- // the same rule `readDotenvValues` applies by simply never reading a
189
- // commented line at all.
129
+ // A commented-out line documents, it does not supply — same rule
130
+ // readDotenvValues applies by never reading a commented line.
190
131
  for (const entry of readWranglerVarsEntries(text)) {
191
132
  if (entry.commented || entry.value === null)
192
133
  continue;
@@ -234,12 +175,8 @@ function pickBest(candidates) {
234
175
  return local;
235
176
  return candidates.find((c) => !c.example);
236
177
  }
237
- /**
238
- * Resolve one blocked blockedBy against every declared value this
239
- * repository already has on disk. Never invents an environment, never picks
240
- * a value from a different repository, never treats an example file's
241
- * placeholder as an answer.
242
- */
178
+ /** Resolve one blocked blockedBy against declared values on disk. Never
179
+ * invents an environment or treats an example's placeholder as an answer. */
243
180
  export function resolveAgainstDeclared(blockedBy, declared) {
244
181
  const candidates = candidateEnvNames(blockedBy);
245
182
  const knownEnvironments = knownEnvironmentsOf(declared);
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/ledger/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/ledger/resolve.ts"],"names":[],"mappings":"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"}
@@ -1,42 +1,6 @@
1
- /**
2
- * §14.5's missing half: producing the fingerprints `findSuperseded` compares.
3
- *
4
- * ## The two git semantics, and why they differ on purpose
5
- *
6
- * The question is *"is this change's work already on base?"*, and answering it
7
- * needs **two different diffs**:
8
- *
9
- * - **What the change touched** comes from `base...head` — three dots, against
10
- * the merge base. That is what a reviewer sees, and it does not include
11
- * somebody else's commits that landed on base afterwards.
12
- * - **What base holds now** comes from the **tip of base**, not the merge base.
13
- *
14
- * That asymmetry *is* the mechanism. If someone else landed the same work while
15
- * this change sat open, the three-dot diff still shows the change touching the
16
- * file — its merge base is old — while base's tip already matches. Comparing
17
- * against the merge base instead would report every open change as unsuperseded
18
- * forever, because a merge base by construction predates the change.
19
- *
20
- * ## Granularity is the honest limit, and it is not a resolution problem
21
- *
22
- * These are **whole-file** hashes — git's own blob ids, which is the strongest
23
- * available statement that two versions are identical, and the weakest useful
24
- * unit. A change that edited one file for two reasons, one of which landed, is
25
- * reported as differing. That is the conservative direction and the correct one:
26
- * the finding this feeds tells a human to close a pull request, so a missed
27
- * supersession costs a review and a false one costs the work.
28
- *
29
- * Node-level fingerprints would need the same file re-parsed at two commits,
30
- * which is adapter work rather than core's. When that exists it changes the
31
- * basis string and nothing else — `findSuperseded` compares opaque strings by
32
- * construction, so this is a producer swap, not a redesign.
33
- *
34
- * ## What is not language knowledge
35
- *
36
- * Nothing here reads code. It asks git for content hashes and compares them,
37
- * which is why it can ship in core at all — rule 1 is satisfied by never
38
- * looking inside the bytes.
39
- */
1
+ /** §14.5's missing half: fingerprints for `findSuperseded`. Two diffs on purpose — what changed
2
+ * (`base...head`) vs what base holds NOW (its tip) — so work landed elsewhere while open still
3
+ * shows superseded. Whole-file git blob ids (rule 2's conservative direction); no code read (rule 1). */
40
4
  import type { SupersededCandidate } from "./superseded.ts";
41
5
  /** What `git ls-tree`/`diff` produced, and what a caller must be told about it. */
42
6
  export interface CandidateReport {
@@ -45,12 +9,7 @@ export interface CandidateReport {
45
9
  /** The string `findSuperseded` should carry into its disclosure. */
46
10
  readonly fingerprintBasis: string;
47
11
  }
48
- /**
49
- * Fingerprint every file a change touched, as the change leaves it and as base
50
- * holds it now.
51
- *
52
- * @param base the branch this change would merge into — compared at its **tip**
53
- * @param head the tip of the change
54
- */
12
+ /** Fingerprints every file a change touched, as the change leaves it and as base holds it now.
13
+ * `base` is compared at its tip; `head` is the tip of the change. */
55
14
  export declare function supersededCandidates(cwd: string, base: string, head?: string): Promise<CandidateReport>;
56
15
  //# sourceMappingURL=fingerprint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../src/multipr/fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,oEAAoE;IACpE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAkED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,SAAS,GACZ,OAAO,CAAC,eAAe,CAAC,CAoE1B"}
1
+ {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../src/multipr/fingerprint.ts"],"names":[],"mappings":"AAAA;;0GAE0G;AAK1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,oEAAoE;IACpE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AA0DD;sEACsE;AACtE,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,SAAS,GACZ,OAAO,CAAC,eAAe,CAAC,CAiE1B"}
@@ -1,55 +1,17 @@
1
- /**
2
- * §14.5's missing half: producing the fingerprints `findSuperseded` compares.
3
- *
4
- * ## The two git semantics, and why they differ on purpose
5
- *
6
- * The question is *"is this change's work already on base?"*, and answering it
7
- * needs **two different diffs**:
8
- *
9
- * - **What the change touched** comes from `base...head` — three dots, against
10
- * the merge base. That is what a reviewer sees, and it does not include
11
- * somebody else's commits that landed on base afterwards.
12
- * - **What base holds now** comes from the **tip of base**, not the merge base.
13
- *
14
- * That asymmetry *is* the mechanism. If someone else landed the same work while
15
- * this change sat open, the three-dot diff still shows the change touching the
16
- * file — its merge base is old — while base's tip already matches. Comparing
17
- * against the merge base instead would report every open change as unsuperseded
18
- * forever, because a merge base by construction predates the change.
19
- *
20
- * ## Granularity is the honest limit, and it is not a resolution problem
21
- *
22
- * These are **whole-file** hashes — git's own blob ids, which is the strongest
23
- * available statement that two versions are identical, and the weakest useful
24
- * unit. A change that edited one file for two reasons, one of which landed, is
25
- * reported as differing. That is the conservative direction and the correct one:
26
- * the finding this feeds tells a human to close a pull request, so a missed
27
- * supersession costs a review and a false one costs the work.
28
- *
29
- * Node-level fingerprints would need the same file re-parsed at two commits,
30
- * which is adapter work rather than core's. When that exists it changes the
31
- * basis string and nothing else — `findSuperseded` compares opaque strings by
32
- * construction, so this is a producer swap, not a redesign.
33
- *
34
- * ## What is not language knowledge
35
- *
36
- * Nothing here reads code. It asks git for content hashes and compares them,
37
- * which is why it can ship in core at all — rule 1 is satisfied by never
38
- * looking inside the bytes.
39
- */
1
+ /** §14.5's missing half: fingerprints for `findSuperseded`. Two diffs on purpose — what changed
2
+ * (`base...head`) vs what base holds NOW (its tip) — so work landed elsewhere while open still
3
+ * shows superseded. Whole-file git blob ids (rule 2's conservative direction); no code read (rule 1). */
40
4
  import { spawn } from "node:child_process";
41
- import { cleanGitEnv } from "../sources/git/env.js";
5
+ import { cleanGitEnv, HARDENED_GIT_CONFIG_ARGS } from "../sources/git/env.js";
42
6
  const BASIS = "git blob identity at whole-file granularity — two versions are called identical when git " +
43
7
  "gives them the same object id, and a difference means only that the file bytes differ";
44
- /**
45
- * Pathspecs are chunked rather than passed whole. A large change can exceed the
46
- * argument limit, and the failure mode is an OS-level error whose message says
47
- * nothing about paths — the kind of thing that gets diagnosed as a git problem.
48
- */
8
+ /** Pathspecs are chunked — a large change can exceed the argument limit, failing with an
9
+ * OS-level error that says nothing about paths (easy to misdiagnose as a git problem). */
49
10
  const PATH_CHUNK = 200;
11
+ // Strips GIT_DIR/GIT_WORK_TREE/GIT_INDEX_FILE/GIT_COMMON_DIR, sets GIT_CONFIG_NOSYSTEM, applies HARDENED_GIT_CONFIG_ARGS (env.ts, B-11).
50
12
  async function git(cwd, args) {
51
13
  return new Promise((resolve, reject) => {
52
- const child = spawn("git", args, { cwd, env: cleanGitEnv() });
14
+ const child = spawn("git", [...HARDENED_GIT_CONFIG_ARGS, ...args], { cwd, env: cleanGitEnv() });
53
15
  let out = "";
54
16
  let err = "";
55
17
  child.stdout.on("data", (d) => (out += d.toString("utf8")));
@@ -63,15 +25,9 @@ async function git(cwd, args) {
63
25
  });
64
26
  });
65
27
  }
66
- /**
67
- * Blob ids for `paths` at `ref`. A path absent from the tree is **absent from
68
- * the map**, which the caller turns into `"absent"` — distinct from a git
69
- * failure, which throws and becomes `"unknown"`.
70
- *
71
- * `-z` because a path may legally contain a newline. (It may not contain NUL,
72
- * which is why NUL is the correct delimiter *on a pipe* even though it is the
73
- * wrong thing to write into a file a human is meant to review.)
74
- */
28
+ /** Blob ids for `paths` at `ref`. A path absent from the tree is absent from the map (caller
29
+ * turns that into "absent"; a git failure throws and becomes "unknown"). `-z`: paths may
30
+ * contain a newline but never NUL, the correct delimiter on a pipe. */
75
31
  async function blobIds(cwd, ref, paths) {
76
32
  const found = new Map();
77
33
  for (let i = 0; i < paths.length; i += PATH_CHUNK) {
@@ -100,26 +56,21 @@ function diffTypeOf(status) {
100
56
  return "deleted";
101
57
  return "modified";
102
58
  }
103
- /**
104
- * Fingerprint every file a change touched, as the change leaves it and as base
105
- * holds it now.
106
- *
107
- * @param base the branch this change would merge into — compared at its **tip**
108
- * @param head the tip of the change
109
- */
59
+ /** Fingerprints every file a change touched, as the change leaves it and as base holds it now.
60
+ * `base` is compared at its tip; `head` is the tip of the change. */
110
61
  export async function supersededCandidates(cwd, base, head = "HEAD") {
111
62
  const notes = [];
112
- // Three dots: what this change touched, against the merge base. Renames are
113
- // followed so a moved file is one candidate rather than a delete and an add.
114
- const statusOut = await git(cwd, ["diff", "--name-status", "-M", "-z", `${base}...${head}`]);
63
+ // Three dots: what this change touched vs the merge base; renames followed so a moved file is
64
+ // one candidate, not a delete+add. --no-ext-diff isn't load-bearing here (--name-status renders
65
+ // no patch text) but kept for consistency with diff.ts, in case this starts rendering a patch.
66
+ const statusOut = await git(cwd, ["diff", "--no-ext-diff", "--name-status", "-M", "-z", `${base}...${head}`]);
115
67
  const touched = [];
116
68
  const fields = statusOut.split("\0");
117
69
  for (let i = 0; i < fields.length; i += 1) {
118
70
  const status = fields[i];
119
71
  if (status === undefined || status === "")
120
72
  continue;
121
- // A rename record is `R<score>\0<old>\0<new>` — three fields, and the new
122
- // path is the one that exists to be compared.
73
+ // A rename record is `R<score>\0<old>\0<new>` — three fields; the new path is what's compared.
123
74
  if (status.startsWith("R") || status.startsWith("C")) {
124
75
  const to = fields[i + 2];
125
76
  if (to !== undefined && to !== "")
@@ -138,8 +89,7 @@ export async function supersededCandidates(cwd, base, head = "HEAD") {
138
89
  return { candidates: [], notes, fingerprintBasis: BASIS };
139
90
  }
140
91
  const paths = touched.map((t) => t.path);
141
- // The tip of base, deliberately — see the header. Resolved once so a branch
142
- // that moves mid-run cannot make two halves of one answer disagree.
92
+ // The tip of base, deliberately (see header) — resolved once so a branch moving mid-run can't split the answer.
143
93
  const baseSha = (await git(cwd, ["rev-parse", base])).trim();
144
94
  const [afterBlobs, baseBlobs] = await Promise.all([
145
95
  blobIds(cwd, head, paths),
@@ -151,11 +101,9 @@ export async function supersededCandidates(cwd, base, head = "HEAD") {
151
101
  diffType: t.diffType,
152
102
  after: afterBlobs.get(t.path) ?? "absent",
153
103
  base: baseBlobs.get(t.path) ?? "absent",
154
- // R0: nothing was parsed. The comparison itself is exact — git object ids
155
- // are equal only for identical content — but the *claim* rests on
156
- // whole-file granularity being the right unit for "this work is already
157
- // there", which is a judgement no resolution level supports. Rule 2's
158
- // direction: understate.
104
+ // R0: nothing was parsed. The blob-id comparison itself is exact, but the claim rests on
105
+ // whole-file granularity being the right unit — a judgement no resolution level supports.
106
+ // Rule 2's direction: understate.
159
107
  resolution: 0,
160
108
  }));
161
109
  notes.push(`${candidates.length} file(s) fingerprinted at ${head} and at ${base} (${baseSha.slice(0, 12)}). ` +
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../src/multipr/fingerprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../src/multipr/fingerprint.ts"],"names":[],"mappings":"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"}