@motebit/protocol 1.2.0 → 2.0.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 (60) hide show
  1. package/README.md +4 -2
  2. package/dist/artifact-type.d.ts +144 -0
  3. package/dist/artifact-type.d.ts.map +1 -0
  4. package/dist/artifact-type.js +107 -0
  5. package/dist/artifact-type.js.map +1 -0
  6. package/dist/audience.d.ts +108 -0
  7. package/dist/audience.d.ts.map +1 -0
  8. package/dist/audience.js +104 -0
  9. package/dist/audience.js.map +1 -0
  10. package/dist/co-browse.d.ts +369 -0
  11. package/dist/co-browse.d.ts.map +1 -0
  12. package/dist/co-browse.js +64 -0
  13. package/dist/co-browse.js.map +1 -0
  14. package/dist/computer-use.d.ts +463 -3
  15. package/dist/computer-use.d.ts.map +1 -1
  16. package/dist/computer-use.js +40 -0
  17. package/dist/computer-use.js.map +1 -1
  18. package/dist/event-type.d.ts +62 -0
  19. package/dist/event-type.d.ts.map +1 -0
  20. package/dist/event-type.js +123 -0
  21. package/dist/event-type.js.map +1 -0
  22. package/dist/index.d.ts +257 -20
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +84 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/memory-events.d.ts +13 -0
  27. package/dist/memory-events.d.ts.map +1 -1
  28. package/dist/money.d.ts +33 -0
  29. package/dist/money.d.ts.map +1 -0
  30. package/dist/money.js +41 -0
  31. package/dist/money.js.map +1 -0
  32. package/dist/perception.d.ts +347 -0
  33. package/dist/perception.d.ts.map +1 -0
  34. package/dist/perception.js +9 -0
  35. package/dist/perception.js.map +1 -0
  36. package/dist/retention-policy.d.ts +8 -1
  37. package/dist/retention-policy.d.ts.map +1 -1
  38. package/dist/retention-policy.js +18 -0
  39. package/dist/retention-policy.js.map +1 -1
  40. package/dist/routing.d.ts +266 -0
  41. package/dist/routing.d.ts.map +1 -0
  42. package/dist/routing.js +88 -0
  43. package/dist/routing.js.map +1 -0
  44. package/dist/sensitivity.d.ts +123 -0
  45. package/dist/sensitivity.d.ts.map +1 -0
  46. package/dist/sensitivity.js +154 -0
  47. package/dist/sensitivity.js.map +1 -0
  48. package/dist/settlement-asset.d.ts +92 -0
  49. package/dist/settlement-asset.d.ts.map +1 -0
  50. package/dist/settlement-asset.js +82 -0
  51. package/dist/settlement-asset.js.map +1 -0
  52. package/dist/settlement-mode.d.ts +144 -13
  53. package/dist/settlement-mode.d.ts.map +1 -1
  54. package/dist/settlement-mode.js +45 -1
  55. package/dist/settlement-mode.js.map +1 -1
  56. package/dist/transparency.d.ts +116 -0
  57. package/dist/transparency.d.ts.map +1 -0
  58. package/dist/transparency.js +67 -0
  59. package/dist/transparency.js.map +1 -0
  60. package/package.json +1 -1
