@amalgm/live 0.2.81-main.41740705397 → 0.2.81-main.41784750721

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 (195) hide show
  1. package/dist/apply/contracts.d.ts +4 -2
  2. package/dist/apply/contracts.d.ts.map +1 -1
  3. package/dist/apply/contracts.js.map +1 -1
  4. package/dist/apply/index.d.ts +0 -3
  5. package/dist/apply/index.d.ts.map +1 -1
  6. package/dist/apply/index.js +0 -3
  7. package/dist/apply/index.js.map +1 -1
  8. package/dist/apply/plans.d.ts +3 -4
  9. package/dist/apply/plans.d.ts.map +1 -1
  10. package/dist/apply/plans.js +2 -6
  11. package/dist/apply/plans.js.map +1 -1
  12. package/dist/apply/settling.d.ts +1 -1
  13. package/dist/apply/settling.d.ts.map +1 -1
  14. package/dist/apply/window.d.ts +0 -2
  15. package/dist/apply/window.d.ts.map +1 -1
  16. package/dist/apply/window.js +0 -2
  17. package/dist/apply/window.js.map +1 -1
  18. package/dist/contracts/validate.d.ts +0 -2
  19. package/dist/contracts/validate.d.ts.map +1 -1
  20. package/dist/contracts/validate.js +0 -2
  21. package/dist/contracts/validate.js.map +1 -1
  22. package/dist/detection/batch.d.ts +0 -1
  23. package/dist/detection/batch.d.ts.map +1 -1
  24. package/dist/detection/batch.js +1 -4
  25. package/dist/detection/batch.js.map +1 -1
  26. package/dist/detection/content.d.ts +29 -12
  27. package/dist/detection/content.d.ts.map +1 -1
  28. package/dist/detection/content.js +58 -75
  29. package/dist/detection/content.js.map +1 -1
  30. package/dist/detection/echo.d.ts +3 -15
  31. package/dist/detection/echo.d.ts.map +1 -1
  32. package/dist/detection/echo.js +3 -18
  33. package/dist/detection/echo.js.map +1 -1
  34. package/dist/detection/enrollment.d.ts +3 -5
  35. package/dist/detection/enrollment.d.ts.map +1 -1
  36. package/dist/detection/enrollment.js.map +1 -1
  37. package/dist/detection/index.d.ts +2 -0
  38. package/dist/detection/index.d.ts.map +1 -1
  39. package/dist/detection/index.js +2 -0
  40. package/dist/detection/index.js.map +1 -1
  41. package/dist/detection/record-order.d.ts +37 -0
  42. package/dist/detection/record-order.d.ts.map +1 -0
  43. package/dist/detection/record-order.js +311 -0
  44. package/dist/detection/record-order.js.map +1 -0
  45. package/dist/detection/record-proposal.d.ts +3 -0
  46. package/dist/detection/record-proposal.d.ts.map +1 -1
  47. package/dist/detection/record-proposal.js +6 -3
  48. package/dist/detection/record-proposal.js.map +1 -1
  49. package/dist/detection/removals.d.ts +0 -1
  50. package/dist/detection/removals.d.ts.map +1 -1
  51. package/dist/detection/removals.js +1 -4
  52. package/dist/detection/removals.js.map +1 -1
  53. package/dist/entities/graph-head.d.ts +0 -7
  54. package/dist/entities/graph-head.d.ts.map +1 -1
  55. package/dist/entities/graph-head.js +0 -13
  56. package/dist/entities/graph-head.js.map +1 -1
  57. package/dist/entities/index.d.ts +0 -8
  58. package/dist/entities/index.d.ts.map +1 -1
  59. package/dist/entities/index.js +0 -8
  60. package/dist/entities/index.js.map +1 -1
  61. package/dist/entities/rules.d.ts +7 -69
  62. package/dist/entities/rules.d.ts.map +1 -1
  63. package/dist/entities/rules.js +1 -148
  64. package/dist/entities/rules.js.map +1 -1
  65. package/dist/entities/types.d.ts +3 -24
  66. package/dist/entities/types.d.ts.map +1 -1
  67. package/dist/files/cloud-files.d.ts.map +1 -1
  68. package/dist/files/cloud-files.js +2 -1
  69. package/dist/files/cloud-files.js.map +1 -1
  70. package/dist/git/merge.d.ts +1 -1
  71. package/dist/git/merge.js +1 -1
  72. package/dist/records/contracts.d.ts +0 -1
  73. package/dist/records/contracts.d.ts.map +1 -1
  74. package/dist/records/contracts.js +0 -1
  75. package/dist/records/contracts.js.map +1 -1
  76. package/dist/registration/user-ground.d.ts +9 -0
  77. package/dist/registration/user-ground.d.ts.map +1 -1
  78. package/dist/registration/user-ground.js +29 -10
  79. package/dist/registration/user-ground.js.map +1 -1
  80. package/dist/steps.d.ts +0 -2
  81. package/dist/steps.d.ts.map +1 -1
  82. package/dist/steps.js +0 -2
  83. package/dist/steps.js.map +1 -1
  84. package/dist/transfer/cargo.d.ts +0 -2
  85. package/dist/transfer/cargo.d.ts.map +1 -1
  86. package/dist/transfer/cargo.js +0 -20
  87. package/dist/transfer/cargo.js.map +1 -1
  88. package/dist/transfer/index.d.ts +1 -1
  89. package/dist/transfer/index.d.ts.map +1 -1
  90. package/dist/transfer/index.js +1 -1
  91. package/dist/transfer/index.js.map +1 -1
  92. package/dist/transfer/parallel.d.ts +4 -1
  93. package/dist/transfer/parallel.d.ts.map +1 -1
  94. package/dist/transfer/parallel.js +13 -10
  95. package/dist/transfer/parallel.js.map +1 -1
  96. package/dist/watching/coverage.d.ts +0 -2
  97. package/dist/watching/coverage.d.ts.map +1 -1
  98. package/dist/watching/coverage.js +0 -5
  99. package/dist/watching/coverage.js.map +1 -1
  100. package/dist/workspace/index.d.ts +0 -1
  101. package/dist/workspace/index.d.ts.map +1 -1
  102. package/dist/workspace/index.js +0 -1
  103. package/dist/workspace/index.js.map +1 -1
  104. package/dist-cjs/apply/contracts.js.map +1 -1
  105. package/dist-cjs/apply/index.js +0 -5
  106. package/dist-cjs/apply/index.js.map +1 -1
  107. package/dist-cjs/apply/plans.js +2 -7
  108. package/dist-cjs/apply/plans.js.map +1 -1
  109. package/dist-cjs/apply/window.js +1 -4
  110. package/dist-cjs/apply/window.js.map +1 -1
  111. package/dist-cjs/contracts/validate.js +1 -4
  112. package/dist-cjs/contracts/validate.js.map +1 -1
  113. package/dist-cjs/detection/batch.js +0 -4
  114. package/dist-cjs/detection/batch.js.map +1 -1
  115. package/dist-cjs/detection/content.js +61 -78
  116. package/dist-cjs/detection/content.js.map +1 -1
  117. package/dist-cjs/detection/echo.js +3 -19
  118. package/dist-cjs/detection/echo.js.map +1 -1
  119. package/dist-cjs/detection/enrollment.js.map +1 -1
  120. package/dist-cjs/detection/index.js +2 -0
  121. package/dist-cjs/detection/index.js.map +1 -1
  122. package/dist-cjs/detection/record-order.js +314 -0
  123. package/dist-cjs/detection/record-order.js.map +1 -0
  124. package/dist-cjs/detection/record-proposal.js +7 -3
  125. package/dist-cjs/detection/record-proposal.js.map +1 -1
  126. package/dist-cjs/detection/removals.js +0 -4
  127. package/dist-cjs/detection/removals.js.map +1 -1
  128. package/dist-cjs/entities/graph-head.js +0 -14
  129. package/dist-cjs/entities/graph-head.js.map +1 -1
  130. package/dist-cjs/entities/index.js +0 -8
  131. package/dist-cjs/entities/index.js.map +1 -1
  132. package/dist-cjs/entities/rules.js +1 -157
  133. package/dist-cjs/entities/rules.js.map +1 -1
  134. package/dist-cjs/files/cloud-files.js +2 -1
  135. package/dist-cjs/files/cloud-files.js.map +1 -1
  136. package/dist-cjs/git/merge.js +1 -1
  137. package/dist-cjs/records/contracts.js +1 -3
  138. package/dist-cjs/records/contracts.js.map +1 -1
  139. package/dist-cjs/registration/user-ground.js +32 -10
  140. package/dist-cjs/registration/user-ground.js.map +1 -1
  141. package/dist-cjs/steps.js +1 -3
  142. package/dist-cjs/steps.js.map +1 -1
  143. package/dist-cjs/transfer/cargo.js +0 -21
  144. package/dist-cjs/transfer/cargo.js.map +1 -1
  145. package/dist-cjs/transfer/index.js +2 -1
  146. package/dist-cjs/transfer/index.js.map +1 -1
  147. package/dist-cjs/transfer/parallel.js +13 -10
  148. package/dist-cjs/transfer/parallel.js.map +1 -1
  149. package/dist-cjs/watching/coverage.js +0 -6
  150. package/dist-cjs/watching/coverage.js.map +1 -1
  151. package/dist-cjs/workspace/index.js +1 -3
  152. package/dist-cjs/workspace/index.js.map +1 -1
  153. package/package.json +4 -4
  154. package/dist/apply/content-results.d.ts +0 -27
  155. package/dist/apply/content-results.d.ts.map +0 -1
  156. package/dist/apply/content-results.js +0 -53
  157. package/dist/apply/content-results.js.map +0 -1
  158. package/dist/apply/local-work.d.ts +0 -34
  159. package/dist/apply/local-work.d.ts.map +0 -1
  160. package/dist/apply/local-work.js +0 -31
  161. package/dist/apply/local-work.js.map +0 -1
  162. package/dist/entities/digest-steps.d.ts +0 -14
  163. package/dist/entities/digest-steps.d.ts.map +0 -1
  164. package/dist/entities/digest-steps.js +0 -26
  165. package/dist/entities/digest-steps.js.map +0 -1
  166. package/dist/entities/json-steps.d.ts +0 -21
  167. package/dist/entities/json-steps.d.ts.map +0 -1
  168. package/dist/entities/json-steps.js +0 -130
  169. package/dist/entities/json-steps.js.map +0 -1
  170. package/dist/entities/moves.d.ts +0 -42
  171. package/dist/entities/moves.d.ts.map +0 -1
  172. package/dist/entities/moves.js +0 -82
  173. package/dist/entities/moves.js.map +0 -1
  174. package/dist/entities/trash.d.ts +0 -7
  175. package/dist/entities/trash.d.ts.map +0 -1
  176. package/dist/entities/trash.js +0 -10
  177. package/dist/entities/trash.js.map +0 -1
  178. package/dist/workspace/memory-store.d.ts +0 -7
  179. package/dist/workspace/memory-store.d.ts.map +0 -1
  180. package/dist/workspace/memory-store.js +0 -16
  181. package/dist/workspace/memory-store.js.map +0 -1
  182. package/dist-cjs/apply/content-results.js +0 -58
  183. package/dist-cjs/apply/content-results.js.map +0 -1
  184. package/dist-cjs/apply/local-work.js +0 -34
  185. package/dist-cjs/apply/local-work.js.map +0 -1
  186. package/dist-cjs/entities/digest-steps.js +0 -30
  187. package/dist-cjs/entities/digest-steps.js.map +0 -1
  188. package/dist-cjs/entities/json-steps.js +0 -135
  189. package/dist-cjs/entities/json-steps.js.map +0 -1
  190. package/dist-cjs/entities/moves.js +0 -85
  191. package/dist-cjs/entities/moves.js.map +0 -1
  192. package/dist-cjs/entities/trash.js +0 -14
  193. package/dist-cjs/entities/trash.js.map +0 -1
  194. package/dist-cjs/workspace/memory-store.js +0 -20
  195. package/dist-cjs/workspace/memory-store.js.map +0 -1
