@tenphi/akno-core 0.8.0 → 0.9.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.
@@ -1,22 +1,13 @@
1
1
  import { RememberInput, } from '@tenphi/akno-protocol';
2
2
  import { ModelClient } from "../models/client.js";
3
3
  import { runRetain } from "../write/retain.js";
4
- import { newPrefixedId, sha256 } from "../store/ids.js";
4
+ import { retainRememberCandidates } from "./retain.js";
5
+ import { newPrefixedId } from "../store/ids.js";
5
6
  import { isReserved } from "../reserved.js";
6
7
  import { folderCatalog } from "../kb/folders.js";
7
- import { parsePage } from "../kb/page.js";
8
- import { serializeYamlString } from "../kb/frontmatter.js";
9
- import { contentWords } from "../kb/words.js";
10
- import { detectConflict } from "../write/conflict.js";
11
- import { fileEntry } from "../write/journal.js";
12
- import { writeFileAtomic } from "../write/atomic.js";
13
- import { managedSourceReference, placeManagedItems } from "../write/placement.js";
14
- import { markerFromProvidedCandidate, managedMemoryFingerprint, renderManagedMemoryPayload, } from "../write/managed-memory.js";
15
8
  import { resolveRememberFallback } from "../write/remember-fallback.js";
16
9
  import { recall } from "./recall.js";