@@ -0,0 +1,347 @@
1
+ import type { SensitivityLevel } from "./index.js";
2
+ /**
3
+ * Perception input — the typed surface for content the user delivers
4
+ * to a motebit by direct gesture (drag-drop on web/desktop, pinch-throw
5
+ * on spatial, share-sheet on mobile). Same shape the doctrine
6
+ * `motebit-computer.md` §"Supervised agency / minimum gesture set"
7
+ * names ("Drag a file / URL / snippet onto the slab → feed perception")
8
+ * but typed at the protocol layer so every surface produces and the
9
+ * runtime consumes a single shape.
10
+ *
11
+ * Two-level pattern. Categorical kinds are closed (the protocol-layer
12
+ * commitment); within-kind handlers are open (registered in-runtime
13
+ * per surface). Closure here makes the role bounded — adding a new
14
+ * categorical drop kind is a protocol bump (additive, registry append),
15
+ * not an open-ended free-for-all. Same shape as `SuiteId` /
16
+ * `GuestRail` / `ToolMode` (the agility-as-role pattern in
17
+ * `docs/doctrine/agility-as-role.md`).
18
+ *
19
+ * Drop-out provenance — when a motebit-produced artifact leaves the
20
+ * slab toward another destination — uses `ExecutionReceipt` (already
21
+ * in the protocol). This file covers only the in-direction substrate.
22
+ */
23
+ /**
24
+ * Categorical drop kinds the protocol commits to. Closed string-literal
25
+ * union; adding a new kind is a protocol-version bump.
26
+ *
27
+ * - `url` — a hyperlink, route resolves through the runtime's
28
+ * fetch-shaped tool path. Highest-frequency desktop/web intent
29
+ * ("show motebit this page"). Source frame optional.
30
+ * - `text` — a snippet of text, MIME-tagged when known
31
+ * (`text/plain`, `text/markdown`). Drag-from-selection, paste-as-
32
+ * drop, or programmatic "here's context."
33
+ * - `image` — raster bytes with a known MIME (`image/png`,
34
+ * `image/jpeg`, `image/webp`). The multimodal moment — "what is
35
+ * this?" Routes through whatever vision-capable provider is
36
+ * configured.
37
+ * - `file` — opaque bytes with filename + MIME. Deferred for v1.1
38
+ * because file-format proliferation is unbounded; ships when a
39
+ * concrete handler-extension consumer drives the registry shape.
40
+ * - `artifact` — a motebit-produced signed artifact (the bytes plus
41
+ * its `ExecutionReceipt`). Drag motebit-to-motebit. Deferred for
42
+ * v1.1 because multi-motebit UX isn't shipped.
43
+ *
44
+ * Future kind worth naming for review-time consideration but NOT in
45
+ * the v1 union (waits on `EmbodimentMode` protocol promotion):
46
+ *
47
+ * - `mode-grant` — drag a permission token onto the slab. e.g.
48
+ * "you may drive my desktop for this session." Add when
49
+ * `EmbodimentMode` lifts from `@motebit/render-engine` to
50
+ * `@motebit/protocol`.
51
+ */
52
+ export type DropPayloadKind = "url" | "text" | "image" | "file" | "artifact";
53
+ /**
54
+ * Where in the scene the drop is intended to land. Three physically-
55
+ * distinct targets in spatial; on 2D surfaces they collapse to "slab"
56
+ * by default since the user can't aim at a non-slab target without
57
+ * spatial separation.
58
+ *
59
+ * **The targets are NOT equivalent drop zones with different visual
60
+ * effects.** Each has meaningfully different persistence and
61
+ * governance scopes — implementing them with a uniform governance
62
+ * posture is the silent-persistent-mutation failure mode this
63
+ * doctrine exists to prevent.
64
+ *
65
+ * - `slab` — perception input ("the motebit sees this for this
66
+ * turn"). Turn/session-scoped persistence; the sensitivity
67
+ * classifier inspects the payload at the next AI call;
68
+ * `tier-bounded-by-source` per the `EmbodimentSensitivityRouting`
69
+ * of `shared_gaze` mode. v1 default for every surface that
70
+ * doesn't yet distinguish targets.
71
+ *
72
+ * - `creature` — body-bound carry ("this travels with the motebit
73
+ * across sessions"). Identity-adjacent state mutation: the
74
+ * payload is destined for the motebit's interior (memory graph,
75
+ * trust graph, capability bindings, persona preferences) rather
76
+ * than the workstation's turn context. **Stronger governance
77
+ * than slab is required:** explicit confirmation / signed user
78
+ * intent before any persistent state mutation. Closer to
79
+ * changing the agent's body than feeding task context.
80
+ * Spatial-first; deferred until the gesture surface (drag toward
81
+ * floating creature droplet) lands AND the per-target governance
82
+ * UX ships. Do NOT implement creature-drop with slab-drop's
83
+ * governance posture.
84
+ *
85
+ * - `ambient` — environmental context ("background reference for
86
+ * this session, not turn-perception"). Workspace-scoped
87
+ * persistence with source-consent + expiration. **Invariant:
88
+ * ambient references are consultable context, not automatic
89
+ * prompt context.** The motebit can reach for them when a turn
90
+ * calls for it, but ambient drops never auto-fill the prompt.
91
+ * Future implementations will be tempted to dump ambient bytes
92
+ * into every turn's context pack; that's the failure mode this
93
+ * invariant exists to prevent. Spatial-first; in glasses,
94
+ * dropping a reference into the user's physical workspace is the
95
+ * natural gesture.
96
+ *
97
+ * Field is optional; absent ≡ `slab`. Surfaces may set non-default
98
+ * targets once they implement BOTH the gesture detection (e.g.,
99
+ * Three.js raycast pick on 2D web; 3D hand-path pick on spatial)
100
+ * AND the per-target governance UX that makes elevation safe.
101
+ *
102
+ * **Dimensionality is not the gate; governance is.** A 2D web surface
103
+ * CAN distinguish the three targets via raycast at drop time
104
+ * (creature mesh hit / slab plane hit / no hit ≡ ambient). What
105
+ * actually defers `creature` and `ambient` is the per-target
106
+ * governance UX (creature: confirmation modal + chosen mutation
107
+ * semantic; ambient: workspace-scoped consultable store +
108
+ * retrieval-shaped API). Until those exist, `MotebitRuntime.feedPerception`
109
+ * fails closed on non-slab targets — surfaces that send `creature` or
110
+ * `ambient` payloads receive a clear error naming the missing
111
+ * consumer.
112
+ */
113
+ export type DropTarget = "slab" | "creature" | "ambient";
114
+ /**
115
+ * Attestation of **intentional delivery** — not content authenticity.
116
+ *
117
+ * The user's gesture proves they meant to deliver the payload to the
118
+ * motebit. It does NOT prove the payload is authentic, unforged, or
119
+ * what it claims to be: a user can drag a forged PDF, a misleading
120
+ * URL, or a tampered file, and the gesture still attests only that
121
+ * delivery was intentional. Authenticity of the content itself
122
+ * requires separate provenance — a source URL the runtime fetched,
123
+ * a cryptographic signature on the bytes, an `ExecutionReceipt`
124
+ * carried with the artifact, or a content hash the user-trusted
125
+ * source previously published. Keep the two distinct in audit logs
126
+ * and any prose-level claim about what a drop "vouches for."
127
+ *
128
+ * `surface` names which motebit surface produced the event so audit
129
+ * logs can reconstruct the gesture's physical context (DOM drop,
130
+ * WebXR pinch-release, share-sheet receive). For high-sensitivity
131
+ * tiers the runtime may cosign the attestation with the user's
132
+ * identity key; that path is deferred until per-tier signing UX
133
+ * lands.
134
+ *
135
+ * Discriminated union of attestation kinds:
136
+ *
137
+ * - `user-drag` — physical drag gesture delivered a payload to the
138
+ * surface. Carries optional `contentHashSha256` for binary kinds
139
+ * (`image`, `file`, `artifact`) where a hash gives the audit
140
+ * trail something to bind against.
141
+ *
142
+ * - `user-typed-intent` — user submitted a chat message. The
143
+ * gesture is the typing-and-send itself; consent flows through
144
+ * the same channel as the request. Used by the runtime to
145
+ * auto-grant control handoffs that originate inside the same
146
+ * turn as the typed message — re-confirming a typed instruction
147
+ * would violate the doctrine "do not confirm what the user can
148
+ * already see." Proactive idle work has no typed-intent
149
+ * attestation, so it always falls back to the explicit prompt
150
+ * band — fail-closed by default.
151
+ *
152
+ * `contentHashSha256` is optional and only meaningful on `user-drag`
153
+ * (typed text isn't byte-bound). The hash binds delivery to a
154
+ * specific byte sequence; it does not, on its own, attest to content
155
+ * authenticity.
156
+ */
157
+ export type UserActionAttestation = {
158
+ readonly kind: "user-drag";
159
+ readonly timestamp: number;
160
+ readonly surface: "web" | "desktop" | "mobile" | "spatial" | "cli";
161
+ readonly contentHashSha256?: string;
162
+ } | {
163
+ readonly kind: "user-typed-intent";
164
+ readonly timestamp: number;
165
+ readonly surface: "web" | "desktop" | "mobile" | "spatial" | "cli";
166
+ };
167
+ /**
168
+ * Discriminated union over the categorical kinds. Every surface produces
169
+ * one of these; the runtime's `feedPerception` consumes one of these.
170
+ * The `target` field is the spatial endpoint hint (defaults to `slab`).
171
+ *
172
+ * Bytes are carried inline as `Uint8Array` for `image` (and future
173
+ * `file`). On surfaces where the source content is referenced rather
174
+ * than embedded (e.g. a URL pointing at a remote image), the producing
175
+ * surface MAY pass the reference instead and let the runtime fetch
176
+ * with provider context — but the typed payload always names the kind
177
+ * so the runtime can branch.
178
+ */
179
+ export type DropPayload = {
180
+ kind: "url";
181
+ url: string;
182
+ sourceFrame?: string;
183
+ target?: DropTarget;
184
+ attestation: UserActionAttestation;
185
+ } | {
186
+ kind: "text";
187
+ text: string;
188
+ mimeType?: string;
189
+ target?: DropTarget;
190
+ attestation: UserActionAttestation;
191
+ } | {
192
+ kind: "image";
193
+ bytes: Uint8Array;
194
+ mimeType: string;
195
+ target?: DropTarget;
196
+ attestation: UserActionAttestation;
197
+ } | {
198
+ kind: "file";
199
+ bytes: Uint8Array;
200
+ filename: string;
201
+ mimeType: string;
202
+ target?: DropTarget;
203
+ attestation: UserActionAttestation;
204
+ } | {
205
+ kind: "artifact";
206
+ receiptHash: string;
207
+ payloadJson: string;
208
+ target?: DropTarget;
209
+ attestation: UserActionAttestation;
210
+ };
211
+ /**
212
+ * Resolve a `DropPayload`'s effective target with the v1 default
213
+ * applied. Surfaces that don't yet distinguish creature / ambient
214
+ * (everything pre-spatial-Phase-1B) land at `slab`.
215
+ */
216
+ export declare function resolveDropTarget(payload: DropPayload): DropTarget;
217
+ /**
218
+ * Which AI-call entry the runtime blocked. The runtime gates fire at
219
+ * nine distinct sites today; the audit event names the site so log
220
+ * consumers can group / branch by entry without parsing free text.
221
+ *
222
+ * Sub-axis refinement (not a registered registry — per `registry-
223
+ * pattern-canonical.md` this is a closed union of indirect-entry-
224
+ * point identifiers, not an interop-law typed vocabulary with
225
+ * multi-consumer wire-format presence). The doctrine for the
226
+ * structural-lock pattern with bespoke coverage applies: adding an
227
+ * entry is intentional protocol-level work + test additions, but
228
+ * carries no eight-artifact obligation.
229
+ *
230
+ * Entries split into three categories:
231
+ *
232
+ * 1. **Direct AI-call entries** — the surface-facing method the user
233
+ * (or surface) invoked: `sendMessage`, `sendMessageStreaming`,
234
+ * `generateActivation`, `generateCompletion`, `outbound_tool`.
235
+ *
236
+ * 2. **Indirect AI-call entries (continuation sites)** — the runtime
237
+ * fires the gate again where bytes leave on resume:
238
+ * `resumeAfterToolApproval` (StreamingManager continues a paused
239
+ * turn after the user approves a tool call); `executePlanStep`
240
+ * (PlanExecutionManager fires the gate per-step on initial
241
+ * execution and on plan resume — sensitivity may have changed
242
+ * during the pause). Pre-2026-05-16 these reused
243
+ * `sendMessageStreaming` as the audit label; the doctrinally
244
+ * accurate split names the actual entry so audit consumers can
245
+ * attribute blocked egress to the right site without guessing.
246
+ *
247
+ * 3. **Indirect AI-call entries (housekeeping sites)** — the runtime
248
+ * fires the gate on background AI work that doesn't go through
249
+ * `runtime.generateCompletion`'s surface-facing path:
250
+ * `summarizeConversation` (ConversationManager calls
251
+ * `summarizeConversation` from `@motebit/ai-core` directly,
252
+ * reading full conversation history); `runReflection`
253
+ * (runtime.reflect / reflectAndStore call `performReflection` in
254
+ * `@motebit/reflection`, which composes history + memories +
255
+ * past reflections + audit summary before calling
256
+ * `reflect` in `@motebit/ai-core`). Both are bytes-leave moments
257
+ * with payload shapes distinct enough from `generateCompletion`
258
+ * that conflating their audit entry hides the actual blocked
259
+ * site from a forensic consumer.
260
+ */
261
+ export type SensitivityGateEntry = "sendMessage" | "sendMessageStreaming" | "generateActivation" | "generateCompletion" | "outbound_tool" | "resumeAfterToolApproval" | "executePlanStep" | "summarizeConversation" | "runReflection";
262
+ /**
263
+ * What elevated effective sensitivity above the explicit session
264
+ * tier. `session` means the user explicitly elevated via
265
+ * `setSessionSensitivity`; `slab_item` means a `tier-bounded-by-source`
266
+ * or `tier-bounded-by-tool` slab item contributed the higher tier
267
+ * (drops, classified tool outputs). Exhaustive: future elevation
268
+ * sources extend this union.
269
+ */
270
+ export type SensitivityElevationSource = "session" | "slab_item";
271
+ /**
272
+ * Payload for `EventType.SensitivityGateFired`. Emitted by the
273
+ * runtime's `assertSensitivityPermitsAiCall` BEFORE throwing
274
+ * `SovereignTierRequiredError`, so every blocked egress crossing
275
+ * leaves an inspectable trail.
276
+ *
277
+ * **Strictly metadata.** No raw drop content, no tool result bytes,
278
+ * no slab item payloads, no prompt strings. The audit trail names
279
+ * the decision (which gate / which tier / which provider) without
280
+ * carrying the sensitive data that triggered the gate. Logging the
281
+ * payload that caused the block would itself be a leak surface —
282
+ * the same kind of leak the gate exists to prevent.
283
+ *
284
+ * `slab_item_id` is optional and carries the slab item's ID when
285
+ * elevation came from a slab item; the ID is a content-free
286
+ * identifier (UUID-shape) that lets a forensic consumer correlate
287
+ * the audit event against the slab state at fire time without
288
+ * including the item's content.
289
+ *
290
+ * Doctrine: `motebit-computer.md` §"Mode contract — six declarations
291
+ * per mode." The audit-trail pivot converts the shipped fail-closed
292
+ * gate from invisible-but-correct into observable-and-provable.
293
+ */
294
+ export interface SensitivityGateFiredPayload {
295
+ /** Which AI-call entry was blocked. */
296
+ readonly entry: SensitivityGateEntry;
297
+ /** Explicit session tier at fire time (set via `setSessionSensitivity`). */
298
+ readonly session_sensitivity: SensitivityLevel;
299
+ /**
300
+ * Effective tier the gate decided on — `max(session,
301
+ * tier-bounded-slab-items)`. Equals `session_sensitivity` when no
302
+ * slab item elevated.
303
+ */
304
+ readonly effective_sensitivity: SensitivityLevel;
305
+ /** Provider mode at fire time. `unset` when surface didn't declare. */
306
+ /**
307
+ * Inline string-literal union of `ProviderMode` (declared in
308
+ * `@motebit/sdk::provider-mode.ts`) plus the `unset` sentinel.
309
+ * Inlined here rather than imported because @motebit/protocol sits
310
+ * below @motebit/sdk in the layer graph; if ProviderMode promotes
311
+ * to protocol later, this union narrows to `ProviderMode | "unset"`.
312
+ */
313
+ readonly provider_mode: "on-device" | "motebit-cloud" | "byok" | "unset";
314
+ /**
315
+ * What contributed the effective tier when it exceeds the explicit
316
+ * session tier. Absent when `effective_sensitivity ===
317
+ * session_sensitivity` (session itself was the source — no
318
+ * elevation beyond the explicit setter to attribute).
319
+ *
320
+ * Field-name choice: `via` not `source`. The closed
321
+ * `EmbodimentSourceCategory` union (`interior`, `sandboxed-tool`,
322
+ * `user-source`, etc.) lives on the mode contract and is matched by
323
+ * `check-mode-contract-readers` via `.source` / `{ source }` regex.
324
+ * Naming the audit field `source` would false-positive that gate
325
+ * (the gate's destructure detection can't distinguish object-literal
326
+ * write from destructure read), staling its `source` ALLOWLIST entry
327
+ * without an actual consumer. `via` reads naturally
328
+ * ("elevated via session" / "elevated via slab_item") and avoids
329
+ * the collision.
330
+ */
331
+ readonly elevated_by?: {
332
+ readonly via: SensitivityElevationSource;
333
+ /**
334
+ * Slab item ID that contributed the elevated tier — present when
335
+ * `via === "slab_item"`. Content-free identifier; useful for
336
+ * forensic correlation with slab state at fire time.
337
+ */
338
+ readonly slab_item_id?: string;
339
+ };
340
+ /**
341
+ * Tool name when `entry === "outbound_tool"`. Names the tool whose
342
+ * outbound dispatch was blocked. Tool-name strings are NOT
343
+ * sensitive (they're public capability names, not user content).
344
+ */
345
+ readonly tool_name?: string;
346
+ }
347
+ //# sourceMappingURL=perception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perception.d.ts","sourceRoot":"","sources":["../src/perception.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Resolve a `DropPayload`'s effective target with the v1 default
3
+ * applied. Surfaces that don't yet distinguish creature / ambient
4
+ * (everything pre-spatial-Phase-1B) land at `slab`.
5
+ */
6
+ export function resolveDropTarget(payload) {
7
+ return payload.target ?? "slab";
8
+ }
9
+ //# sourceMappingURL=perception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perception.js","sourceRoot":"","sources":["../src/perception.ts"],"names":[],"mappings":"AA+NA;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAoB;IACpD,OAAO,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;AAClC,CAAC"}
@@ -24,6 +24,13 @@ export type RetentionCeilingDays = number;
24
24
  *
