@fractalsynapse/dsh-chapters 0.0.0-stage → 0.2.20
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/LICENSE +14 -0
- package/README.md +76 -2
- package/cordis.patch.yml +363 -0
- package/docs/architecture.md +692 -0
- package/docs/autorun-guide.md +248 -0
- package/docs/backlog.md +2022 -0
- package/docs/contract.md +938 -0
- package/docs/development.md +990 -0
- package/docs/host-compaction-seam.md +225 -0
- package/docs/host-protected-head-ask.md +80 -0
- package/docs/knowledge-repo.md +1332 -0
- package/docs/plans-carriage.md +571 -0
- package/docs/project-state.md +642 -0
- package/docs/provider.md +98 -0
- package/docs/superpowers/plans/2026-10-17-chapters-save.md +198 -0
- package/docs/superpowers/plans/2026-11-02-chapter-removal.md +151 -0
- package/docs/superpowers/specs/2026-11-02-chapter-removal-design.md +115 -0
- package/docs/verify.md +561 -0
- package/lib/archive.d.ts +161 -0
- package/lib/archive.js +229 -0
- package/lib/archive.js.map +1 -0
- package/lib/arrival.d.ts +23 -0
- package/lib/arrival.js +125 -0
- package/lib/arrival.js.map +1 -0
- package/lib/artifact-query.d.ts +62 -0
- package/lib/artifact-query.js +187 -0
- package/lib/artifact-query.js.map +1 -0
- package/lib/attach.d.ts +46 -0
- package/lib/attach.js +120 -0
- package/lib/attach.js.map +1 -0
- package/lib/auto-save.d.ts +145 -0
- package/lib/auto-save.js +334 -0
- package/lib/auto-save.js.map +1 -0
- package/lib/aux-message.d.ts +17 -0
- package/lib/aux-message.js +20 -0
- package/lib/aux-message.js.map +1 -0
- package/lib/client.js +1419 -0
- package/lib/client.js.map +1 -0
- package/lib/codegraph.d.ts +76 -0
- package/lib/codegraph.js +190 -0
- package/lib/codegraph.js.map +1 -0
- package/lib/commands.d.ts +52 -0
- package/lib/commands.js +946 -0
- package/lib/commands.js.map +1 -0
- package/lib/compose.d.ts +30 -0
- package/lib/compose.js +185 -0
- package/lib/compose.js.map +1 -0
- package/lib/continue-core.d.ts +245 -0
- package/lib/continue-core.js +405 -0
- package/lib/continue-core.js.map +1 -0
- package/lib/diag.d.ts +55 -0
- package/lib/diag.js +186 -0
- package/lib/diag.js.map +1 -0
- package/lib/engine-core.d.ts +301 -0
- package/lib/engine-core.js +531 -0
- package/lib/engine-core.js.map +1 -0
- package/lib/engine-note.d.ts +35 -0
- package/lib/engine-note.js +32 -0
- package/lib/engine-note.js.map +1 -0
- package/lib/engine.d.ts +329 -0
- package/lib/engine.js +1179 -0
- package/lib/engine.js.map +1 -0
- package/lib/enrich-queue.d.ts +66 -0
- package/lib/enrich-queue.js +126 -0
- package/lib/enrich-queue.js.map +1 -0
- package/lib/enrich-store.d.ts +31 -0
- package/lib/enrich-store.js +103 -0
- package/lib/enrich-store.js.map +1 -0
- package/lib/enrich-wire.d.ts +163 -0
- package/lib/enrich-wire.js +353 -0
- package/lib/enrich-wire.js.map +1 -0
- package/lib/enrich.d.ts +102 -0
- package/lib/enrich.js +267 -0
- package/lib/enrich.js.map +1 -0
- package/lib/gitops.d.ts +107 -0
- package/lib/gitops.js +539 -0
- package/lib/gitops.js.map +1 -0
- package/lib/index.d.ts +241 -0
- package/lib/index.js +1162 -0
- package/lib/index.js.map +1 -0
- package/lib/indexing.d.ts +98 -0
- package/lib/indexing.js +223 -0
- package/lib/indexing.js.map +1 -0
- package/lib/injections.d.ts +90 -0
- package/lib/injections.js +165 -0
- package/lib/injections.js.map +1 -0
- package/lib/last-resort.d.ts +24 -0
- package/lib/last-resort.js +27 -0
- package/lib/last-resort.js.map +1 -0
- package/lib/log-shape.d.ts +38 -0
- package/lib/log-shape.js +93 -0
- package/lib/log-shape.js.map +1 -0
- package/lib/models-command.d.ts +74 -0
- package/lib/models-command.js +100 -0
- package/lib/models-command.js.map +1 -0
- package/lib/notice.d.ts +74 -0
- package/lib/notice.js +92 -0
- package/lib/notice.js.map +1 -0
- package/lib/plans.d.ts +154 -0
- package/lib/plans.js +315 -0
- package/lib/plans.js.map +1 -0
- package/lib/preset.d.ts +186 -0
- package/lib/preset.js +212 -0
- package/lib/preset.js.map +1 -0
- package/lib/prompt-keys.d.ts +7 -0
- package/lib/prompt-keys.js +8 -0
- package/lib/prompt-keys.js.map +1 -0
- package/lib/prompt-loop.d.ts +73 -0
- package/lib/prompt-loop.js +147 -0
- package/lib/prompt-loop.js.map +1 -0
- package/lib/prompt-push.d.ts +47 -0
- package/lib/prompt-push.js +115 -0
- package/lib/prompt-push.js.map +1 -0
- package/lib/prompt-runner.d.ts +48 -0
- package/lib/prompt-runner.js +90 -0
- package/lib/prompt-runner.js.map +1 -0
- package/lib/prompt-state.d.ts +142 -0
- package/lib/prompt-state.js +101 -0
- package/lib/prompt-state.js.map +1 -0
- package/lib/prompt.d.ts +270 -0
- package/lib/prompt.js +408 -0
- package/lib/prompt.js.map +1 -0
- package/lib/provider.d.ts +44 -0
- package/lib/provider.js +66 -0
- package/lib/provider.js.map +1 -0
- package/lib/redact.d.ts +24 -0
- package/lib/redact.js +85 -0
- package/lib/redact.js.map +1 -0
- package/lib/registry.d.ts +187 -0
- package/lib/registry.js +235 -0
- package/lib/registry.js.map +1 -0
- package/lib/removal.d.ts +159 -0
- package/lib/removal.js +556 -0
- package/lib/removal.js.map +1 -0
- package/lib/render.d.ts +97 -0
- package/lib/render.js +530 -0
- package/lib/render.js.map +1 -0
- package/lib/repair-run.d.ts +76 -0
- package/lib/repair-run.js +506 -0
- package/lib/repair-run.js.map +1 -0
- package/lib/repair.d.ts +208 -0
- package/lib/repair.js +357 -0
- package/lib/repair.js.map +1 -0
- package/lib/repo.d.ts +78 -0
- package/lib/repo.js +184 -0
- package/lib/repo.js.map +1 -0
- package/lib/rules-commands.d.ts +46 -0
- package/lib/rules-commands.js +379 -0
- package/lib/rules-commands.js.map +1 -0
- package/lib/rules.d.ts +267 -0
- package/lib/rules.js +478 -0
- package/lib/rules.js.map +1 -0
- package/lib/save-core.d.ts +72 -0
- package/lib/save-core.js +220 -0
- package/lib/save-core.js.map +1 -0
- package/lib/search.d.ts +112 -0
- package/lib/search.js +282 -0
- package/lib/search.js.map +1 -0
- package/lib/session-rules.d.ts +222 -0
- package/lib/session-rules.js +454 -0
- package/lib/session-rules.js.map +1 -0
- package/lib/signature.d.ts +45 -0
- package/lib/signature.js +199 -0
- package/lib/signature.js.map +1 -0
- package/lib/store.d.ts +156 -0
- package/lib/store.js +368 -0
- package/lib/store.js.map +1 -0
- package/lib/sync.d.ts +220 -0
- package/lib/sync.js +810 -0
- package/lib/sync.js.map +1 -0
- package/lib/tools.d.ts +113 -0
- package/lib/tools.js +1090 -0
- package/lib/tools.js.map +1 -0
- package/lib/treedx/client.d.ts +57 -0
- package/lib/treedx/client.js +82 -0
- package/lib/treedx/client.js.map +1 -0
- package/lib/treedx/provider.d.ts +39 -0
- package/lib/treedx/provider.js +479 -0
- package/lib/treedx/provider.js.map +1 -0
- package/lib/treedx/state.d.ts +27 -0
- package/lib/treedx/state.js +65 -0
- package/lib/treedx/state.js.map +1 -0
- package/lib/types.d.ts +210 -0
- package/lib/types.js +31 -0
- package/lib/types.js.map +1 -0
- package/lib/version.d.ts +9 -0
- package/lib/version.js +10 -0
- package/lib/version.js.map +1 -0
- package/lib/vocabulary.d.ts +41 -0
- package/lib/vocabulary.js +118 -0
- package/lib/vocabulary.js.map +1 -0
- package/lib/warnings.d.ts +10 -0
- package/lib/warnings.js +18 -0
- package/lib/warnings.js.map +1 -0
- package/package.json +151 -4
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer 2 of the two-layer index (knowledge-repo.md §10.2): the compressed,
|
|
3
|
+
* searchable, sharded index derived from chapter frontmatter + Layer-1
|
|
4
|
+
* curation facts. PURE + DETERMINISTIC: same inputs → same shards, and an
|
|
5
|
+
* empty manifest rebuilds the whole index identically (the recovery path).
|
|
6
|
+
*
|
|
7
|
+
* Shards are one file per canonical topic (alphabetical — bounded files,
|
|
8
|
+
* writes from different chapters usually touch different shards). Layer 1
|
|
9
|
+
* (`edits/<harness>/curation.jsonl`) is where humans and the plugin inject
|
|
10
|
+
* aliases, weights, pins, and group facts; this module applies them.
|
|
11
|
+
*/
|
|
12
|
+
export interface IndexEntry {
|
|
13
|
+
/** Repo-relative chapter path (chapters/<key>/<session>/<file>). */
|
|
14
|
+
path: string;
|
|
15
|
+
title: string;
|
|
16
|
+
topics: string[];
|
|
17
|
+
/** `plan` comes from the file's OWN `kind:` frontmatter (plans live beside
|
|
18
|
+
* chapters in the store), so it is never inferred from the directory. */
|
|
19
|
+
kind: 'chapter' | 'rule' | 'plan';
|
|
20
|
+
/** P3: rule category (chapters omit). */
|
|
21
|
+
category?: string;
|
|
22
|
+
/** Milliseconds; missing → sorts first within its topic shard. */
|
|
23
|
+
mtime?: number;
|
|
24
|
+
/** S5 stitch view: additional member paths (this entry's `path` is the
|
|
25
|
+
* canonical first member). Single-file entries omit it. */
|
|
26
|
+
paths?: string[];
|
|
27
|
+
/** CodeGraph symbols verified against the project index at archive time.
|
|
28
|
+
* Absent on chapters archived before CodeGraph integration or when the
|
|
29
|
+
* project was not indexed. Used by search scoring. */
|
|
30
|
+
codegraphSymbols?: string[];
|
|
31
|
+
}
|
|
32
|
+
export declare function stitchFragments(entries: readonly IndexEntry[]): IndexEntry[];
|
|
33
|
+
export type CurationFact = {
|
|
34
|
+
type: 'topic-alias';
|
|
35
|
+
from: string;
|
|
36
|
+
to: string;
|
|
37
|
+
at: string;
|
|
38
|
+
} | {
|
|
39
|
+
type: 'topic-pin';
|
|
40
|
+
topic: string;
|
|
41
|
+
at: string;
|
|
42
|
+
} | {
|
|
43
|
+
type: 'topic-weight';
|
|
44
|
+
topic: string;
|
|
45
|
+
weight: number;
|
|
46
|
+
at: string;
|
|
47
|
+
} | {
|
|
48
|
+
type: 'group';
|
|
49
|
+
topics: string[];
|
|
50
|
+
at: string;
|
|
51
|
+
} | {
|
|
52
|
+
type: 'note';
|
|
53
|
+
topic: string;
|
|
54
|
+
text: string;
|
|
55
|
+
at: string;
|
|
56
|
+
}
|
|
57
|
+
/** P3 §15 amendment: per-machine rule status; index layers ignore it (only rules.ts + the scorer consume it) */
|
|
58
|
+
| {
|
|
59
|
+
type: 'rule-status';
|
|
60
|
+
rule: string;
|
|
61
|
+
status: string;
|
|
62
|
+
at: string;
|
|
63
|
+
}
|
|
64
|
+
/** #50 §7.4: a rule pin — per-machine, last-write-wins, never a file rewrite */
|
|
65
|
+
| {
|
|
66
|
+
type: 'rule-pin';
|
|
67
|
+
rule: string;
|
|
68
|
+
pinned: boolean;
|
|
69
|
+
at: string;
|
|
70
|
+
};
|
|
71
|
+
export interface IndexManifest {
|
|
72
|
+
[inputPath: string]: {
|
|
73
|
+
hash: string;
|
|
74
|
+
at: string;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export interface IndexBuild {
|
|
78
|
+
/** topic → shard file content */
|
|
79
|
+
shards: Map<string, string>;
|
|
80
|
+
manifest: IndexManifest;
|
|
81
|
+
/** True when any shard content changed (commit only when true). */
|
|
82
|
+
changed: boolean;
|
|
83
|
+
topics: string[];
|
|
84
|
+
}
|
|
85
|
+
export declare const hashEntry: (e: IndexEntry) => string;
|
|
86
|
+
/** Minimal frontmatter reader for the `key: value` lines render.ts writes. */
|
|
87
|
+
export declare function parseFrontmatter(text: string): Record<string, string | string[]>;
|
|
88
|
+
/** A chapter file's text → IndexEntry (topics from frontmatter, kind from `kind:`). */
|
|
89
|
+
export declare function entryFromChapter(path: string, text: string, mtime?: number): IndexEntry;
|
|
90
|
+
/** Layer-1 parse: one JSON fact per line; malformed lines are skipped (logged by the caller). */
|
|
91
|
+
export declare function parseCuration(text: string): CurationFact[];
|
|
92
|
+
/**
|
|
93
|
+
* Build the sharded index. Aliases canonicalize topics (from→to, transitive),
|
|
94
|
+
* pinned topics sort first inside their position, weights scale the sort
|
|
95
|
+
* within a topic, and the manifest tracks per-entry hashes for the
|
|
96
|
+
* incremental fast path (an empty manifest = full rebuild = identical output).
|
|
97
|
+
*/
|
|
98
|
+
export declare function buildIndexShards(entries: readonly IndexEntry[], curation: readonly CurationFact[], manifest?: IndexManifest): IndexBuild;
|
package/lib/indexing.js
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer 2 of the two-layer index (knowledge-repo.md §10.2): the compressed,
|
|
3
|
+
* searchable, sharded index derived from chapter frontmatter + Layer-1
|
|
4
|
+
* curation facts. PURE + DETERMINISTIC: same inputs → same shards, and an
|
|
5
|
+
* empty manifest rebuilds the whole index identically (the recovery path).
|
|
6
|
+
*
|
|
7
|
+
* Shards are one file per canonical topic (alphabetical — bounded files,
|
|
8
|
+
* writes from different chapters usually touch different shards). Layer 1
|
|
9
|
+
* (`edits/<harness>/curation.jsonl`) is where humans and the plugin inject
|
|
10
|
+
* aliases, weights, pins, and group facts; this module applies them.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* S5 (record §4.3 boundary): fragment coherence at the INDEX level only.
|
|
14
|
+
* Legacy compaction fragments (turn-blind slices titled 'Earlier history'/
|
|
15
|
+
* 'Conversation span') that sit adjacent by chapter number within one
|
|
16
|
+
* session tree cohere into a single search entry citing every member file.
|
|
17
|
+
* Nothing on disk merges, no chapter is rewritten, the split rule is
|
|
18
|
+
* untouched — a pure function of what is already stored, so it is idempotent
|
|
19
|
+
* and vanishes if any member is reverted.
|
|
20
|
+
*/
|
|
21
|
+
const FRAGMENT_TITLE = /^(?:Earlier history|Conversation span)/;
|
|
22
|
+
function chapterNumber(path) {
|
|
23
|
+
const base = path.split('/').pop() ?? '';
|
|
24
|
+
const n = /^(\d+)-/.exec(base);
|
|
25
|
+
return n !== null ? Number(n[1]) : null;
|
|
26
|
+
}
|
|
27
|
+
export function stitchFragments(entries) {
|
|
28
|
+
// group by session directory, keep input order
|
|
29
|
+
const byDir = new Map();
|
|
30
|
+
const loose = [];
|
|
31
|
+
for (const e of entries) {
|
|
32
|
+
const dir = e.path.split('/').slice(0, -1).join('/');
|
|
33
|
+
const isFrag = FRAGMENT_TITLE.test(e.title);
|
|
34
|
+
if (!isFrag || chapterNumber(e.path) === null) {
|
|
35
|
+
loose.push(e);
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const list = byDir.get(dir);
|
|
39
|
+
if (list === undefined)
|
|
40
|
+
byDir.set(dir, [e]);
|
|
41
|
+
else
|
|
42
|
+
list.push(e);
|
|
43
|
+
}
|
|
44
|
+
const out = [...loose];
|
|
45
|
+
for (const [dir, frags] of byDir) {
|
|
46
|
+
const sorted = [...frags].sort((a, b) => (chapterNumber(a.path) ?? 0) - (chapterNumber(b.path) ?? 0));
|
|
47
|
+
let i = 0;
|
|
48
|
+
while (i < sorted.length) {
|
|
49
|
+
let j = i;
|
|
50
|
+
while (j + 1 < sorted.length &&
|
|
51
|
+
(chapterNumber(sorted[j + 1].path) ?? -1) === (chapterNumber(sorted[j].path) ?? -1) + 1)
|
|
52
|
+
j++;
|
|
53
|
+
const run = sorted.slice(i, j + 1);
|
|
54
|
+
if (run.length > 1) {
|
|
55
|
+
const head = run[0];
|
|
56
|
+
out.push({
|
|
57
|
+
...head,
|
|
58
|
+
title: `${head.title} — ${run.length} consecutive parts (stitched)`,
|
|
59
|
+
topics: [...new Set(run.flatMap((r) => r.topics))],
|
|
60
|
+
paths: run.map((r) => r.path),
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else if (run.length === 1)
|
|
64
|
+
out.push(run[0]);
|
|
65
|
+
i = j + 1;
|
|
66
|
+
}
|
|
67
|
+
void dir;
|
|
68
|
+
}
|
|
69
|
+
// stable, deterministic: original entry order by path
|
|
70
|
+
out.sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
|
|
71
|
+
return out;
|
|
72
|
+
}
|
|
73
|
+
const hashOf = (text) => {
|
|
74
|
+
// FNV-1a 32-bit — deterministic, no crypto import needed in the pure core;
|
|
75
|
+
// collision-resistance is not a security property here, only change-detection.
|
|
76
|
+
let h = 0x811c9dc5;
|
|
77
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
78
|
+
h ^= text.charCodeAt(i);
|
|
79
|
+
h = Math.imul(h, 0x01000193) >>> 0;
|
|
80
|
+
}
|
|
81
|
+
return h.toString(16).padStart(8, '0');
|
|
82
|
+
};
|
|
83
|
+
export const hashEntry = (e) => hashOf(`${e.path}|${e.title}|${[...e.topics].sort().join(',')}|${e.kind}|${e.mtime ?? 0}`);
|
|
84
|
+
/** Minimal frontmatter reader for the `key: value` lines render.ts writes. */
|
|
85
|
+
export function parseFrontmatter(text) {
|
|
86
|
+
const out = {};
|
|
87
|
+
const m = /^---\r?\n([\s\S]*?)\r?\n---/.exec(text);
|
|
88
|
+
if (m === null)
|
|
89
|
+
return out;
|
|
90
|
+
const body = m[1] ?? '';
|
|
91
|
+
for (const line of body.split(/\r?\n/)) {
|
|
92
|
+
const kv = /^([A-Za-z][A-Za-z0-9]*):\s*(.*)$/.exec(line);
|
|
93
|
+
if (kv === null)
|
|
94
|
+
continue;
|
|
95
|
+
const key = kv[1];
|
|
96
|
+
let value = kv[2].trim();
|
|
97
|
+
if (value.startsWith('[') && value.endsWith(']')) {
|
|
98
|
+
out[key] = value.slice(1, -1).split(',').map((v) => v.trim().replace(/^"|"$/g, '')).filter((v) => v.length > 0);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
out[key] = value.replace(/^"|"$/g, '');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return out;
|
|
105
|
+
}
|
|
106
|
+
/** A chapter file's text → IndexEntry (topics from frontmatter, kind from `kind:`). */
|
|
107
|
+
export function entryFromChapter(path, text, mtime) {
|
|
108
|
+
const fm = parseFrontmatter(text);
|
|
109
|
+
const topics = fm.topics;
|
|
110
|
+
const codegraphSymbols = fm.codegraphSymbols;
|
|
111
|
+
return {
|
|
112
|
+
path,
|
|
113
|
+
title: typeof fm.title === 'string' ? fm.title : path,
|
|
114
|
+
topics: Array.isArray(topics) ? topics : [],
|
|
115
|
+
// Three document kinds share the one store: transcript chapters, curated rules,
|
|
116
|
+
// and plan DIRECTIVES (`kind: plan`, docs/plans-carriage.md § 11). A plan document
|
|
117
|
+
// is searchable AS A PLAN, which is the whole point of giving it a kind.
|
|
118
|
+
kind: fm.kind === 'rule' ? 'rule' : fm.kind === 'plan' ? 'plan' : 'chapter',
|
|
119
|
+
...(typeof fm.category === 'string' && fm.category !== '' ? { category: fm.category } : {}),
|
|
120
|
+
...(mtime !== undefined ? { mtime } : {}),
|
|
121
|
+
...(Array.isArray(codegraphSymbols) && codegraphSymbols.length > 0 ? { codegraphSymbols } : {}),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/** Layer-1 parse: one JSON fact per line; malformed lines are skipped (logged by the caller). */
|
|
125
|
+
export function parseCuration(text) {
|
|
126
|
+
const facts = [];
|
|
127
|
+
for (const line of text.split(/\r?\n/)) {
|
|
128
|
+
const trimmed = line.trim();
|
|
129
|
+
if (trimmed === '')
|
|
130
|
+
continue;
|
|
131
|
+
try {
|
|
132
|
+
const fact = JSON.parse(trimmed);
|
|
133
|
+
if (typeof fact?.type === 'string')
|
|
134
|
+
facts.push(fact);
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
/* malformed line: skipped, not fatal (append-only appenders may race) */
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return facts;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Build the sharded index. Aliases canonicalize topics (from→to, transitive),
|
|
144
|
+
* pinned topics sort first inside their position, weights scale the sort
|
|
145
|
+
* within a topic, and the manifest tracks per-entry hashes for the
|
|
146
|
+
* incremental fast path (an empty manifest = full rebuild = identical output).
|
|
147
|
+
*/
|
|
148
|
+
export function buildIndexShards(entries, curation, manifest = {}) {
|
|
149
|
+
const alias = new Map();
|
|
150
|
+
for (const f of curation) {
|
|
151
|
+
if (f.type === 'topic-alias')
|
|
152
|
+
alias.set(f.from, f.to);
|
|
153
|
+
}
|
|
154
|
+
const canonical = (topic) => {
|
|
155
|
+
let t = topic;
|
|
156
|
+
let guard = 0;
|
|
157
|
+
while (alias.has(t) && guard < 16) {
|
|
158
|
+
t = alias.get(t);
|
|
159
|
+
guard += 1;
|
|
160
|
+
}
|
|
161
|
+
return t;
|
|
162
|
+
};
|
|
163
|
+
const pins = new Set(curation.filter((f) => f.type === 'topic-pin').map((f) => f.topic));
|
|
164
|
+
const weights = new Map();
|
|
165
|
+
for (const f of curation) {
|
|
166
|
+
if (f.type === 'topic-weight')
|
|
167
|
+
weights.set(canonical(f.topic), f.weight);
|
|
168
|
+
}
|
|
169
|
+
const byTopic = new Map();
|
|
170
|
+
const manifestNext = { ...manifest };
|
|
171
|
+
let changed = false;
|
|
172
|
+
for (const e of entries) {
|
|
173
|
+
const hash = hashEntry(e);
|
|
174
|
+
const prev = manifest[e.path];
|
|
175
|
+
if (prev !== undefined && prev.hash === hash) {
|
|
176
|
+
// unchanged entry: keep its shard content contribution by still
|
|
177
|
+
// including it (shards are rebuilt from entries, not diffs — the
|
|
178
|
+
// manifest gates the COMMIT, shard content is always whole)
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
changed = true;
|
|
182
|
+
}
|
|
183
|
+
manifestNext[e.path] = { hash, at: new Date().toISOString() };
|
|
184
|
+
for (const rawTopic of e.topics) {
|
|
185
|
+
const topic = canonical(rawTopic);
|
|
186
|
+
if (topic === '')
|
|
187
|
+
continue;
|
|
188
|
+
const list = byTopic.get(topic) ?? [];
|
|
189
|
+
list.push(e);
|
|
190
|
+
byTopic.set(topic, list);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// entries gone from the input drop out of the shards but stay in the
|
|
194
|
+
// manifest? No — the index is a pure function of current entries: prune.
|
|
195
|
+
// And PRUNING IS A CHANGE (#255): a removed chapter leaves the surviving entries' hashes
|
|
196
|
+
// untouched, so the loop above never flips `changed` — a shrinking corpus must still rewrite the
|
|
197
|
+
// manifest and ship the sweep, or "pure function of the corpus" only holds while it grows.
|
|
198
|
+
let pruned = false;
|
|
199
|
+
for (const path of Object.keys(manifestNext)) {
|
|
200
|
+
if (!entries.some((e) => e.path === path)) {
|
|
201
|
+
delete manifestNext[path];
|
|
202
|
+
pruned = true;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
const shards = new Map();
|
|
206
|
+
const topicNames = [...byTopic.keys()].sort();
|
|
207
|
+
for (const topic of topicNames) {
|
|
208
|
+
const entriesForTopic = byTopic.get(topic);
|
|
209
|
+
const weight = weights.get(topic) ?? 1;
|
|
210
|
+
entriesForTopic.sort((a, b) => (b.mtime ?? 0) - (a.mtime ?? 0));
|
|
211
|
+
const lines = entriesForTopic.map((e) => `${e.mtime !== undefined ? new Date(e.mtime).toISOString().slice(0, 10) : '----'} | ${e.kind} | ${e.title} | ${e.path}`);
|
|
212
|
+
const header = [
|
|
213
|
+
`# topic: ${topic}`,
|
|
214
|
+
pins.has(topic) ? '(pinned)' : '',
|
|
215
|
+
`entries: ${entriesForTopic.length} · weight ${weight}`,
|
|
216
|
+
'',
|
|
217
|
+
].filter((l) => l !== '').join('\n');
|
|
218
|
+
shards.set(topic, `${header}\n${lines.join('\n')}\n`);
|
|
219
|
+
}
|
|
220
|
+
void canonical;
|
|
221
|
+
return { shards, manifest: manifestNext, changed: changed || pruned, topics: topicNames };
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=indexing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexing.js","sourceRoot":"","sources":["../src/indexing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one boundary that decides which bytes of the durable log are CONVERSATION
|
|
3
|
+
* and which are host-injected context (knowledge-repo.md §15 amendment,
|
|
4
|
+
* "host-injected context is not conversation").
|
|
5
|
+
*
|
|
6
|
+
* Why this exists: the harness injects project context — workspace instruction
|
|
7
|
+
* files (whatever a given project's AGENTS.md holds), the runtime-context
|
|
8
|
+
* snapshot, the skill catalog — and injected events arrive in the log either as
|
|
9
|
+
* their own `user/message` (source.kind `agent-instructions`, `plugin`, …) or
|
|
10
|
+
* riding INSIDE human messages as `<system-reminder>` spans. A target project's
|
|
11
|
+
* instruction text is that project's business: it must not be archived into the
|
|
12
|
+
* shared knowledge corpus, searched by other workspaces, re-quoted into
|
|
13
|
+
* enrichment input, or bloating a child's re-archive of its own TOC notice
|
|
14
|
+
* generation after generation.
|
|
15
|
+
*
|
|
16
|
+
* Precedents this rule follows, not invents:
|
|
17
|
+
* - `signature.ts` (r28) already excluded these events from per-turn topic
|
|
18
|
+
* signatures after measuring their poison: every signature gained the
|
|
19
|
+
* injected filenames and drowned the real topic signal.
|
|
20
|
+
* - `tests/e2e/model-proxy.ts` (user decision 2026-09-20, AGENTS-BLIND) already
|
|
21
|
+
* masks the same classes for tape matching, on the same reasoning:
|
|
22
|
+
* development artifacts, every real project ships its own.
|
|
23
|
+
*
|
|
24
|
+
* What is NOT touched: the durable session log (invariant: append-only, always —
|
|
25
|
+
* the originals live on in the parent session), and genuine conversation bytes
|
|
26
|
+
* (a human typing the words "AGENTS.md" in prose is conversation and stays
|
|
27
|
+
* verbatim; only the structural injected forms are removed).
|
|
28
|
+
*
|
|
29
|
+
* Pure module: no cordis, no fs, no network.
|
|
30
|
+
*/
|
|
31
|
+
/** A user/message is human-authored when it carries no source, or source.kind
|
|
32
|
+
* 'user' (unlabelled keeps working for seeded fixtures — same rule the
|
|
33
|
+
* signature layer has used since r28). Everything else — 'agent-instructions',
|
|
34
|
+
* 'plugin' (the TOC notice, runtime snapshots), 'tool', 'system' — is injected
|
|
35
|
+
* context, not conversation. Exported so signature.ts imports the SAME
|
|
36
|
+
* predicate; the two layers must never drift on what counts as a turn. */
|
|
37
|
+
export declare function isHumanAuthored(data: Record<string, unknown>): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* The ONE targeted exception to the screen (human decision 2026-10-10): the harness's
|
|
40
|
+
* own mode-switch narration — `source: { kind: 'plugin', plugin: 'plan-mode',
|
|
41
|
+
* form: 'notice' }`, "The user switched this session to plan mode." — IS conversation.
|
|
42
|
+
*
|
|
43
|
+
* The screen exists so a project's private instruction files never travel in a shared
|
|
44
|
+
* corpus. A mode flip the human performed is not that: it is a fact about THIS session,
|
|
45
|
+
* and it is the seam that answers "was this approved before or after we started
|
|
46
|
+
* implementing?". Named by plugin AND form, so it cannot be widened by accident into
|
|
47
|
+
* the general plugin-source exemption — an instruction file or a runtime snapshot
|
|
48
|
+
* arriving with a different form still screens.
|
|
49
|
+
*/
|
|
50
|
+
export declare function isSessionStateNarration(data: Record<string, unknown>): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Does this event belong in the archive as conversation?
|
|
53
|
+
*
|
|
54
|
+
* Deliberately NARROWER than `isHumanAuthored`: the topic-signature layer keeps using
|
|
55
|
+
* the strict predicate, because the r28 lesson was that injected text poisons topic
|
|
56
|
+
* merging (every signature gained the injected filenames). A mode narration is one
|
|
57
|
+
* short sentence, so archiving it is worth more than the risk of letting it move a
|
|
58
|
+
* chapter boundary — and the two uses are separate functions on purpose.
|
|
59
|
+
*/
|
|
60
|
+
export declare function isArchivableConversation(data: Record<string, unknown>): boolean;
|
|
61
|
+
/** Label for the omission marker: kind, plus plugin name when the source
|
|
62
|
+
* carries one (so `plugin:dsh-chapters` is recognizable in a chapter). */
|
|
63
|
+
export declare function sourceLabel(data: Record<string, unknown>): string;
|
|
64
|
+
export declare function isInjectedProse(text: string): boolean;
|
|
65
|
+
/** Strip every injected span from a message's text; deterministic, idempotent
|
|
66
|
+
* (the marker we emit below cannot re-trigger this rule). */
|
|
67
|
+
export declare function stripReminderSpans(text: string): {
|
|
68
|
+
text: string;
|
|
69
|
+
removedChars: number;
|
|
70
|
+
};
|
|
71
|
+
/** The visible, greppable, countable marker an omission leaves behind. One
|
|
72
|
+
* shape for every class so downstream assertions (and the sentinel integration
|
|
73
|
+
* test) pin a single prefix. */
|
|
74
|
+
export declare const omittedMarker: (what: string, chars: number) => string;
|
|
75
|
+
/**
|
|
76
|
+
* The single screen the renderer and anything else consuming conversation text
|
|
77
|
+
* should use: what survives as chapter text, and what was omitted (event-level
|
|
78
|
+
* for non-human sources, span-level inside otherwise-human messages).
|
|
79
|
+
*/
|
|
80
|
+
export interface Screened {
|
|
81
|
+
/** Conversation text to render (human messages: span-stripped; non-human: ''). */
|
|
82
|
+
text: string;
|
|
83
|
+
/** True when the whole event is injected context (non-human source). */
|
|
84
|
+
omittedEvent: boolean;
|
|
85
|
+
/** Character count removed by this screen (event-level OR span-level). */
|
|
86
|
+
removedChars: number;
|
|
87
|
+
/** Source label for the event (for the marker + tests). */
|
|
88
|
+
sourceKind: string;
|
|
89
|
+
}
|
|
90
|
+
export declare function screenConversation(data: Record<string, unknown>, rawText: string, role: 'user' | 'assistant'): Screened;
|