17
- import { appendToLedger, titleFromSlug } from "./write.js";
18
- import fsp from 'node:fs/promises';
19
- import path from 'node:path';
10
+ import { appendToLedger } from "./write.js";
20
11
  /**
21
12
  * Hand over a transcript or notes; Akno runs the retain mission with its own
22
13
  * model and produces the writes itself. **The answer for a host that does not want
@@ -163,13 +154,13 @@ export async function remember(ctx, rawInput) {
163
154
  note: 'dry run — nothing was written',
164
155
  };
165
156
  }
166
- // ── Place and write ─────────────────────────────────────────────────────
167
- // One group per target means one placement-model call per page and one journal entry for the
168
- // whole remember operation. A turn that keeps three related facts is one undoable decision.
157
+ // ── Resolve adapter actions; shared retain owns validation and writes ─────
169
158
  const wrote = [];
170
159
  const approvals = [];
171
160
  const foldersNeeded = [];
172
- const groups = new Map();
161
+ const prepared = [];
162
+ const preparedIndexes = new Map();
163
+ const existedBefore = new Map();
173
164
  for (const [index, entry] of routed.entries()) {
174
165
  const target = considered[index].slug;
175
166
  if (target === null) {
@@ -200,24 +191,14 @@ export async function remember(ctx, rawInput) {
200
191
  approvals.push(proposeUnrouted(ctx, entry.candidate, entry.nearest, target, entry.blocked));
201
192
  continue;
202
193
  }
203
- const group = groups.get(target) ?? { entries: [], configuredFallback: false };
204
- group.entries.push({ index, candidate: entry.candidate, blocked: entry.blocked });
205
- if (considered[index].destination === 'configured_fallback')
206
- group.configuredFallback = true;
207
- groups.set(target, group);
208
- }
209
- const pending = [];
210
- for (const [slug, group] of groups) {
211
194
  const row = ctx.store.db
212
195
  .prepare('SELECT id, rel_path, role, remember_management FROM pages WHERE slug = ?')
213
- .get(slug);
196
+ .get(target);
214
197
  if (row && (row.role !== 'knowledge' || row.remember_management !== 'integrate')) {
215
- for (const entry of group.entries) {
216
- considered[entry.index].kept = false;
217
- considered[entry.index].slug = null;
218
- considered[entry.index].destination = 'no_writable_destination';
219
- approvals.push(proposeUnrouted(ctx, entry.candidate, [], slug, entry.blocked));
220
- }
198
+ considered[index].kept = false;
199
+ considered[index].slug = null;
200
+ considered[index].destination = 'no_writable_destination';
201
+ approvals.push(proposeUnrouted(ctx, entry.candidate, [], target, entry.blocked));
221
202
  continue;
222
203
  }
223
204
  // The same policy, for a page that does not exist yet.
@@ -227,12 +208,10 @@ export async function remember(ctx, rawInput) {
227
208
  // nothing but whether the parent directory existed. A physical reference folder could
228
209
  // therefore receive a new managed page even though no rule admitted injection there.
229
210
  // Declining to create is the same answer the folder already gives to writing.
230
- const parent = slug.slice(0, slug.lastIndexOf('/'));
231
- if (!row && admittedFolder(catalog, slug) === null) {
232
- for (const entry of group.entries) {
233
- considered[entry.index].kept = false;
234
- considered[entry.index].slug = null;
235
- }
211
+ const parent = target.slice(0, target.lastIndexOf('/'));
212
+ if (!row && admittedFolder(catalog, target) === null) {
213
+ considered[index].kept = false;
214
+ considered[index].slug = null;
236
215
  foldersNeeded.push({
237
216
  folder: parent,
238
217
  nearest: catalog
@@ -242,99 +221,58 @@ export async function remember(ctx, rawInput) {
242
221
  });
243
222
  continue;
244
223
  }
245
- const relPath = row?.rel_path ?? `${slug}.md`;
246
- const current = row
247
- ? await fsp.readFile(path.join(ctx.config.aknoPath, relPath), 'utf8')
248
- : newManagedPage(group.configuredFallback ? titleFromSlug(slug) : titleFor(group.entries[0].candidate, slug));
249
- const accepted = [];
250
- for (const entry of group.entries) {
251
- if (row) {
252
- const page = parsePage(relPath, current);
253
- const conflict = detectConflict({
254
- store: ctx.store,
255
- pageId: row.id,
256
- slug,
257
- body: page.body,
258
- bodyStartLine: page.bodyLine,
259
- incoming: entry.candidate.text,
260
- });
261
- if (conflict) {
262
- approvals.push({
263
- proposal_id: recordConflictProposal(ctx, slug, entry.candidate, conflict.existing),
264
- reason: `'${slug}' already claims something different: ${conflict.existing}. Ask which is current.`,
265
- reason_code: 'conflict',
266
- nearest: [slug],
267
- });
268
- continue;
269
- }
270
- }
271
- accepted.push(entry);
272
- }
273
- if (accepted.length === 0)
224
+ prepared.push({ ...entry.candidate, destination: { slug: target } });
225
+ preparedIndexes.set(entry.candidate.candidate_id, index);
226
+ existedBefore.set(target, Boolean(row));
227
+ }
228
+ const retainedWrite = await retainRememberCandidates(ctx, {
229
+ text: input.text,
230
+ ...(input.source ? { source: input.source } : {}),
231
+ ...(input.mentioned_at ? { mentionedAt: input.mentioned_at } : {}),
232
+ ...(input.timezone ? { timezone: input.timezone } : {}),
233
+ ...(mission ? { mission } : {}),
234
+ dryRun: false,
235
+ candidates: prepared,
236
+ held: retained.held.map((candidate) => ({
237
+ candidate_id: candidate.candidate_id,
238
+ outcome: 'held',
239
+ reason_code: candidate.reason_code,
240
+ reason: candidate.reason,
241
+ })),
242
+ modelUsage: retained.modelUsage,
243
+ });
244
+ const retainedResult = retainedWrite.result;
245
+ const changedSlugs = new Set();
246
+ for (const result of retainedResult.candidates) {
247
+ const index = preparedIndexes.get(result.candidate_id);
248
+ if (index === undefined)
249
+ continue;
250
+ const candidate = prepared.find((item) => item.candidate_id === result.candidate_id);
251
+ if (result.outcome === 'written' || result.outcome === 'support_added') {
252
+ considered[index].written = true;
253
+ if (result.slug)
254
+ changedSlugs.add(result.slug);
274
255
  continue;
275
- const sourceRef = managedSourceReference(input.source ?? 'remember');
276
- const inputHash = sha256(input.text);
277
- const acceptedIds = new Set(accepted.map(({ candidate }) => candidate.candidate_id));
278
- const placeable = accepted.filter(({ candidate }) => (candidate.relations ?? []).every((relation) => !('candidate_id' in relation.target) || acceptedIds.has(relation.target.candidate_id)));
279
- if (placeable.length !== accepted.length) {
280
- for (const entry of accepted) {
281
- if (placeable.includes(entry))
282
- continue;
283
- considered[entry.index].kept = false;
284
- considered[entry.index].slug = null;
285
- }
286
256
  }
287
- if (placeable.length === 0)
257
+ if (result.outcome === 'duplicate')
288
258
  continue;
289
- const memoryIds = new Map(placeable.map(({ candidate }) => [candidate.candidate_id, newPrefixedId('mem')]));
290
- const items = placeable.map(({ candidate }) => {
291
- const id = memoryIds.get(candidate.candidate_id);
292
- const marker = markerFromProvidedCandidate(id, candidate, {
293
- receipt: managedMemoryFingerprint(`remember:${inputHash}`),
294
- candidate: managedMemoryFingerprint(`${inputHash}:${candidate.candidate_id}`),
295
- proofGroup: managedMemoryFingerprint(`remember-group:${sourceRef}:${inputHash}`),
296
- selection: 'extracted',
297
- }, memoryIds);
298
- return {
299
- id,
300
- marker,
301
- text: renderManagedMemoryPayload(candidate.text, marker),
302
- };
303
- });
304
- const placed = await placeManagedItems(current, items, curator);
305
- // Placement failure is recoverable and visible in Markdown: no claim is lost, and the next
306
- // curate pass has an explicit `## Unsorted` inbox to integrate.
307
- pending.push({
308
- slug,
309
- relPath,
310
- content: placed.content,
311
- existed: Boolean(row),
312
- indexes: placeable.map((entry) => entry.index),
313
- sources: placeable.flatMap((entry, itemIndex) => entry.candidate.evidence
314
- ? [
315
- {
316
- itemId: items[itemIndex].id,
317
- sourceRef,
318
- origin: candidateOrigin(items[itemIndex].marker.sourceRole),
319
- evidence: entry.candidate.evidence,
320
- evidenceHash: sha256(entry.candidate.evidence),
321
- inputHash,
322
- },
323
- ]
324
- : []),
325
- });
259
+ considered[index].kept = false;
260
+ considered[index].slug = null;
261
+ considered[index].destination = 'no_writable_destination';
262
+ if (result.reason_code === 'conflict' && result.slug) {
263
+ const existing = result.reason && result.reason !== 'conflict' ? result.reason : 'an owned claim';
264
+ approvals.push({
265
+ proposal_id: recordConflictProposal(ctx, result.slug, candidate, existing),
266
+ reason: `'${result.slug}' already claims something different: ${existing}. Ask which is current.`,
267
+ reason_code: 'conflict',
268
+ nearest: [result.slug],
269
+ });
270
+ }
326
271
  }
327
- const files = [];
328
- const managedSources = [];
329
- for (const page of pending) {
330
- const result = await writeFileAtomic(ctx.config.aknoPath, page.relPath, page.content);
331
- files.push(fileEntry(result));
332
- page.indexes.forEach((index) => {
333
- considered[index].written = true;
334
- });
335
- wrote.push({ slug: page.slug, action: page.existed ? 'appended' : 'created' });
336
- managedSources.push(...page.sources);
272
+ for (const slug of changedSlugs) {
273
+ wrote.push({ slug, action: existedBefore.get(slug) ? 'appended' : 'created' });
337
274
  }
275
+ const files = [];
338
276
  for (const event of retained.events) {
339
277
  const ledger = await appendToLedger(ctx, event);
340
278
  if (ledger.file)
@@ -345,22 +283,22 @@ export async function remember(ctx, rawInput) {
345
283
  action: 'event',
346
284
  });
347
285
  }
348
- const changeId = files.length > 0
286
+ const eventChangeId = files.length > 0
349
287
  ? ctx.journal.record({
350
288
  actor: ctx.actor,
351
289
  op: 'remember',
352
- summary: `remembered ${considered.filter((entry) => entry.written).length} item(s)`,
290
+ summary: `remembered ${retained.events.length} legacy event(s)`,
353
291
  files,
354
292
  })
355
293
  : null;
356
- persistManagedSources(ctx, managedSources);
357
- let added = 0;
294
+ let added = retainedWrite.factsAdded;
358
295
  if (files.length > 0) {
359
296
  const paths = [...new Set(files.map((file) => file.relPath))];
360
297
  const report = await ctx.indexer.runForeground({ only: paths, modelPaths: [] });
361
298
  ctx.derive.schedule(paths);
362
- added = report.factsDerived;
299
+ added += report.factsDerived;
363
300
  }
301
+ const changeId = retainedResult.change_id ?? eventChangeId;
364
302
  // Deduplicated: three findings bound for the same new folder are one thing to do, not three.
365
303
  const folders = deduplicateRequiredFolders(foldersNeeded);
366
304
  // `requires_folder` outranks `requires_approval` in the outcome, because they ask different
@@ -408,9 +346,6 @@ export async function remember(ctx, rawInput) {
408
346
  ...(held.length > 0 ? { note: held.join('; ') } : {}),
409
347
  };
410
348
  }
411
- function candidateOrigin(role) {
412
- return role === 'user' || role === 'assistant' ? role : 'unknown';
413
- }
414
349
  function fallbackResult(needed, used, resolution) {
415
350
  if (!needed || !resolution)
416
351
  return {};
@@ -425,53 +360,6 @@ function fallbackResult(needed, used, resolution) {
425
360
  fallback: { slug: resolution.slug, status: 'used' },
426
361
  };
427
362
  }
428
- function persistManagedSources(ctx, sources) {
429
- if (sources.length === 0 || ctx.store.readOnly)
430
- return;
431
- const insert = ctx.store.db.prepare(`INSERT OR IGNORE INTO managed_item_sources(
432
- item_id, source_ref, origin, evidence, evidence_hash, input_hash, created_at
433
- ) VALUES (?, ?, ?, ?, ?, ?, ?)`);
434
- const createdAt = new Date().toISOString();
435
- ctx.store.transaction(() => {
436
- for (const source of sources) {
437
- insert.run(source.itemId, source.sourceRef, source.origin, source.evidence, source.evidenceHash, source.inputHash, createdAt);
438
- }
439
- });
440
- }
441
- /**
442
- * A title for a page being created: the subject the curator named, unless that subject is not
443
- * what the page is.
444
- *
445
- * `write` derives one from the slug when none is given, and a slug-derived title reads like a
446
- * filename ("Vulpine Claim 2026 08"). The subject is a phrase a person wrote, so it wins wherever
447
- * the two are about the same thing.
448
- *
449
- * They are not always about the same thing, and that is this function's whole problem. The slug
450
- * comes from routing, which scored ranked candidates; the subject came off one claim. A narrow
451
- * equipment claim can correctly open `expeditions/blackwater-bay-survey` while still being too
452
- * specific to name that broader page. A claim is
453
- * superseded in a week; the title it installed outlives it by months.
454
- *
455
- * **One shared content word is enough to keep the subject.** The question is not whether the two
456
- * agree closely, only whether they are about the same thing at all: `people/ada-marlow` and "Ada
457
- * Marlow" share both words, `vulpine-claim-2026-08` and "Vulpine claim" share two, while a broad
458
- * expedition slug and one equipment calibration share none. Falling back costs a plainer title, which is worth
459
- * paying — a slug-derived title is dull but it is never about the wrong thing.
460
- */
461
- function titleFor(candidate, slug) {
462
- const subject = candidate.subject.trim();
463
- if (subject.length === 0)
464
- return titleFromSlug(slug);
465
- const named = contentWords(slug.slice(slug.lastIndexOf('/') + 1));
466
- for (const word of contentWords(subject)) {
467
- if (named.has(word))
468
- return subject.charAt(0).toUpperCase() + subject.slice(1);
469
- }
470
- return titleFromSlug(slug);
471
- }
472
- function newManagedPage(title) {
473
- return `---\ntitle: ${serializeYamlString(title, 'title')}\nakno:\n role: knowledge\n management:\n remember: integrate\n---\n\n# ${title}\n`;
474
- }
475
363
  /**
476
364
  * An internal `recall` finds where a claim belongs. **Best score at or above
477
365
  * `route_threshold` wins and the claim is appended there; below that a page is created** at
@@ -1 +1 @@
1
- {"version":3,"file":"remember.js","sourceRoot":"","sources":["../../src/ops/remember.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remember.js","sourceRoot":"","sources":["../../src/ops/remember.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,34 @@
1
- import { type RetainOutput } from '@tenphi/akno-protocol';
1
+ import { type ProvidedRetainCandidate, type RetainCandidateResult, type RetainModelCallReceipt, type RetainOutput, type RetainSourceResult } from '@tenphi/akno-protocol';
2
2
  import type { AknoContext } from '../context.ts';
3
+ import { type RetainCandidate } from '../write/retain.ts';
4
+ type ResolvedRetainCandidate = (ProvidedRetainCandidate | RetainCandidate) & {
5
+ destination: {
6
+ slug: string;
7
+ section?: string;
8
+ };
9
+ };
3
10
  export declare function retain(ctx: AknoContext, rawInput: unknown): Promise<RetainOutput>;
11
+ /**
12
+ * Compatibility adapter entrypoint: remember keeps its public routing/action response, while
13
+ * validation, owned-block staging, source archives, journaling, receipts, and indexing execute
14
+ * through the same engine as keyed retain.
15
+ */
16
+ export declare function retainRememberCandidates(ctx: AknoContext, input: {
17
+ text: string;
18
+ source?: string;
19
+ mentionedAt?: string;
20
+ timezone?: string;
21
+ mission?: string;
22
+ dryRun: boolean;
23
+ candidates: readonly ResolvedRetainCandidate[];
24
+ held: readonly RetainCandidateResult[];
25
+ modelUsage: {
26
+ extraction: RetainModelCallReceipt | null;
27
+ verification: RetainModelCallReceipt | null;
28
+ };
29
+ }): Promise<{
30
+ result: RetainSourceResult;
31
+ factsAdded: number;
32
+ }>;
33
+ export {};
4
34
  //# sourceMappingURL=retain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retain.d.ts","sourceRoot":"","sources":["../../src/ops/retain.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,YAAY,EAKlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAgFjD,wBAAsB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAgDvF"}
1
+ {"version":3,"file":"retain.d.ts","sourceRoot":"","sources":["../../src/ops/retain.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAE1B,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EAIxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAwBjD,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,oBAAoB,CAAC;AAsE5B,KAAK,uBAAuB,GAAG,CAAC,uBAAuB,GAAG,eAAe,CAAC,GAAG;IAC3E,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD,CAAC;AAEF,wBAAsB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAwDvF;AA2oBD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE;IACL,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC/C,IAAI,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACvC,UAAU,EAAE;QACV,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;QAC1C,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAC;KAC7C,CAAC;CACH,GACA,OAAO,CAAC;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAoC7D"}