25
25
  * Federation peers compare retention claims against these values. An
26
26
  * operator manifest declaring retention beyond a ceiling is non-conforming.
27
+ *
28
+ * Retention dissolution axis of Liquescentia's persistence property —
29
+ * see `docs/doctrine/dissolution-spectrum.md` §4. Form: hard cliff per
30
+ * sensitivity tier; sensitivity acts as the permeability gradient (higher
31
+ * sensitivity → higher dissolution pressure → shorter persistence). This
32
+ * is the only dissolution axis that interop law constrains across
33
+ * implementations.
27
34
  */
28
35
  export declare const MAX_RETENTION_DAYS_BY_SENSITIVITY: Readonly<{
29
36
  none: RetentionCeilingDays;
@@ -399,7 +406,7 @@ export type RetentionShapeDeclaration = {
399
406
  * discriminator is interop law — verifiers and tooling cross-reference
400
407
  * these exact strings with the manifest's `RetentionStoreDeclaration.store_id`.
401
408
  */
402
- export type RuntimeStoreId = "memory" | "event_log" | "conversation_messages" | "tool_audit";
409
+ export type RuntimeStoreId = "memory" | "event_log" | "conversation_messages" | "tool_audit" | "skill_audit";
403
410
  /**
404
411
  * Canonical registry: `RuntimeStoreId` → declared `RetentionShape`.
405
412
  *
@@ -1 +1 @@
1
- {"version":3,"file":"retention-policy.d.ts","sourceRoot":"","sources":["../src/retention-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retention-policy.d.ts","sourceRoot":"","sources":["../src/retention-policy.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,13 @@
20
20
  *
21
21
  * Federation peers compare retention claims against these values. An
22
22
  * operator manifest declaring retention beyond a ceiling is non-conforming.
23
+ *
24
+ * Retention dissolution axis of Liquescentia's persistence property —
25
+ * see `docs/doctrine/dissolution-spectrum.md` §4. Form: hard cliff per
26
+ * sensitivity tier; sensitivity acts as the permeability gradient (higher
27
+ * sensitivity → higher dissolution pressure → shorter persistence). This
28
+ * is the only dissolution axis that interop law constrains across
29
+ * implementations.
23
30
  */
24
31
  export const MAX_RETENTION_DAYS_BY_SENSITIVITY = Object.freeze({
25
32
  none: Infinity,
@@ -106,5 +113,16 @@ export const RUNTIME_RETENTION_REGISTRY = Object.freeze({
106
113
  flush_to: "expire",
107
114
  has_min_floor_resolver: true,
108
115
  },
116
+ // `skill_audit` carries the same shape as `tool_audit` — append-only
117
+ // operator-act ledger with a `sensitivity` column on the
118
+ // `skill_consent_granted` variant. Registers under `consolidation_flush`
119
+ // so the consolidation cycle's flush phase respects sensitivity-tier
120
+ // retention ceilings. No min-floor resolver: skill audit doesn't
121
+ // gate settlement, so the per-tier horizon is the only ceiling.
122
+ skill_audit: {
123
+ kind: "consolidation_flush",
124
+ flush_to: "expire",
125
+ has_min_floor_resolver: false,
126
+ },
109
127
  });
110
128
  //# sourceMappingURL=retention-policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retention-policy.js","sourceRoot":"","sources":["../src/retention-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmBH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAMzC,MAAM,CAAC,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;CACX,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAM/C,MAAM,CAAC,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;CACX,CAAC,CAAC;AA8FH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA0B,MAAM,CAAC,MAAM,CAAC;IAChF,IAAI,EAAE,kBAAkB;IACxB,+CAA+C;IAC/C,WAAW,EAAE,kEAAkE;IAC/E,UAAU,EAAE,CAAC;CACd,CAAC,CAAC;AAgWH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAEnC,MAAM,CAAC,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,IAAI,EAAE,iBAAiB;QACvB,iCAAiC,EAAE,uCAAuC;KAC3E;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAqB;QAC3B,2BAA2B,EAAE,GAAG;QAChC,gBAAgB,EAAE,KAAK;KACxB;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,QAAQ;QAClB,sBAAsB,EAAE,KAAK;KAC9B;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,QAAQ;QAClB,sBAAsB,EAAE,IAAI;KAC7B;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"retention-policy.js","sourceRoot":"","sources":["../src/retention-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmBH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAMzC,MAAM,CAAC,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;CACX,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAM/C,MAAM,CAAC,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;CACX,CAAC,CAAC;AA8FH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA0B,MAAM,CAAC,MAAM,CAAC;IAChF,IAAI,EAAE,kBAAkB;IACxB,+CAA+C;IAC/C,WAAW,EAAE,kEAAkE;IAC/E,UAAU,EAAE,CAAC;CACd,CAAC,CAAC;AAqWH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAEnC,MAAM,CAAC,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,IAAI,EAAE,iBAAiB;QACvB,iCAAiC,EAAE,uCAAuC;KAC3E;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAqB;QAC3B,2BAA2B,EAAE,GAAG;QAChC,gBAAgB,EAAE,KAAK;KACxB;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,QAAQ;QAClB,sBAAsB,EAAE,KAAK;KAC9B;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,QAAQ;QAClB,sBAAsB,EAAE,IAAI;KAC7B;IACD,qEAAqE;IACrE,yDAAyD;IACzD,yEAAyE;IACzE,qEAAqE;IACrE,iEAAiE;IACjE,gEAAgE;IAChE,WAAW,EAAE;QACX,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,QAAQ;QAClB,sBAAsB,EAAE,KAAK;KAC9B;CACF,CAAC,CAAC"}