kiokuko-dsh 0.1.39 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/PERMISSIONS.md CHANGED
@@ -10,11 +10,18 @@ Kiokuko operation.
10
10
  repository metadata.
11
11
  - Writes the configured Kiokuko database and pre-migration backups, including
12
12
  DSH leases, receipts, retrieval state, and embedding state.
13
- - When DSH rejects a requested v3 history containing legacy Kiokuko informational
13
+ - On plugin load, enumerates stored DSH session IDs and validates each history.
14
+ When DSH rejects a v3 history containing legacy Kiokuko informational
14
15
  events, reads that exact native session file and marks the five supported
15
16
  types ignorable under DSH's write lease. Retains a byte-for-byte `.bak`, validates
16
- in a disposable local directory, and replaces the source atomically. It does
17
- not scan and repair other sessions; invalid or unrelated records remain errors.
17
+ in a disposable local directory, and replaces the source atomically. It
18
+ reports failed IDs without exposing message contents; invalid or unrelated
19
+ records remain errors. The same check applies when a chat is opened later.
20
+ - For v0 histories, normalizes Kiokuko continuation sources and diagnostic
21
+ stack fields in supported abort causes, validates the native migration in
22
+ isolation, and publishes a new v3 generation under the same native lease.
23
+ Retains the original v0 file and an identical `.bak`; never overwrites an
24
+ existing successor or reconstructs missing turn-ending events.
18
25
  - Does not rewrite host configuration or repository instruction files.
19
26
  Repository identity, run identity, lease, revision, and integrity mismatches
20
27
  fail closed.
@@ -1,3 +1,4 @@
1
+ import { type SessionHistoryCheck } from './session-history-compatibility.js';
1
2
  import type { Context } from '@deepseek-ai/cordis';
2
3
  import { DshEnnoController } from './enno-controller.js';
3
4
  import { DshIntakeGate, type DshPreStepEvent } from './intake-gate.js';
@@ -89,6 +90,8 @@ export interface DshCompositionHost {
89
90
  }
90
91
  type DshToolHostRegistration = DshToolRegistrationContext['tools']['register'];