@@ -1,15 +1,10 @@
1
- /** Type-sensitive content capture from Detection's one settled byte read. */
2
- import { checkContentManifest } from '../contracts/content.js';
3
- import { utf8Encode } from '../entities/bytes.js';
1
+ /** Text replay: the one rule choosing a byte splice or the whole-result
2
+ * snapshot, and the one splice every host runs on an exact base. */
4
3
  import { deriveUploadManifest } from '../transfer/upload.js';
5
- const capturedArtifact = (entityId, entityType, kind, input, sha256Hex) => {
4
+ import { textReplayBase } from './record-proposal.js';
5
+ const capturedText = (entityId, input, sha256Hex) => {
6
6
  const bytes = input.slice();
7
- const artifact = {
8
- entityId,
9
- entityType,
10
- kind,
11
- contentHash: sha256Hex(bytes),
12
- };
7
+ const artifact = { entityId, entityType: 'file.text', kind: 'file', contentHash: sha256Hex(bytes) };
13
8
  return Object.freeze({
14
9
  artifact: Object.freeze(artifact),
15
10
  bytes,
@@ -30,86 +25,74 @@ export function textSplice(base, result) {
30
25
  return Object.freeze({
31
26
  offset: prefix,
32
27
  deleteBytes: base.byteLength - prefix - suffix,
33
- insert: result.slice(prefix, result.byteLength - suffix),
28
+ // A copy, so a splice never holds the whole result alive (a Buffer's
29
+ // slice is a view).
30
+ insert: new Uint8Array(result.subarray(prefix, result.byteLength - suffix)),
34
31
  });
35
32
  }
36
33
  /**
37
- * Capture text as one verified byte splice when that instruction is smaller
38
- * than the result bytes. The immutable snapshot is always sealed as repair and
39
- * cold-materialization truth.
34
+ * The text replay from a base to a result: one byte splice when the held base
35
+ * bytes are the named base and the splice is smaller than the result,
36
+ * otherwise the whole-result snapshot. Either way the record keeps the base
37
+ * it names, so missing base bytes never rewrite history.
40
38
  */
41
- export function captureTextChange(entityId, base, result, sha256Hex) {
42
- const cargo = capturedArtifact(entityId, 'file.text', 'file', result, sha256Hex);
43
- const basePayloadVersion = base === null ? null : sha256Hex(base);
44
- if (basePayloadVersion === cargo.artifact.contentHash)
45
- return null;
46
- const delta = base === null ? null : textSplice(base, result);
39
+ export function textReplay(input, sha256Hex) {
40
+ const { baseBytes, resultBytes, resultPayloadVersion } = input;
41
+ if (sha256Hex(resultBytes) !== resultPayloadVersion) {
42
+ throw new Error('text result bytes do not match their content head');
43
+ }
44
+ const basePayloadVersion = textReplayBase(input.basePayloadVersion);
45
+ const delta = basePayloadVersion !== null && basePayloadVersion !== resultPayloadVersion
46
+ && baseBytes !== null && sha256Hex(baseBytes) === basePayloadVersion
47
+ ? textSplice(baseBytes, resultBytes)
48
+ : null;
47
49
  // Two numeric fields are fixed overhead on the wire. This conservative
48
50
  // estimate keeps a replace-all operation on the snapshot path.
49
- const useDelta = delta !== null && delta.insert.byteLength + 16 < result.byteLength;
51
+ if (delta === null || delta.insert.byteLength + 16 >= resultBytes.byteLength) {
52
+ return textSnapshot(basePayloadVersion, resultPayloadVersion);
53
+ }
50
54
  return Object.freeze({
51
- replay: Object.freeze({
52
- kind: 'file.text',
53
- mode: useDelta ? 'delta' : 'snapshot',
54
- basePayloadVersion,
55
- resultPayloadVersion: cargo.artifact.contentHash,
56
- delta: useDelta ? delta : null,
57
- }),
58
- cargo,
55
+ kind: 'file.text', mode: 'delta', basePayloadVersion, resultPayloadVersion, delta,
59
56
  });
60
57
  }
61
- /** Apply a text replay and verify its exact result, falling back to snapshot. */
62
- export function reproduceTextChange(base, replay, snapshot, sha256Hex) {
63
- const verifiedSnapshot = () => {
64
- if (sha256Hex(snapshot) !== replay.resultPayloadVersion) {
65
- throw new Error('text snapshot does not match its declared result');
66
- }
67
- return snapshot.slice();
68
- };
69
- if (replay.mode !== 'delta' || replay.delta === null || base === null
70
- || sha256Hex(base) !== replay.basePayloadVersion) {
71
- return verifiedSnapshot();
72
- }
73
- const { offset, deleteBytes, insert } = replay.delta;
58
+ /** A whole-result text replay. It carries no bytes: Send moves the result by
59
+ * its content head, so a snapshot needs no read of it. */
60
+ export function textSnapshot(basePayloadVersion, resultPayloadVersion) {
61
+ return Object.freeze({
62
+ kind: 'file.text',
63
+ mode: 'snapshot',
64
+ basePayloadVersion: textReplayBase(basePayloadVersion),
65
+ resultPayloadVersion,
66
+ delta: null,
67
+ });
68
+ }
69
+ /** Text capture with its sealed snapshot cargo: null when the bytes did not
70
+ * change. */
71
+ export function captureTextChange(entityId, base, result, sha256Hex) {
72
+ const cargo = capturedText(entityId, result, sha256Hex);
73
+ const basePayloadVersion = base === null ? null : sha256Hex(base);
74
+ if (basePayloadVersion === cargo.artifact.contentHash)
75
+ return null;
76
+ const replay = textReplay({
77
+ basePayloadVersion, baseBytes: base, resultPayloadVersion: cargo.artifact.contentHash, resultBytes: result,
78
+ }, sha256Hex);
79
+ return Object.freeze({ replay, cargo });
80
+ }
81
+ /** Replay one text splice on its exact base: the result bytes, or null when
82
+ * the base or the result is not the one the record names. Null sends the
83
+ * caller to the record's snapshot; a splice is a shortcut, never truth. */
84
+ export function spliceText(base, strategy, resultPayloadVersion, sha256Hex) {
85
+ if (sha256Hex(base) !== strategy.basePayloadVersion)
86
+ return null;
87
+ const { offset, deleteBytes, insert } = strategy.delta;
74
88
  if (!Number.isSafeInteger(offset) || !Number.isSafeInteger(deleteBytes)
75
89
  || offset < 0 || deleteBytes < 0 || offset + deleteBytes > base.byteLength) {
76
- return verifiedSnapshot();
90
+ return null;
77
91
  }
78
92
  const result = new Uint8Array(base.byteLength - deleteBytes + insert.byteLength);
79
93
  result.set(base.subarray(0, offset), 0);
80
94
  result.set(insert, offset);
81
95
  result.set(base.subarray(offset + deleteBytes), offset + insert.byteLength);
82
- return sha256Hex(result) === replay.resultPayloadVersion ? result : verifiedSnapshot();
83
- }
84
- /** Binary replay is the existing exact content manifest; Transfer moves gaps. */
85
- export function captureBinaryChange(entityId, previous, result, sha256Hex) {
86
- if (previous !== null && !checkContentManifest(previous).ok) {
87
- throw new Error('previous binary content manifest is invalid');
88
- }
89
- const cargo = capturedArtifact(entityId, 'file.binary', 'file', result, sha256Hex);
90
- if (previous?.contentHash === cargo.artifact.contentHash)
91
- return null;
92
- return Object.freeze({
93
- replay: Object.freeze({
94
- kind: 'file.binary',
95
- resultPayloadVersion: cargo.artifact.contentHash,
96
- manifest: cargo.manifest,
97
- }),
98
- cargo,
99
- });
100
- }
101
- /** A symlink's portable content is the literal target text, never its target. */
102
- export function captureLinkChange(entityId, previousTarget, target, sha256Hex) {
103
- if (previousTarget === target)
104
- return null;
105
- const cargo = capturedArtifact(entityId, 'link', 'link', utf8Encode(target), sha256Hex);
106
- return Object.freeze({
107
- replay: Object.freeze({
108
- kind: 'link',
109
- resultPayloadVersion: cargo.artifact.contentHash,
110
- target,
111
- }),
112
- cargo,
113
- });
96
+ return sha256Hex(result) === resultPayloadVersion ? result : null;
114
97
  }
115
98
  //# sourceMappingURL=content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/detection/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/detection/content.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,12 @@
1
1
  /**
2
- * Echo judgment after incoming Apply.
2
+ * No echo across crossed rails.
3
3
  *
4
4
  * Apply never suppresses watcher rings. It verifies the incoming result and
5
- * advances the notebook. The retained suspicion then uses this ordinary
6
- * equality judgment: exact expected truth is silence; different truth is a
7
- * real local change; unreadable truth is retried.
5
+ * advances the notebook, so its own write later reads as equal and records
6
+ * nothing. The one crossing that equality alone cannot settle is below.
8
7
  */
9
- import type { TruthReading } from './adapter-contract.js';
10
- import type { CloudEntityRecord } from '../entities/cloud.js';
11
8
  import type { DetectedChangeProposal } from './record-proposal.js';
12
9
  import type { AcceptedEntityRecord } from '../records/contracts.js';
13
- export type EchoDecision = {
14
- readonly kind: 'silence';
15
- } | {
16
- readonly kind: 'detect';
17
- } | {
18
- readonly kind: 'retry';
19
- readonly reason?: string | undefined;
20
- };
21
- export declare function echoDecision(notebook: Pick<CloudEntityRecord, 'status' | 'version'>, observed: TruthReading): EchoDecision;
22
10
  /**
23
11
  * Detect may observe an authority result before Apply has advanced the local
24
12
  * notebook through that accepted Inbox row. The observation is already
@@ -1 +1 @@
1
- {"version":3,"file":"echo.d.ts","sourceRoot":"","sources":["../../src/detection/echo.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAErE,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,SAAS,CAAC,EACvD,QAAQ,EAAE,YAAY,GACrB,YAAY,CAad;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,QAAQ,CAAC,GAC5D,OAAO,CAST"}
1
+ {"version":3,"file":"echo.d.ts","sourceRoot":"","sources":["../../src/detection/echo.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,QAAQ,CAAC,GAC5D,OAAO,CAST"}
@@ -1,25 +1,10 @@
1
1
  /**
2
- * Echo judgment after incoming Apply.
2
+ * No echo across crossed rails.
3
3
  *
4
4
  * Apply never suppresses watcher rings. It verifies the incoming result and
5
- * advances the notebook. The retained suspicion then uses this ordinary
6
- * equality judgment: exact expected truth is silence; different truth is a
7
- * real local change; unreadable truth is retried.
5
+ * advances the notebook, so its own write later reads as equal and records
6
+ * nothing. The one crossing that equality alone cannot settle is below.
8
7
  */
9
- export function echoDecision(notebook, observed) {
10
- if (observed.truth === 'unsettled') {
11
- return observed.reason === undefined
12
- ? { kind: 'retry' }
13
- : { kind: 'retry', reason: observed.reason };
14
- }
15
- if (notebook.status === 'active') {
16
- return observed.truth === 'present'
17
- && observed.version === notebook.version
18
- ? { kind: 'silence' }
19
- : { kind: 'detect' };
20
- }
21
- return observed.truth === 'absent' ? { kind: 'silence' } : { kind: 'detect' };
22
- }
23
8
  /**
24
9
  * Detect may observe an authority result before Apply has advanced the local
25
10
  * notebook through that accepted Inbox row. The observation is already
@@ -1 +1 @@
1
- {"version":3,"file":"echo.js","sourceRoot":"","sources":["../../src/detection/echo.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,MAAM,UAAU,YAAY,CAC1B,QAAuD,EACvD,QAAsB;IAEtB,IAAI,QAAQ,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,MAAM,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;YACnB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,KAAK,KAAK,SAAS;eAC9B,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;YACxC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;YACrB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAA8B,EAC9B,QAA6D;IAE7D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC9B,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;WACzC,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,MAAM,CAAC,OAAO;WAChD,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;WACpD,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;WAChE,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;WAC9D,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"echo.js","sourceRoot":"","sources":["../../src/detection/echo.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAA8B,EAC9B,QAA6D;IAE7D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC9B,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;WACzC,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,MAAM,CAAC,OAAO;WAChD,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;WACpD,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;WAChE,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;WAC9D,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;AACxF,CAAC"}
@@ -15,11 +15,9 @@
15
15
  * strings-in/verdict-out and never inspects disk itself: the caller says
16
16
  * whether a path names a folder, as Git asks the filesystem.
17
17
  */
18
- /** The injected policy shape: relative path and whether it names a folder
19
- * (a workspace, folder or repository; never a link) in, verdict out. */
20
- export type EnrollmentPolicy = (relPath: string, directory: boolean) => boolean;
21
- /** A root's compiled `.amalgmignore`, which can also answer for a whole
22
- * subtree without visiting its paths. */
18
+ /** A root's compiled `.amalgmignore`: a relative path and whether it names a
19
+ * folder (a workspace, folder or repository; never a link) in, verdict out.
20
+ * It can also answer for a whole subtree without visiting its paths. */
23
21
  export interface UserGroundEnrollmentPolicy {
24
22
  (relPath: string, directory: boolean): boolean;
25
23
  /** No path strictly beneath this directory can be excluded by a user rule.
@@ -1 +1 @@
1
- {"version":3,"file":"enrollment.d.ts","sourceRoot":"","sources":["../../src/detection/enrollment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH;wEACwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC;AAEhF;yCACyC;AACzC,MAAM,WAAW,0BAA0B;IACzC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/C;gEAC4D;IAC5D,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAChD;AAED;;sCAEsC;AACtC,eAAO,MAAM,qBAAqB,iPAcjC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK9D;AAkKD;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,SAAK,GAAG,0BAA0B,CA0C5F"}
1
+ {"version":3,"file":"enrollment.d.ts","sourceRoot":"","sources":["../../src/detection/enrollment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH;;wEAEwE;AACxE,MAAM,WAAW,0BAA0B;IACzC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/C;gEAC4D;IAC5D,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAChD;AAED;;sCAEsC;AACtC,eAAO,MAAM,qBAAqB,iPAcjC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK9D;AAkKD;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,SAAK,GAAG,0BAA0B,CA0C5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"enrollment.js","sourceRoot":"","sources":["../../src/detection/enrollment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAe/E;;sCAEsC;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;CAcpC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SACzB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAgBD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,mEAAmE;AACnE,SAAS,UAAU,CAAC,IAAY;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;YAClC,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACjF,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAU,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAExH,kEAAkE;AAClE,MAAM,OAAO,GAAgC,IAAI,GAAG,CAAC;IACnD,CAAC,OAAO,EAAE,mCAAmC,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;IAC5G,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IAC3G,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,8CAA8C,CAAC;IACnF,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,mCAAmC,CAAC;CAC7G,CAAC,CAAC;AAEH;;;kBAGkB;AAClB,SAAS,OAAO,CAAC,OAAe,EAAE,IAAY;IAC5C,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC;IACrB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;IACjE,IAAI,OAAO;QAAE,KAAK,IAAI,CAAC,CAAC;IACxB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,wEAAwE;IACxE,2EAA2E;IAC3E,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,GAAG,CAAC;QACF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACvC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9G,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,KAAK,IAAI;gBAAE,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACpC,IAAI,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3D,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjD,mEAAmE;gBACnE,QAAQ,GAAG,IAAI,CAAC;gBAChB,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAC;gBACrC,OAAO,IAAI,KAAK,CAAC;gBACjB,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;IACb,CAAC,QAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE;IACjC,OAAO,EAAE,MAAM,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED;;oEAEoE;AACpE,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAE,CAAC;QAClC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG;gBAAE,GAAG,IAAI,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;mBACzE,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7G,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,MAAM,IAAI,UAAU,CAAC;gBAAC,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;YAAC,CAAC;iBAC1E,CAAC;gBAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBAAC,KAAK,GAAG,GAAG,CAAC;YAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,MAAM,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;YACrB,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,KAAK,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC9C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7B,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;4BAC4B;AAC5B,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,KAAK,GAAG,KAAK,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACtE,KAAK,GAAG,CAAC,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC;AAED;YACY;AACZ,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,OAAO;QAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,aAAa;QAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9H,CAAC;IACD,uEAAuE;IACvE,gCAAgC;IAChC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACnH,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACtD,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;AAChG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gCAAgC,CAAC,UAAU,GAAG,EAAE;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;SAC/E,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACvF,MAAM,CAAC,CAAC,IAAI,EAAsB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC;QAC3B,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,UAAU,CAAC;QACrF,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,IAAI,CAAC,MAAM,UAAU,CAAC;KAC3F,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,SAAkB,EAAW,EAAE;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS;gBAAE,SAAS;YAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,SAAkB,EAAW,EAAE;QAC9D,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,IAAI,OAAO,KAAK,qBAAqB;YAAE,OAAO,IAAI,CAAC;QACnD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACvF,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC7D,CAAC;QACD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,iEAAiE;IACjE,4EAA4E;IAC5E,0EAA0E;IAC1E,UAAU;IACV,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAW,EAAE;QACxD,MAAM,IAAI,GAAG,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzH,CAAC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"enrollment.js","sourceRoot":"","sources":["../../src/detection/enrollment.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@
19
19
  * - `watch-boundary` generation-safe Watch input and coverage output
20
20
  * - `record-proposal` the exact Detect-to-Record contract
21
21
  * - `batch` net-difference planning and Watch settlement
22
+ * - `record-order` one capture's records in cause-before-effect order
22
23
  * - `content` text/binary/link replay from one captured read
23
24
  * - `echo` incoming Apply equality without suppression
24
25
  * - `dispositions` the diagnostic vocabulary for what became of each
@@ -34,6 +35,7 @@ export * from './identity.js';
34
35
  export * from './scoped-identity.js';
35
36
  export * from './echo.js';
36
37
  export * from './enrollment.js';
38
+ export * from './record-order.js';
37
39
  export * from './record-proposal.js';
38
40
  export * from './refusal.js';
39
41
  export * from './watch-boundary.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/detection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/detection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
@@ -19,6 +19,7 @@
19
19
  * - `watch-boundary` generation-safe Watch input and coverage output
20
20
  * - `record-proposal` the exact Detect-to-Record contract
21
21
  * - `batch` net-difference planning and Watch settlement
22
+ * - `record-order` one capture's records in cause-before-effect order
22
23
  * - `content` text/binary/link replay from one captured read
23
24
  * - `echo` incoming Apply equality without suppression
24
25
  * - `dispositions` the diagnostic vocabulary for what became of each
@@ -34,6 +35,7 @@ export * from './identity.js';
34
35
  export * from './scoped-identity.js';
35
36
  export * from './echo.js';
36
37
  export * from './enrollment.js';
38
+ export * from './record-order.js';
37
39
  export * from './record-proposal.js';
38
40
  export * from './refusal.js';
39
41
  export * from './watch-boundary.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/detection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/detection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * One capture's records in cause-before-effect order.
3
+ *
4
+ * The host hands over the settled before and after graphs of one Watch
5
+ * observation; this seam names every entity whose result changed, orders
6
+ * those transitions so each accepted prefix is materializable from its own
7
+ * records, and plans the batch (`docs/detection.md`).
8
+ */
9
+ import type { CloudEntityRecord } from '../entities/cloud.js';
10
+ import { type Steps } from '../steps.js';
11
+ import type { SuspicionSnapshot } from '../watching/suspicion.js';
12
+ import { type DetectionBatchPlan } from './batch.js';
13
+ import type { ReplayInstruction } from './record-proposal.js';
14
+ export interface DetectedGroundRow {
15
+ readonly record: CloudEntityRecord;
16
+ readonly relativePath: string;
17
+ readonly replay?: ReplayInstruction;
18
+ readonly lifecycleAuthorization?: 'trash' | 'restore';
19
+ /** For a changed repository, the repositories whose records this one's
20
+ * follows: the one holding its Git directory, since a worktree's pack is
21
+ * thin against its main checkout's state and every Git directory is placed
22
+ * inside its holder's, and each lending it objects, since its pack leaves
23
+ * out what it borrows (`git/alternates.ts`). */
24
+ readonly gitFollows?: readonly string[];
25
+ }
26
+ /**
27
+ * Turn one real Watch observation and its settled before/after graph into the
28
+ * portable Detect plan: every entity whose result changed states it on its
29
+ * own channel, in cause-before-effect order.
30
+ */
31
+ export declare function planGroundDetectionSteps(input: {
32
+ readonly rootId: string;
33
+ readonly suspicion: SuspicionSnapshot;
34
+ readonly before: readonly CloudEntityRecord[];
35
+ readonly after: readonly DetectedGroundRow[];
36
+ }): Steps<DetectionBatchPlan>;
37
+ //# sourceMappingURL=record-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-order.d.ts","sourceRoot":"","sources":["../../src/detection/record-order.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAgC,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtD;;;;oDAIgD;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAwOD;;;;GAIG;AACH,wBAAiB,wBAAwB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC9C,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAoC5B"}