Files
joelhooks__joelclaw/scripts/restate/run-tier1-task.ts
Joel Hooks 997275cce6 memory: retire legacy stack + system log — one migration
joelclaw recall and voice recall now answer from Brain/observation
stores (19 tests). memory_observations archived to NAS (28,050 docs,
238MB, sha d2f3038d, verified) and dropped. Zombie functions
(reflect/review-promote/proposal-triage/batch-review) unregistered and
deleted with the MEM/FRIC suites (-6,306 lines). System log retired:
panda copy snapshotted (3,981 lines, sha 4e8e815d), slog write path /
system-logger / sync + backup + PDS mirror removed. Per decisions
decide-legacy-memory-retirement + decide-system-log-home.
2026-07-17 17:00:29 -07:00

87 lines
2.7 KiB
TypeScript

import { syncPiMonoArtifacts } from "../../packages/restate/src/pi-mono-artifacts";
import { runDailyDigest } from "../../packages/system-bus/src/inngest/functions/daily-digest";
import {
runSkillGardenAudit,
} from "../../packages/system-bus/src/inngest/functions/skill-garden";
import { runSubscriptionCheckFeeds } from "../../packages/system-bus/src/inngest/functions/subscriptions";
import {
indexBlogPosts,
indexVaultNotes,
runTypesenseFullSync,
syncSystemKnowledge,
} from "../../packages/system-bus/src/inngest/functions/typesense-sync";
const args = process.argv.slice(2);
const getArg = (flag: string): string | undefined => {
const index = args.indexOf(flag);
return index === -1 ? undefined : args[index + 1];
};
const task = getArg("--task")?.trim();
const argsJson = getArg("--args-json")?.trim() ?? "{}";
if (!task) {
console.error("Missing required --task");
process.exit(1);
}
let parsedArgs: Record<string, unknown> = {};
try {
parsedArgs = JSON.parse(argsJson);
} catch (error) {
console.error(`Invalid --args-json payload: ${error instanceof Error ? error.message : String(error)}`);
process.exit(1);
}
async function run() {
switch (task) {
case "skill-garden":
return runSkillGardenAudit({
deep: parsedArgs.deep === true,
});
case "typesense-vault-sync":
return indexVaultNotes();
case "typesense-blog-sync":
return indexBlogPosts();
case "typesense-system-knowledge-sync":
return syncSystemKnowledge();
case "typesense-full-sync":
return runTypesenseFullSync();
case "daily-digest":
return runDailyDigest();
case "subscription-check-feeds":
return runSubscriptionCheckFeeds({
forceAll: parsedArgs.forceAll === true,
source: typeof parsedArgs.source === "string" ? parsedArgs.source : "restate/dkron",
});
case "pi-mono-artifacts-sync":
return syncPiMonoArtifacts({
repo: typeof parsedArgs.repo === "string" ? parsedArgs.repo : undefined,
localClonePath: typeof parsedArgs.localClonePath === "string" ? parsedArgs.localClonePath : undefined,
fullBackfill: parsedArgs.fullBackfill === true,
maxPages: typeof parsedArgs.maxPages === "number" ? parsedArgs.maxPages : undefined,
perPage: typeof parsedArgs.perPage === "number" ? parsedArgs.perPage : undefined,
materializeProfile: parsedArgs.materializeProfile !== false,
});
default:
throw new Error(`Unknown tier-1 task: ${task}`);
}
}
try {
const result = await run();
console.log(JSON.stringify(result, null, 2));
} catch (error) {
const message = error instanceof Error ? error.message : String(error);
console.error(message);
process.exit(1);
}