cortex-engine 0.4.1 → 0.5.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.
- package/README.md +63 -57
- package/dist/bin/anomalies-cmd.d.ts +17 -0
- package/dist/bin/anomalies-cmd.d.ts.map +1 -0
- package/dist/bin/anomalies-cmd.js +417 -0
- package/dist/bin/anomalies-cmd.js.map +1 -0
- package/dist/bin/cli.d.ts +5 -0
- package/dist/bin/cli.d.ts.map +1 -1
- package/dist/bin/cli.js +84 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/health-cmd.d.ts +15 -0
- package/dist/bin/health-cmd.d.ts.map +1 -0
- package/dist/bin/health-cmd.js +273 -0
- package/dist/bin/health-cmd.js.map +1 -0
- package/dist/bin/init.d.ts.map +1 -1
- package/dist/bin/init.js +169 -12
- package/dist/bin/init.js.map +1 -1
- package/dist/bin/maintain-cmd.d.ts +17 -0
- package/dist/bin/maintain-cmd.d.ts.map +1 -0
- package/dist/bin/maintain-cmd.js +352 -0
- package/dist/bin/maintain-cmd.js.map +1 -0
- package/dist/bin/report-cmd.d.ts +17 -0
- package/dist/bin/report-cmd.d.ts.map +1 -0
- package/dist/bin/report-cmd.js +309 -0
- package/dist/bin/report-cmd.js.map +1 -0
- package/dist/bin/store-factory.d.ts +21 -0
- package/dist/bin/store-factory.d.ts.map +1 -0
- package/dist/bin/store-factory.js +64 -0
- package/dist/bin/store-factory.js.map +1 -0
- package/dist/bin/vitals-cmd.d.ts +16 -0
- package/dist/bin/vitals-cmd.d.ts.map +1 -0
- package/dist/bin/vitals-cmd.js +425 -0
- package/dist/bin/vitals-cmd.js.map +1 -0
- package/dist/core/types.d.ts +6 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/engines/cognition.d.ts.map +1 -1
- package/dist/engines/cognition.js +39 -3
- package/dist/engines/cognition.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools.d.ts +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +22 -2
- package/dist/mcp/tools.js.map +1 -1
- package/dist/tools/evolution-list.d.ts +6 -0
- package/dist/tools/evolution-list.d.ts.map +1 -0
- package/dist/tools/evolution-list.js +52 -0
- package/dist/tools/evolution-list.js.map +1 -0
- package/dist/tools/evolve.d.ts +6 -0
- package/dist/tools/evolve.d.ts.map +1 -0
- package/dist/tools/evolve.js +63 -0
- package/dist/tools/evolve.js.map +1 -0
- package/dist/tools/journal-read.d.ts +6 -0
- package/dist/tools/journal-read.d.ts.map +1 -0
- package/dist/tools/journal-read.js +59 -0
- package/dist/tools/journal-read.js.map +1 -0
- package/dist/tools/journal-write.d.ts +6 -0
- package/dist/tools/journal-write.d.ts.map +1 -0
- package/dist/tools/journal-write.js +71 -0
- package/dist/tools/journal-write.js.map +1 -0
- package/dist/tools/thread-create.d.ts +6 -0
- package/dist/tools/thread-create.d.ts.map +1 -0
- package/dist/tools/thread-create.js +57 -0
- package/dist/tools/thread-create.js.map +1 -0
- package/dist/tools/thread-resolve.d.ts +6 -0
- package/dist/tools/thread-resolve.d.ts.map +1 -0
- package/dist/tools/thread-resolve.js +42 -0
- package/dist/tools/thread-resolve.js.map +1 -0
- package/dist/tools/thread-update.d.ts +6 -0
- package/dist/tools/thread-update.d.ts.map +1 -0
- package/dist/tools/thread-update.js +91 -0
- package/dist/tools/thread-update.js.map +1 -0
- package/dist/tools/threads-list.d.ts +6 -0
- package/dist/tools/threads-list.d.ts.map +1 -0
- package/dist/tools/threads-list.js +70 -0
- package/dist/tools/threads-list.js.map +1 -0
- package/fozikio.json +14 -0
- package/hooks/cognitive-grounding.sh +26 -0
- package/hooks/cortex-telemetry.sh +53 -0
- package/hooks/observe-first.sh +25 -0
- package/hooks/project-board-gate.sh +195 -0
- package/hooks/session-lifecycle.sh +21 -0
- package/package.json +119 -107
- package/reflex-rules/cognitive-grounding.yaml +17 -0
- package/reflex-rules/note-about-doing.yaml +17 -0
- package/reflex-rules/observe-first.yaml +17 -0
- package/skills/cortex-query/SKILL.md +86 -0
- package/skills/cortex-review/SKILL.md +67 -0
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* maintain-cmd.ts — fozikio maintain command.
|
|
3
|
+
*
|
|
4
|
+
* Subcommands:
|
|
5
|
+
* fozikio maintain fix Scan and repair data issues
|
|
6
|
+
* fozikio maintain re-embed Re-embed all memories with current provider
|
|
7
|
+
* fozikio maintain re-embed --dry-run Show what would be re-embedded
|
|
8
|
+
*
|
|
9
|
+
* Flags:
|
|
10
|
+
* --dry-run Show what would change without writing
|
|
11
|
+
* --limit N Max memories to process (default: 500)
|
|
12
|
+
* --collection memories | observations (for re-embed, default: memories)
|
|
13
|
+
* --null-only Re-embed only docs with null/empty embeddings
|
|
14
|
+
* --verbose Detailed per-item output
|
|
15
|
+
*/
|
|
16
|
+
import { loadConfig } from './config-loader.js';
|
|
17
|
+
import { createStore, createEmbedProvider } from './store-factory.js';
|
|
18
|
+
function parseArgs(args) {
|
|
19
|
+
const subcommand = args[0] && !args[0].startsWith('--') ? args[0] : null;
|
|
20
|
+
const rest = subcommand ? args.slice(1) : args;
|
|
21
|
+
let dryRun = false;
|
|
22
|
+
let limit = 500;
|
|
23
|
+
let collection = 'memories';
|
|
24
|
+
let nullOnly = false;
|
|
25
|
+
let verbose = false;
|
|
26
|
+
for (let i = 0; i < rest.length; i++) {
|
|
27
|
+
const arg = rest[i];
|
|
28
|
+
if (arg === '--dry-run') {
|
|
29
|
+
dryRun = true;
|
|
30
|
+
}
|
|
31
|
+
else if (arg === '--null-only') {
|
|
32
|
+
nullOnly = true;
|
|
33
|
+
}
|
|
34
|
+
else if (arg === '--verbose') {
|
|
35
|
+
verbose = true;
|
|
36
|
+
}
|
|
37
|
+
else if (arg === '--limit' && rest[i + 1]) {
|
|
38
|
+
const parsed = parseInt(rest[++i], 10);
|
|
39
|
+
if (!isNaN(parsed) && parsed > 0)
|
|
40
|
+
limit = parsed;
|
|
41
|
+
}
|
|
42
|
+
else if (arg === '--collection' && rest[i + 1]) {
|
|
43
|
+
const val = rest[++i];
|
|
44
|
+
if (val === 'observations')
|
|
45
|
+
collection = 'observations';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return { subcommand, dryRun, limit, collection, nullOnly, verbose };
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Strip LLM output artifacts that leaked into definitions in older cortex versions.
|
|
52
|
+
* Pattern: "YES\n\nDefinition:" or "YES\n\nUpdated Definition:" or "YES:" prefix.
|
|
53
|
+
*/
|
|
54
|
+
function stripYesPrefix(text) {
|
|
55
|
+
return text
|
|
56
|
+
.replace(/^YES[:\s]*\n*(?:Updated\s+)?(?:Definition[:\s]*)?\n*/i, '')
|
|
57
|
+
.trim();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Detect whether a memory that is categorized as 'topic' or 'belief' should
|
|
61
|
+
* be re-categorized based on keyword heuristics.
|
|
62
|
+
*/
|
|
63
|
+
function detectBetterCategory(name, definition, currentCategory) {
|
|
64
|
+
if (currentCategory !== 'topic' && currentCategory !== 'belief')
|
|
65
|
+
return null;
|
|
66
|
+
const text = `${name} ${definition}`.toLowerCase();
|
|
67
|
+
const valueSignals = [
|
|
68
|
+
'loyalty', 'honesty', 'transparency', 'integrity', 'absolute transparency',
|
|
69
|
+
'no hidden state', 'genuinely useful', 'usefulness over', 'continuity matters',
|
|
70
|
+
'grow genuinely', 'worth having around', 'honest about limits',
|
|
71
|
+
];
|
|
72
|
+
const hasValueSignal = valueSignals.some(s => text.includes(s)) || /\bvalue[sd]?\b/.test(text);
|
|
73
|
+
const patternSignals = [
|
|
74
|
+
'disposition', 'tendency', 'practical and direct', 'pushes back',
|
|
75
|
+
'read before acting', 'tinkerer', 'goes wide before', 'go wide before',
|
|
76
|
+
];
|
|
77
|
+
const hasPatternSignal = patternSignals.some(s => text.includes(s));
|
|
78
|
+
if (hasValueSignal)
|
|
79
|
+
return 'value';
|
|
80
|
+
if (currentCategory === 'topic' && hasPatternSignal)
|
|
81
|
+
return 'pattern';
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
async function runFix(args) {
|
|
85
|
+
const config = loadConfig();
|
|
86
|
+
const store = await createStore(config);
|
|
87
|
+
console.log('[maintain fix] Scanning memories for data issues...');
|
|
88
|
+
const memories = await store.getAllMemories();
|
|
89
|
+
console.log(`[maintain fix] Loaded ${memories.length} memories`);
|
|
90
|
+
const issuesList = [];
|
|
91
|
+
for (const memory of memories) {
|
|
92
|
+
const issues = [];
|
|
93
|
+
const fixes = {};
|
|
94
|
+
// Check 1: Missing or empty definition
|
|
95
|
+
if (!memory.definition || memory.definition.trim().length === 0) {
|
|
96
|
+
issues.push('empty definition');
|
|
97
|
+
fixes['definition'] = memory.name; // fallback to name
|
|
98
|
+
}
|
|
99
|
+
// Check 2: YES prefix artifact in definition
|
|
100
|
+
const cleanDef = stripYesPrefix(memory.definition ?? '');
|
|
101
|
+
if (cleanDef !== (memory.definition ?? '')) {
|
|
102
|
+
issues.push('YES prefix artifact in definition');
|
|
103
|
+
fixes['definition'] = cleanDef;
|
|
104
|
+
}
|
|
105
|
+
// Check 3: Missing embedding (null or empty array)
|
|
106
|
+
const hasEmbedding = Array.isArray(memory.embedding) && memory.embedding.length > 0;
|
|
107
|
+
if (!hasEmbedding) {
|
|
108
|
+
issues.push('missing embedding');
|
|
109
|
+
// Cannot fix here — use re-embed subcommand
|
|
110
|
+
}
|
|
111
|
+
// Check 4: Salience out of range
|
|
112
|
+
if (typeof memory.salience === 'number' && (memory.salience < 0 || memory.salience > 1)) {
|
|
113
|
+
issues.push(`salience out of range: ${memory.salience}`);
|
|
114
|
+
fixes['salience'] = Math.max(0, Math.min(1, memory.salience));
|
|
115
|
+
}
|
|
116
|
+
// Check 5: Null access_count
|
|
117
|
+
if (memory.access_count == null || typeof memory.access_count !== 'number') {
|
|
118
|
+
issues.push('null access_count');
|
|
119
|
+
fixes['access_count'] = 0;
|
|
120
|
+
}
|
|
121
|
+
// Check 6: Miscategorized identity memories (topic/belief that should be value/pattern)
|
|
122
|
+
const defToCheck = fixes['definition'] ?? memory.definition ?? '';
|
|
123
|
+
const betterCat = detectBetterCategory(memory.name, defToCheck, memory.category);
|
|
124
|
+
if (betterCat) {
|
|
125
|
+
issues.push(`miscategorized: '${memory.category}' should be '${betterCat}'`);
|
|
126
|
+
fixes['category'] = betterCat;
|
|
127
|
+
}
|
|
128
|
+
if (issues.length > 0) {
|
|
129
|
+
issuesList.push({ id: memory.id, name: memory.name, issues, fixes });
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (issuesList.length === 0) {
|
|
133
|
+
console.log('[maintain fix] No issues found.');
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
// Separate fixable from unfixable
|
|
137
|
+
const fixable = issuesList.filter(item => Object.keys(item.fixes).length > 0);
|
|
138
|
+
const unfixable = issuesList.filter(item => Object.keys(item.fixes).length === 0);
|
|
139
|
+
console.log(`\n[maintain fix] Found ${issuesList.length} memories with issues:`);
|
|
140
|
+
console.log(` Fixable: ${fixable.length}`);
|
|
141
|
+
console.log(` Needs manual attention: ${unfixable.length} (missing embeddings — run re-embed)`);
|
|
142
|
+
if (unfixable.length > 0 && args.verbose) {
|
|
143
|
+
console.log('\nMemories needing re-embed:');
|
|
144
|
+
for (const item of unfixable) {
|
|
145
|
+
console.log(` [${item.id}] ${item.name.slice(0, 60)}: ${item.issues.join(', ')}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (fixable.length === 0) {
|
|
149
|
+
console.log('\n[maintain fix] Nothing to fix automatically.');
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
if (args.dryRun) {
|
|
153
|
+
console.log('\n[maintain fix] Dry run — would apply these fixes:');
|
|
154
|
+
for (const item of fixable) {
|
|
155
|
+
console.log(` [${item.id}] ${item.name.slice(0, 55)}`);
|
|
156
|
+
for (const issue of item.issues.filter(i => !i.includes('missing embedding'))) {
|
|
157
|
+
console.log(` - ${issue}`);
|
|
158
|
+
}
|
|
159
|
+
const fixKeys = Object.keys(item.fixes);
|
|
160
|
+
console.log(` fixes: ${fixKeys.join(', ')}`);
|
|
161
|
+
}
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
let applied = 0;
|
|
165
|
+
let failed = 0;
|
|
166
|
+
console.log('\n[maintain fix] Applying fixes...');
|
|
167
|
+
for (const item of fixable) {
|
|
168
|
+
try {
|
|
169
|
+
await store.updateMemory(item.id, item.fixes);
|
|
170
|
+
if (args.verbose) {
|
|
171
|
+
console.log(` [OK] ${item.name.slice(0, 60)} — fixed: ${Object.keys(item.fixes).join(', ')}`);
|
|
172
|
+
}
|
|
173
|
+
applied++;
|
|
174
|
+
}
|
|
175
|
+
catch (err) {
|
|
176
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
177
|
+
console.error(` [FAIL] ${item.name.slice(0, 60)}: ${msg}`);
|
|
178
|
+
failed++;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
console.log(`\n[maintain fix] Done.`);
|
|
182
|
+
console.log(` Applied: ${applied}`);
|
|
183
|
+
console.log(` Failed: ${failed}`);
|
|
184
|
+
if (unfixable.length > 0) {
|
|
185
|
+
console.log(` Skipped (needs re-embed): ${unfixable.length}`);
|
|
186
|
+
console.log(` Run: fozikio maintain re-embed --null-only`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// ─── re-embed subcommand ──────────────────────────────────────────────────────
|
|
190
|
+
const EMBED_DELAY_MS = parseInt(process.env['EMBED_DELAY_MS'] ?? '200', 10);
|
|
191
|
+
const ABORT_THRESHOLD = 5;
|
|
192
|
+
async function runReEmbed(args) {
|
|
193
|
+
const config = loadConfig();
|
|
194
|
+
const store = await createStore(config);
|
|
195
|
+
const embed = await createEmbedProvider(config);
|
|
196
|
+
console.log(`[maintain re-embed] Provider: ${embed.name} (${embed.dimensions}d)`);
|
|
197
|
+
console.log(`[maintain re-embed] Collection: ${args.collection}`);
|
|
198
|
+
console.log(`[maintain re-embed] Limit: ${args.limit}`);
|
|
199
|
+
if (args.nullOnly)
|
|
200
|
+
console.log('[maintain re-embed] Filter: null/empty embeddings only');
|
|
201
|
+
if (args.dryRun)
|
|
202
|
+
console.log('[maintain re-embed] DRY RUN — no writes');
|
|
203
|
+
console.log('');
|
|
204
|
+
let docs;
|
|
205
|
+
let totalFetched;
|
|
206
|
+
if (args.collection === 'memories') {
|
|
207
|
+
const all = await store.getAllMemories();
|
|
208
|
+
const filtered = args.nullOnly
|
|
209
|
+
? all.filter(m => !Array.isArray(m.embedding) || m.embedding.length === 0)
|
|
210
|
+
: all;
|
|
211
|
+
docs = filtered.slice(0, args.limit);
|
|
212
|
+
totalFetched = all.length;
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
// observations — use generic query
|
|
216
|
+
const filters = args.nullOnly
|
|
217
|
+
? [{ field: 'embedding', op: '==', value: null }]
|
|
218
|
+
: [];
|
|
219
|
+
const rawDocs = await store.query('observations', filters, { limit: args.limit });
|
|
220
|
+
docs = rawDocs;
|
|
221
|
+
totalFetched = docs.length;
|
|
222
|
+
}
|
|
223
|
+
console.log(`[maintain re-embed] Fetched ${totalFetched} total, processing ${docs.length}`);
|
|
224
|
+
console.log('');
|
|
225
|
+
let updated = 0;
|
|
226
|
+
let skipped = 0;
|
|
227
|
+
let failed = 0;
|
|
228
|
+
let consecutiveFailures = 0;
|
|
229
|
+
for (const doc of docs) {
|
|
230
|
+
const isMemory = args.collection === 'memories';
|
|
231
|
+
const name = isMemory
|
|
232
|
+
? doc.name ?? doc.id
|
|
233
|
+
: doc.content?.slice(0, 60) ?? doc.id;
|
|
234
|
+
const label = name.slice(0, 60);
|
|
235
|
+
// Build embed input
|
|
236
|
+
let embedInput;
|
|
237
|
+
if (isMemory) {
|
|
238
|
+
const m = doc;
|
|
239
|
+
embedInput = `${m.name ?? ''}: ${m.definition ?? ''}`;
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
const o = doc;
|
|
243
|
+
embedInput = o.content ?? '';
|
|
244
|
+
}
|
|
245
|
+
if (!embedInput || embedInput.trim().length < 10) {
|
|
246
|
+
if (args.verbose)
|
|
247
|
+
console.log(` Skip (empty): ${label}`);
|
|
248
|
+
skipped++;
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
if (args.dryRun) {
|
|
252
|
+
console.log(` Would re-embed: ${label} (${embedInput.length} chars)`);
|
|
253
|
+
updated++;
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
// Embed
|
|
257
|
+
let embedding;
|
|
258
|
+
try {
|
|
259
|
+
process.stdout.write(` ${label} ... `);
|
|
260
|
+
embedding = await embed.embed(embedInput);
|
|
261
|
+
console.log(`OK (${embedding.length}d)`);
|
|
262
|
+
consecutiveFailures = 0;
|
|
263
|
+
}
|
|
264
|
+
catch (err) {
|
|
265
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
266
|
+
console.log(`FAILED: ${msg}`);
|
|
267
|
+
failed++;
|
|
268
|
+
consecutiveFailures++;
|
|
269
|
+
if (consecutiveFailures >= ABORT_THRESHOLD) {
|
|
270
|
+
console.error(`[maintain re-embed] ${ABORT_THRESHOLD} consecutive failures — aborting.`);
|
|
271
|
+
console.error('[maintain re-embed] Check that your embed provider is running and credentials are set.');
|
|
272
|
+
process.exit(1);
|
|
273
|
+
}
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
// Write back
|
|
277
|
+
try {
|
|
278
|
+
if (isMemory) {
|
|
279
|
+
await store.updateMemory(doc.id, { embedding });
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
await store.update('observations', doc.id, {
|
|
283
|
+
embedding,
|
|
284
|
+
updated_at: new Date(),
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
updated++;
|
|
288
|
+
}
|
|
289
|
+
catch (err) {
|
|
290
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
291
|
+
console.error(` Write failed for ${label}: ${msg}`);
|
|
292
|
+
failed++;
|
|
293
|
+
}
|
|
294
|
+
if (EMBED_DELAY_MS > 0) {
|
|
295
|
+
await new Promise(r => setTimeout(r, EMBED_DELAY_MS));
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
console.log('');
|
|
299
|
+
console.log('[maintain re-embed] ─────────────────────────────────');
|
|
300
|
+
console.log(`[maintain re-embed] Updated: ${updated}`);
|
|
301
|
+
console.log(`[maintain re-embed] Skipped: ${skipped}`);
|
|
302
|
+
console.log(`[maintain re-embed] Failed: ${failed}`);
|
|
303
|
+
if (args.dryRun) {
|
|
304
|
+
console.log('[maintain re-embed] (Dry run — no writes performed)');
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// ─── Help ─────────────────────────────────────────────────────────────────────
|
|
308
|
+
function printMaintainHelp() {
|
|
309
|
+
process.stderr.write(`fozikio maintain — data maintenance for cortex stores
|
|
310
|
+
|
|
311
|
+
Usage:
|
|
312
|
+
fozikio maintain fix Scan and repair data issues
|
|
313
|
+
fozikio maintain re-embed Re-embed memories with current provider
|
|
314
|
+
fozikio maintain re-embed --dry-run Show what would be re-embedded
|
|
315
|
+
|
|
316
|
+
Fix flags:
|
|
317
|
+
--dry-run Show issues and fixes without writing
|
|
318
|
+
--verbose Show detail per memory
|
|
319
|
+
|
|
320
|
+
Re-embed flags:
|
|
321
|
+
--dry-run Show what would be re-embedded without writing
|
|
322
|
+
--null-only Only re-embed docs with missing/null embeddings
|
|
323
|
+
--limit N Max docs to process (default: 500)
|
|
324
|
+
--collection <name> memories | observations (default: memories)
|
|
325
|
+
--verbose Show detail per doc
|
|
326
|
+
|
|
327
|
+
Environment:
|
|
328
|
+
EMBED_DELAY_MS Delay between embed calls in ms (default: 200)
|
|
329
|
+
`);
|
|
330
|
+
}
|
|
331
|
+
// ─── Main Export ─────────────────────────────────────────────────────────────
|
|
332
|
+
export async function runMaintain(args) {
|
|
333
|
+
const parsed = parseArgs(args);
|
|
334
|
+
switch (parsed.subcommand) {
|
|
335
|
+
case 'fix':
|
|
336
|
+
await runFix(parsed);
|
|
337
|
+
break;
|
|
338
|
+
case 're-embed':
|
|
339
|
+
await runReEmbed(parsed);
|
|
340
|
+
break;
|
|
341
|
+
case null:
|
|
342
|
+
case undefined:
|
|
343
|
+
printMaintainHelp();
|
|
344
|
+
process.exit(1);
|
|
345
|
+
break;
|
|
346
|
+
default:
|
|
347
|
+
process.stderr.write(`[fozikio maintain] Unknown subcommand: ${parsed.subcommand}\n\n`);
|
|
348
|
+
printMaintainHelp();
|
|
349
|
+
process.exit(1);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
//# sourceMappingURL=maintain-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maintain-cmd.js","sourceRoot":"","sources":["../../src/bin/maintain-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* report-cmd.ts — fozikio report command.
|
|
3
|
+
*
|
|
4
|
+
* Generates a weekly quality report across five layers:
|
|
5
|
+
* 1. Memory health — salience distribution, staleness, FSRS states
|
|
6
|
+
* 2. Observation health — unprocessed count, prediction error coverage
|
|
7
|
+
* 3. Retrieval quality — retry rate, intent distribution (via threads)
|
|
8
|
+
* 4. Cognitive integration — edge density, observation prediction errors
|
|
9
|
+
* 5. Session quality — ops volume, open threads, resolved threads
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* fozikio report
|
|
13
|
+
* fozikio report --days 14
|
|
14
|
+
* fozikio report --json
|
|
15
|
+
*/
|
|
16
|
+
export declare function runReport(args: string[]): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=report-cmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-cmd.d.ts","sourceRoot":"","sources":["../../src/bin/report-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmFH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyQ7D"}
|