@agfpd/iapeer-memory-core 0.1.10 → 0.1.12
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/package.json +1 -1
- package/src/memoryd.ts +17 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agfpd/iapeer-memory-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"description": "iapeer-memory core — host-neutral TypeScript memory primitive: vault schema/taxonomy config, search engine, memoryd, context renderer, role contracts. Consumed by the @agfpd/iapeer-memory facade; version kept in lockstep by its release flow (docs/10-distribution.md).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
package/src/memoryd.ts
CHANGED
|
@@ -680,10 +680,26 @@ export async function startMemoryd(opts: MemorydOptions): Promise<MemorydHandle>
|
|
|
680
680
|
// over the WHOLE inbox folder; no dependency on fs.watch filenames).
|
|
681
681
|
const inboxNext = snapshotInbox(config.vaultPath, taxonomy);
|
|
682
682
|
for (const name of diffSnapshots(inboxSnapshot, inboxNext)) {
|
|
683
|
+
const abs = path.join(config.vaultPath, taxonomy.folders.inbox, name);
|
|
684
|
+
// Source-фильтр кураторов — ПАРИТЕТ с PERMANENT_BATCH (живое эхо
|
|
685
|
+
// 10.06: стилистическая правка Scriber'а ВО ВРЕМЯ вычитки породила
|
|
686
|
+
// повторный INBOX_NEW по тому же черновику — вычитывающая сессия и
|
|
687
|
+
// есть конвейер). Правки автора (reject→fix→re-review) проходят:
|
|
688
|
+
// last_edited_by остаётся автором. Цена документирована: черновик,
|
|
689
|
+
// чья ПОСЛЕДНЯЯ правка до первого анонса — кураторская, не
|
|
690
|
+
// анонсируется; в конвейере не возникает (кураторы трогают черновики
|
|
691
|
+
// только по событиям, т.е. после анонса). Baseline обновляется ниже
|
|
692
|
+
// безусловно — подавленное НЕ реплеится, авторская правка поверх
|
|
693
|
+
// кураторской диффится от свежего снапшота и проходит.
|
|
694
|
+
const leb = lastEditedByOf(abs);
|
|
695
|
+
if (leb && config.curatorSet.includes(leb)) {
|
|
696
|
+
logger.info(`inbox event suppressed (curator ${leb}): ${name}`);
|
|
697
|
+
continue;
|
|
698
|
+
}
|
|
683
699
|
logger.info(`inbox event: ${name}`);
|
|
684
700
|
// ABSOLUTE path (B-приёмка 10.06): a consumer must never guess the
|
|
685
701
|
// vault root — a role peer once `find`-guessed a stale copy.
|
|
686
|
-
emit(`INBOX_NEW: ${
|
|
702
|
+
emit(`INBOX_NEW: ${abs}`);
|
|
687
703
|
}
|
|
688
704
|
if (inboxNext.size > 0 || inboxSnapshot.size === 0) {
|
|
689
705
|
inboxSnapshot = inboxNext;
|