91
92
  export interface DshCompositionHandle {
93
+ /** Startup validation of all persisted session IDs, also run after plugin reload/update. */
94
+ readonly historyCheck: Promise<SessionHistoryCheck>;
92
95
  /** Stop all event, command, tool, and session ingress synchronously. */
93
96
  readonly stopIngress: () => void;
94
97
  /** Finish resource teardown after ingress has been stopped. */
@@ -1 +1 @@
1
- {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/dsh/composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/dsh/composition.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,7 @@ export async function mountDshComposition(ctx, host) {
90
90
  const stopErrors = [];
91
91
  let ingressStopped = false;
92
92
  let disposePromise;
93
+ let historyCheck;
93
94
  const stopIngress = () => {
94
95
  if (ingressStopped)
95
96
  return;
@@ -135,6 +136,7 @@ export async function mountDshComposition(ctx, host) {
135
136
  };
136
137
  try {
137
138
  const historyCompatibility = mountSessionHistoryCompatibility(ctx);
139
+ historyCheck = historyCompatibility.ready;
138
140
  ingressDisposers.push(historyCompatibility.stop);
139
141
  setupResourceDisposers.push(historyCompatibility.dispose);
140
142
  cleanupDisposers.push(historyCompatibility.dispose);
@@ -289,6 +291,6 @@ export async function mountDshComposition(ctx, host) {
289
291
  disposePromise = runCleanup();
290
292
  return disposePromise;
291
293
  };
292
- return { stopIngress, dispose };
294
+ return { stopIngress, dispose, historyCheck };
293
295
  }
294
296
  //# sourceMappingURL=composition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/dsh/composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/dsh/composition.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,21 @@
1
1
  import { Context } from '@deepseek-ai/cordis';
2
- /** Reversible adapter around the native open boundary; no startup scan or alternative reader. */
2
+ export interface SessionHistoryCheck {
3
+ readonly supported: boolean;
4
+ readonly listed: number;
5
+ readonly checked: number;
6
+ readonly repaired: number;
7
+ readonly failed: number;
8
+ readonly cancelled: boolean;
9
+ /** Bounded diagnostics contain session IDs and errors, never message bodies. */
10
+ readonly failures: readonly {
11
+ id: string;
12
+ error: string;
13
+ }[];
14
+ readonly enumerationError?: string;
15
+ }
16
+ /** Own startup validation and the reversible native-open adapter until plugin unload. */
3
17
  export declare function mountSessionHistoryCompatibility(ctx: Context): {
18
+ ready: Promise<SessionHistoryCheck>;
4
19
  stop(): void;
5
20
  dispose(): Promise<void>;
6
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session-history-compatibility.d.ts","sourceRoot":"","sources":["../../src/dsh/session-history-compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AA0I7C,iGAAiG;AACjG,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,IAAI,IAAI,IAAI,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CA6CzG"}
1
+ {"version":3,"file":"session-history-compatibility.d.ts","sourceRoot":"","sources":["../../src/dsh/session-history-compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AA2B7C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AA4KD,yFAAyF;AACzF,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAAC,IAAI,IAAI,IAAI,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAkD9I"}
@@ -1,27 +1,29 @@
1
1
  import { Context } from '@deepseek-ai/cordis';
2
2
  import { constants } from 'node:fs';
3
- import { lstat, mkdtemp, open, readFile, realpath, rename, rm } from 'node:fs/promises';
3
+ import { link, lstat, mkdtemp, open, readFile, realpath, rename, rm } from 'node:fs/promises';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { basename, dirname, join } from 'node:path';
6
6
  import { randomUUID } from 'node:crypto';
7
7
  import { canonicalJson } from '../serialization/validate.js';
8
- import { decodeSessionLog, encodeSessionLog, parseJsonl, repairInformationalRecord } from '../../scripts/session-history-codec.mjs';
8
+ import { decodeSessionLog, encodeSessionLog, parseJsonl, repairInformationalRecord, repairContinuationRecord, repairLegacyAbortRecord } from '../../scripts/session-history-codec.mjs';
9
9
  const MAX_COMPRESSED_BYTES = 64 * 1024 * 1024;
10
10
  const MAX_EXPANDED_BYTES = 256 * 1024 * 1024;
11
11
  const ownership = Symbol.for('kiokuko-dsh.session-history-compatibility.v1');
12
+ const unsupportedCheck = { supported: false, listed: 0, checked: 0, repaired: 0, failed: 0, cancelled: false, failures: [] };
12
13
  function nativeBackend(value) {
13
14
  if (!value || typeof value !== 'object')
14
15
  return false;
15
- return ['open', 'stat', 'resolveCurrentLog', 'acquireWriteLease', 'persistHeader', 'readStoredLog']
16
+ return ['open', 'list', 'stat', 'resolveCurrentLog', 'acquireWriteLease', 'persistHeader', 'readStoredLog']
16
17
  .every(key => typeof value[key] === 'function');
17
18
  }
18
19
  function refusalPath(error) {
19
20
  const refusal = error;
20
21
  return refusal?.name === 'SessionFormatUnsupportedError' && refusal.location?.kind === 'jsonl'
21
- && typeof refusal.location.path === 'string' ? refusal.location.path : undefined;
22
+ && typeof refusal.location.path === 'string'
23
+ && ['session.jsonl.zstd', 'session.jsonl', 'session.v3.jsonl.zstd', 'session.v3.jsonl'].includes(basename(refusal.location.path)) ? refusal.location.path : undefined;
22
24
  }
23
25
  /** Validate with the running backend implementation, including its current codec and identity checks. */
24
- async function validateCandidate(backend, header, candidate, compression, signal) {
26
+ async function validateCandidate(backend, header, candidate, compression, version, signal) {
25
27
  const root = await mkdtemp(join(tmpdir(), 'kiokuko-history-validation-'));
26
28
  const scope = new Context();
27
29
  const implementation = Object.getPrototypeOf(backend).constructor;
@@ -37,7 +39,10 @@ async function validateCandidate(backend, header, candidate, compression, signal
37
39
  const path = await validator.resolveCurrentLog(header.id, signal);
38
40
  if (!path)
39
41
  throw new Error('Native history validator did not materialize its header');
40
- const file = await open(path, 'w');
42
+ const inputPath = version === 0 ? join(dirname(path), basename(path).replace('.v3.', '.')) : path;
43
+ if (version === 0)
44
+ await rm(path);
45
+ const file = await open(inputPath, version === 0 ? 'wx' : 'w');
41
46
  try {
42
47
  await file.writeFile(candidate);
43
48
  await file.sync();
@@ -45,12 +50,19 @@ async function validateCandidate(backend, header, candidate, compression, signal
45
50
  finally {
46
51
  await file.close();
47
52
  }
53
+ if (version === 0) {
54
+ // Let this exact native implementation migrate and publish the candidate
55
+ // in isolation. No private format catalog or reconstructed events.
56
+ const migrated = await validator.open(header.id, 'write', signal ? { signal } : undefined);
57
+ await migrated.close();
58
+ }
48
59
  const restored = await validator.readStoredLog(path, header.id, signal);
49
60
  if (restored.tornTruncateTo !== undefined || restored.recoveredTail?.length) {
50
61
  throw new Error('Legacy history compatibility cannot discard a damaged tail');
51
62
  }
52
63
  if (canonicalJson(restored.meta) !== canonicalJson(header))
53
64
  throw new Error('Legacy history header changed during validation');
65
+ return version === 0 ? await readFile(path) : candidate;
54
66
  }
55
67
  finally {
56
68
  try {
@@ -85,16 +97,23 @@ async function retainBackup(path, original, mode) {
85
97
  await file.close();
86
98
  }
87
99
  }
88
- /** Only the exact rejected current-generation artifact may change, under DSH's own kernel lock. */
100
+ /** Repair the exact rejected artifact under DSH's lock; historical v0 sources stay immutable. */
89
101
  async function repairHistory(backend, id, rejectedPath, signal) {
90
102
  signal?.throwIfAborted();
91
- const path = await backend.resolveCurrentLog(id, signal);
92
- if (path !== rejectedPath || !['session.v3.jsonl.zstd', 'session.v3.jsonl'].includes(basename(path))) {
93
- throw new Error('Legacy compatibility requires the exact native v3 session artifact');
94
- }
103
+ const version = ['session.jsonl', 'session.jsonl.zstd'].includes(basename(rejectedPath)) ? 0 : 3;
95
104
  const snapshot = await backend.stat(id, signal ? { signal } : undefined);
96
105
  if (!snapshot || snapshot.header.id !== id || snapshot.header.version !== 3)
97
106
  throw new Error('Legacy session identity mismatch');
107
+ if (version === 0 && snapshot.revision === undefined)
108
+ throw new Error('Legacy source revision is unavailable');
109
+ const current = await backend.resolveCurrentLog(id, signal);
110
+ const location = version === 0 ? backend.locate?.(snapshot.header) : undefined;
111
+ const target = version === 0 && location?.kind === 'jsonl' ? location.path : current;
112
+ if (!target || !['session.v3.jsonl', 'session.v3.jsonl.zstd'].includes(basename(target)))
113
+ throw new Error('Native current-generation location is unavailable');
114
+ const path = version === 0 ? join(dirname(target), basename(target).replace('.v3.', '.')) : target;
115
+ if (path !== rejectedPath || (version === 0 && current !== undefined))
116
+ throw new Error('Legacy compatibility requires the exact native source artifact');
98
117
  const lease = await backend.acquireWriteLease(snapshot.header);
99
118
  try {
100
119
  signal?.throwIfAborted();
@@ -109,25 +128,28 @@ async function repairHistory(backend, id, rejectedPath, signal) {
109
128
  const compressed = path.endsWith('.zstd');
110
129
  const parsed = parseJsonl(compressed ? decodeSessionLog(original, MAX_EXPANDED_BYTES) : original);
111
130
  const physicalHeader = parsed.records[0];
112
- if (physicalHeader?.type !== 'session' || physicalHeader.id !== id || physicalHeader.version !== 3)
131
+ if (physicalHeader?.type !== 'session' || physicalHeader.id !== id || physicalHeader.version !== version)
113
132
  throw new Error('Legacy physical header mismatch');
114
133
  let changed = false;
115
134
  const lines = parsed.records.map((record, index) => {
116
135
  if (index === 0)
117
136
  return parsed.lines[index];
118
- const compatible = repairInformationalRecord(record);
137
+ const informational = repairInformationalRecord(record);
138
+ const compatible = version === 0 ? repairLegacyAbortRecord(repairContinuationRecord(informational)) : informational;
119
139
  if (compatible === record)
120
140
  return parsed.lines[index];
121
141
  changed = true;
122
142
  return JSON.stringify(compatible);
123
143
  });
124
144
  if (!changed)
125
- return;
145
+ return false;
146
+ console.info(`[kiokuko-dsh] Repairing history for ${JSON.stringify(id)}`);
126
147
  const plaintext = Buffer.from(`${lines.join('\n')}\n`);
127
- const candidate = compressed ? encodeSessionLog(plaintext) : plaintext;
128
- await validateCandidate(backend, snapshot.header, candidate, compressed ? 'zstd' : 'none', signal);
148
+ const candidate = await validateCandidate(backend, snapshot.header, compressed ? encodeSessionLog(plaintext) : plaintext, compressed ? 'zstd' : 'none', version, signal);
129
149
  signal?.throwIfAborted();
130
- if (await backend.resolveCurrentLog(id, signal) !== path || await realpath(dirname(path)) !== parent
150
+ if (await backend.resolveCurrentLog(id, signal) !== current
151
+ || (version === 0 && (await backend.stat(id, signal ? { signal } : undefined))?.revision !== snapshot.revision)
152
+ || await realpath(dirname(path)) !== parent
131
153
  || !(await readFile(path)).equals(original))
132
154
  throw new Error('Legacy history changed before replacement');
133
155
  await retainBackup(path, original, status.mode & 0o777);
@@ -146,7 +168,12 @@ async function repairHistory(backend, id, rejectedPath, signal) {
146
168
  if (current.ino !== status.ino || current.dev !== status.dev || await realpath(dirname(path)) !== parent
147
169
  || !(await readFile(path)).equals(original))
148
170
  throw new Error('Legacy history changed while staging compatibility update');
149
- await rename(temporary, path);
171
+ // Publish a new generation without replacing the historical source or
172
+ // overwriting a concurrently created successor.
173
+ if (version === 0)
174
+ await link(temporary, target);
175
+ else
176
+ await rename(temporary, path);
150
177
  if (process.platform !== 'win32') {
151
178
  const directory = await open(dirname(path), 'r');
152
179
  try {
@@ -160,23 +187,70 @@ async function repairHistory(backend, id, rejectedPath, signal) {
160
187
  finally {
161
188
  await rm(temporary, { force: true });
162
189
  }
190
+ console.info(`[kiokuko-dsh] Repaired history for ${JSON.stringify(id)}`);
191
+ return true;
163
192
  }
164
193
  finally {
165
194
  await lease.release();
166
195
  }
167
196
  }
168
- /** Reversible adapter around the native open boundary; no startup scan or alternative reader. */
197
+ /** Check every native session ID once per plugin load, including first load after an update. */
198
+ async function checkStoredSessionIds(backend, repairedIds, signal) {
199
+ const result = { supported: true, listed: 0, checked: 0, repaired: 0, failed: 0, cancelled: false,
200
+ failures: [], enumerationError: undefined };
201
+ console.info('[kiokuko-dsh] Checking stored session IDs');
202
+ try {
203
+ const snapshots = await backend.list({ signal: AbortSignal.any([signal, AbortSignal.timeout(60_000)]) });
204
+ const ids = [...new Set(snapshots.map(snapshot => snapshot.header.id))];
205
+ result.listed = ids.length;
206
+ for (const id of ids) {
207
+ if (signal.aborted)
208
+ break;
209
+ try {
210
+ const handle = await backend.open(id, 'read', { signal: AbortSignal.any([signal, AbortSignal.timeout(30_000)]) });
211
+ // Native open validates the complete stored history. No message content
212
+ // is rendered, exported, or added to a model's context by this check.
213
+ await handle.close();
214
+ if (repairedIds.has(id))
215
+ result.repaired++;
216
+ }
217
+ catch (error) {
218
+ if (signal.aborted)
219
+ break;
220
+ result.failed++;
221
+ if (result.failures.length < 20)
222
+ result.failures.push({ id, error: error instanceof Error ? error.message : String(error) });
223
+ }
224
+ result.checked++;
225
+ }
226
+ }
227
+ catch (error) {
228
+ if (!signal.aborted)
229
+ result.enumerationError = error instanceof Error ? error.message : String(error);
230
+ }
231
+ result.cancelled = signal.aborted;
232
+ console.info(`[kiokuko-dsh] Session ID check: ${result.checked}/${result.listed} checked, ${result.repaired} repaired, ${result.failed} failed${result.cancelled ? ', cancelled' : ''}`);
233
+ if (result.enumerationError)
234
+ console.warn('[kiokuko-dsh] Session ID enumeration failed:', result.enumerationError);
235
+ for (const failure of result.failures)
236
+ console.warn(`[kiokuko-dsh] Session ID check failed for ${JSON.stringify(failure.id)}: ${failure.error}`);
237
+ const { enumerationError, ...summary } = result;
238
+ return { ...summary, ...(enumerationError === undefined ? {} : { enumerationError }) };
239
+ }
240
+ /** Own startup validation and the reversible native-open adapter until plugin unload. */
169
241
  export function mountSessionHistoryCompatibility(ctx) {
170
242
  if (typeof ctx.get !== 'function')
171
- return { stop() { }, async dispose() { } };
243
+ return { ready: Promise.resolve(unsupportedCheck), stop() { }, async dispose() { } };
172
244
  const backend = ctx.get('sessionPersistence', false);
173
245
  if (!nativeBackend(backend))
174
- return { stop() { }, async dispose() { } };
246
+ return { ready: Promise.resolve(unsupportedCheck), stop() { }, async dispose() { } };
175
247
  let installation = backend[ownership];
176
248
  if (!installation) {
177
249
  const original = backend.open;
178
250
  const descriptor = Object.getOwnPropertyDescriptor(backend, 'open');
179
251
  const pending = new Map();
252
+ const repairedIds = new Set();
253
+ const startup = new AbortController();
180
254
  let active = true;
181
255
  const wrapped = async function (id, access, options) {
182
256
  try {
@@ -190,7 +264,8 @@ export function mountSessionHistoryCompatibility(ctx) {
190
264
  const operation = (pending.get(id) ?? Promise.resolve()).catch(() => { }).then(() => {
191
265
  if (!active)
192
266
  throw error;
193
- return repairHistory(backend, id, path, options?.signal);
267
+ return repairHistory(backend, id, path, options?.signal).then(changed => { if (changed)
268
+ repairedIds.add(id); });
194
269
  });
195
270
  pending.set(id, operation);
196
271
  try {
@@ -209,8 +284,11 @@ export function mountSessionHistoryCompatibility(ctx) {
209
284
  return original.call(this, id, access, options);
210
285
  }
211
286
  };
212
- installation = { owners: 0, stop() {
287
+ // The microtask begins only after the adapter and shared owner are installed.
288
+ const ready = Promise.resolve().then(() => checkStoredSessionIds(backend, repairedIds, startup.signal));
289
+ installation = { owners: 0, ready, stop() {
213
290
  active = false;
291
+ startup.abort(new Error('Kiokuko history check stopped on plugin unload'));
214
292
  if (Object.getOwnPropertyDescriptor(backend, 'open')?.value === wrapped) {
215
293
  if (descriptor)
216
294
  Object.defineProperty(backend, 'open', descriptor);
@@ -218,7 +296,7 @@ export function mountSessionHistoryCompatibility(ctx) {
218
296
  delete backend.open;
219
297
  }
220
298
  delete backend[ownership];
221
- }, async drain() { await Promise.allSettled([...pending.values()]); } };
299
+ }, async drain() { await ready; await Promise.allSettled([...pending.values()]); } };
222
300
  Object.defineProperty(backend, 'open', { configurable: true, writable: true, value: wrapped });
223
301
  backend[ownership] = installation;
224
302
  }
@@ -230,7 +308,7 @@ export function mountSessionHistoryCompatibility(ctx) {
230
308
  if (--owned.owners === 0)
231
309
  owned.stop();
232
310
  } };
233
- return { stop, async dispose() { stop(); if (owned.owners === 0)
311
+ return { ready: owned.ready, stop, async dispose() { stop(); if (owned.owners === 0)
234
312
  await owned.drain(); } };
235
313
  }
236
314
  //# sourceMappingURL=session-history-compatibility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-history-compatibility.js","sourceRoot":"","sources":["../../src/dsh/session-history-compatibility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-history-compatibility.js","sourceRoot":"","sources":["../../src/dsh/session-history-compatibility.ts"],"names":[],"mappings":"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"}
@@ -12,20 +12,55 @@ header's **Kiokukoの回答 / Kiokukoの状態** action displays saved notices;
12
12
  notices open automatically and are acknowledged after display. Old custom
13
13
  notice events remain renderable after their log has been repaired.
14
14
 
15
- Once the updated plugin is loaded, opening an affected v3 chat automatically
16
- marks the five historical informational types below as ignorable and retries
17
- DSH's normal reader. This applies to both viewing history and resuming a chat.
18
- It handles the requested session only; installation does not scan or rewrite
19
- other chats. New observations and notices continue to use Kiokuko's database.
15
+ Every plugin load enumerates DSH's stored session IDs and validates their
16
+ histories, including the first load after installation or a package update.
17
+ Affected v3 chats have the five historical informational types below marked
18
+ ignorable before users need to open them individually. The startup log reports
19
+ checked/repaired/failed counts and the IDs of failures (up to 20 diagnostics).
20
+ A failed history does not prevent the remaining IDs from being checked.
21
+ No manual repair command or separate setup step is required. The installed
22
+ bundle loads the public plugin entrypoint, which mounts the compatibility
23
+ adapter and starts the scan automatically. The adapter uses that profile's
24
+ native session store, format implementation, and write leases; npm installation
25
+ hooks do not provide those running services.
26
+
27
+ For historical v0 logs, the checker also normalizes Kiokuko's old
28
+ `continuation` / `loop-recovery` message sources and serialized diagnostic
29
+ stacks in supported abort causes. It runs the complete native migration in
30
+ isolation, validates the resulting v3 history, then publishes that new
31
+ generation under DSH's write lease. The original v0 file remains unchanged,
32
+ with a byte-for-byte `.bak`; existing successors are never overwritten.
33
+ The log distinguishes `Repairing history` from `Repaired history`. Missing
34
+ turn-ending events and unrelated invalid records remain explicit failures;
35
+ the checker does not invent completed turns or discard messages.
36
+
37
+ Opening or resuming a chat also retries DSH's normal reader through the same
38
+ compatibility adapter, covering sessions added after the startup check. New
39
+ observations and notices continue to use Kiokuko's database. Checks run when
40
+ DSH loads the package, not inside npm's installation hooks: a package update
41
+ must actually be loaded by the running DSH process to take effect.
20
42
 
21
43
  The compatibility adapter acquires DSH's native session write lease, validates
22
44
  the complete candidate with the running JSONL backend, retains an identical
23
45
  `.bak`, and replaces the file atomically. Event bodies, sequence numbers,
24
46
  timestamps and fork boundaries are preserved. It refuses active writers,
25
47
  conflicting backups, symbolic-link artifacts, damaged logs and unrelated
26
- required event types. Automatic repair is limited to v3 JSONL/Zstandard files
27
- up to 64 MiB on disk and 256 MiB expanded. Unloading Kiokuko restores the native
28
- reader and waits for any repair already in progress.
48
+ required event types. Automatic repair accepts v0 and v3 JSONL/Zstandard files
49
+ up to 64 MiB on disk and 256 MiB expanded. Startup enumeration has a 60-second
50
+ deadline and each session check a 30-second deadline. Unloading Kiokuko cancels
51
+ and drains its startup check, restores the native reader, and waits for any
52
+ repair already in progress. Healthy histories and existing backups are not
53
+ rewritten on subsequent loads.
54
+
55
+ For a current harness checkout, run the compatibility tests against its source
56
+ and workspace module mappings (missing native modules fail the check):
57
+
58
+ ```sh
59
+ export KIOKUKO_DSH_SOURCE_ROOT=/path/to/deepseek-harness
60
+ TSX_TSCONFIG_PATH="$KIOKUKO_DSH_SOURCE_ROOT/tsconfig.json" \
61
+ KIOKUKO_REQUIRE_DSH_NATIVE=1 \
62
+ node scripts/run-tests.mjs tests/dsh/integration/session-history-compatibility.test.ts
63
+ ```
29
64
 
30
65
  ## Explicit diagnostic repair
31
66
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kiokuko-dsh",
3
- "version": "0.1.39",
3
+ "version": "0.1.41",
4
4
  "description": "Kiokuko plugin for DeepSeek Harness",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -81,13 +81,13 @@
81
81
  "Configured Kiokuko SQLite database and embedding assets",
82
82
  "Registered project roots and their repository metadata",
83
83
  "Orca traces belonging to the exact native DSH session",
84
- "The exact native v3 session history rejected for legacy Kiokuko informational events"
84
+ "Stored native DSH session IDs and histories for startup validation and legacy Kiokuko compatibility"
85
85
  ],
86
86
  "writePaths": [
87
87
  "Configured Kiokuko database and pre-migration backups",
88
88
  "DSH run, lease, receipt, retrieval, Deep inputs/artifacts/budgets/reports, post-completion memory-finalization, and embedding state inside that database",
89
89
  ".orca/runs and .orca/exports inside verified session workspaces, or the configured Kiokuko data directory",
90
- "Legacy Kiokuko history compatibility under DSH's native write lease: exact rejected file, retained .bak, and disposable validation artifacts"
90
+ "Legacy history compatibility under DSH's native write lease: exact rejected v3 file or validated new v3 generation from retained v0, identical .bak, and disposable validation artifacts"
91
91
  ],
92
92
  "commands": [
93
93
  "Restricted repository-relative verifier and backup subprocesses when explicitly requested"
@@ -13,42 +13,10 @@ import {
13
13
  } from 'node:fs'
14
14
  import { dirname, extname, join, resolve } from 'node:path'
15
15
  import { fileURLToPath, pathToFileURL } from 'node:url'
16
- import { decodeSessionLog, parseJsonl, encodeSessionLog, repairInformationalRecord } from './session-history-codec.mjs'
17
-
18
- const CONTINUATION_FORMS = new Set(['continuation', 'loop-recovery'])
19
-
20
- function objectRecord(value) {
21
- return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : undefined
22
- }
23
-
24
- function repairedSource(value) {
25
- const source = objectRecord(value)
26
- if (source?.kind !== 'plugin' || source.plugin !== 'kiokuko-dsh') return undefined
27
- if (!Object.hasOwn(source, 'deliveryId') && !CONTINUATION_FORMS.has(source.form)) return undefined
28
- const repaired = { ...source, form: 'instructions' }
29
- delete repaired.deliveryId
30
- return repaired
31
- }
16
+ import { decodeSessionLog, parseJsonl, encodeSessionLog, repairInformationalRecord, repairContinuationRecord } from './session-history-codec.mjs'
32
17
 
33
18
  function repairRecord(value) {
34
- const record = objectRecord(value)
35
- const data = objectRecord(record?.data)
36
- const informational = repairInformationalRecord(value)
37
- if (informational !== value) return informational
38
- if (record?.type === 'user/message') {
39
- const source = repairedSource(data?.source)
40
- return source === undefined ? value : { ...record, data: { ...data, source } }
41
- }
42
- if (record?.type !== 'agent/inbox/spliced' || !Array.isArray(data?.inserted)) return value
43
- let changed = false
44
- const inserted = data.inserted.map((candidate) => {
45
- const message = objectRecord(candidate)
46
- const source = repairedSource(message?.source)
47
- if (source === undefined) return candidate
48
- changed = true
49
- return { ...message, source }
50
- })
51
- return changed ? { ...record, data: { ...data, inserted } } : value
19
+ return repairContinuationRecord(repairInformationalRecord(value))
52
20
  }
53
21
 
54
22
  function validateCatalog(catalog, records) {
@@ -2,3 +2,5 @@ export function decodeSessionLog(buffer: Buffer, maxOutputLength?: number): Buff
2
2
  export function parseJsonl(plaintext: Buffer): { lines: string[]; records: unknown[] }
3
3
  export function encodeSessionLog(plaintext: Buffer): Buffer
4
4
  export function repairInformationalRecord(value: unknown): unknown
5
+ export function repairContinuationRecord(value: unknown): unknown
6
+ export function repairLegacyAbortRecord(value: unknown): unknown
@@ -118,4 +118,47 @@ function repairInformationalRecord(value) {
118
118
  return record.ignorable === true ? value : { ...record, ignorable: true }
119
119
  }
120
120
 
121
- export { decodeSessionLog, parseJsonl, encodeSessionLog, repairInformationalRecord }
121
+ function objectRecord(value) {
122
+ return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : undefined
123
+ }
124
+
125
+ function repairContinuationSource(value) {
126
+ const source = objectRecord(value)
127
+ if (source?.kind !== 'plugin' || source.plugin !== 'kiokuko-dsh') return undefined
128
+ if (!Object.hasOwn(source, 'deliveryId') && !['continuation', 'loop-recovery'].includes(source.form)) return undefined
129
+ if (Object.hasOwn(source, 'deliveryId') && typeof source.deliveryId !== 'string') return undefined
130
+ if (source.form !== undefined && !['instructions', 'continuation', 'loop-recovery'].includes(source.form)) return undefined
131
+ const repaired = { ...source, form: 'instructions' }
132
+ delete repaired.deliveryId
133
+ return repaired
134
+ }
135
+
136
+ /** Normalize only Kiokuko's historical continuation source representation. */
137
+ function repairContinuationRecord(value) {
138
+ const record = objectRecord(value), data = objectRecord(record?.data)
139
+ if (record?.type === 'user/message') {
140
+ const source = repairContinuationSource(data?.source)
141
+ return source === undefined ? value : { ...record, data: { ...data, source } }
142
+ }
143
+ if (record?.type !== 'agent/inbox/spliced' || !Array.isArray(data?.inserted)) return value
144
+ let changed = false
145
+ const inserted = data.inserted.map(candidate => {
146
+ const message = objectRecord(candidate), source = repairContinuationSource(message?.source)
147
+ if (source === undefined) return candidate
148
+ changed = true
149
+ return { ...message, source }
150
+ })
151
+ return changed ? { ...record, data: { ...data, inserted } } : value
152
+ }
153
+
154
+ /** A serialized stack is diagnostic metadata; retain the original abort cause. */
155
+ function repairLegacyAbortRecord(value) {
156
+ const record = objectRecord(value), data = objectRecord(record?.data)
157
+ const reason = objectRecord(data?.reason), cause = objectRecord(reason?.reason)
158
+ if (record?.type !== 'turn/end' || reason?.kind !== 'aborted' || typeof cause?.stack !== 'string'
159
+ || !['user', 'parent', 'disposed', 'legacy', 'hook'].includes(cause.kind)) return value
160
+ const { stack: _stack, ...compatibleCause } = cause
161
+ return { ...record, data: { ...data, reason: { ...reason, reason: compatibleCause } } }
162
+ }
163
+
164
+ export { decodeSessionLog, parseJsonl, encodeSessionLog, repairInformationalRecord, repairContinuationRecord, repairLegacyAbortRecord }