Download src/skynet/experiments/cognitive_kernel_01.ts from Darochin/openskynet: direct link, hf CLI and curl.
- Browser
- Download file 5.42 kB
-
https://huggingface.co/Darochin/openskynet/resolve/main/src/skynet/experiments/cognitive_kernel_01.ts
- Command line
-
hf download hf://Darochin/openskynet/src/skynet/experiments/cognitive_kernel_01.ts
-
curl -L -o cognitive_kernel_01.ts https://huggingface.co/Darochin/openskynet/resolve/main/src/skynet/experiments/cognitive_kernel_01.ts
5.42 kB
| import fs from "node:fs/promises"; | |
| import os from "node:os"; | |
| import path from "node:path"; | |
| import { pathToFileURL } from "node:url"; | |
| import { deriveSkynetCausalLabelCounts } from "../causal-valence/episode-ledger.js"; | |
| import { collectSkynetSessionTranscriptFiles } from "../causal-valence/observability-audit.js"; | |
| import { harvestSkynetObservedCausalEpisodes } from "../causal-valence/observed-harvester.js"; | |
| import { replaySkynetCognitiveKernelState } from "../cognitive-kernel/min-kernel.js"; | |
| import { runSkynetCognitiveKernelBenchmark } from "../cognitive-kernel/online-benchmark.js"; | |
| import { writeSkynetCognitiveKernelState } from "../cognitive-kernel/state-store.js"; | |
| import { buildSkynetRuntimeTrajectorySamples } from "../runtime-observer/trajectory-builder.js"; | |
| export type SkynetCognitiveKernel01Result = ReturnType<typeof runSkynetCognitiveKernelBenchmark> & { | |
| sessionKey: string; | |
| updatedAt: number; | |
| projectName: string; | |
| harvestedEpisodes: number; | |
| trajectorySamples: number; | |
| lookback: number; | |
| scannedSessionFiles: string[]; | |
| sourceLabelCoverage: ReturnType<typeof deriveSkynetCausalLabelCounts>; | |
| }; | |
| function sanitizeSessionKey(sessionKey: string): string { | |
| return (sessionKey.trim() || "main").replace(/[^a-zA-Z0-9._-]+/g, "_").slice(0, 64) || "main"; | |
| } | |
| function defaultSessionsDir(): string { | |
| return path.join(os.homedir(), ".openskynet", "agents", "main", "sessions"); | |
| } | |
| export function resolveSkynetCognitiveKernel01JsonPath(params: { | |
| workspaceRoot: string; | |
| sessionKey: string; | |
| }): string { | |
| return path.join( | |
| params.workspaceRoot, | |
| ".openskynet", | |
| "skynet-experiments", | |
| `${sanitizeSessionKey(params.sessionKey)}-cognitive-kernel-01.json`, | |
| ); | |
| } | |
| export function resolveSkynetCognitiveKernel01MarkdownPath(workspaceRoot: string): string { | |
| return path.join(workspaceRoot, "memory", "SKYNET_EXPERIMENT_COGNITIVE_KERNEL_01.md"); | |
| } | |
| function buildMarkdown(result: SkynetCognitiveKernel01Result): string { | |
| return [ | |
| "# SKYNET Experiment - Cognitive Kernel 01", | |
| "", | |
| `Updated: ${new Date(result.updatedAt).toISOString()}`, | |
| `Session: ${result.sessionKey}`, | |
| `Status: ${result.status}`, | |
| `Harvested episodes: ${result.harvestedEpisodes}`, | |
| `Trajectory samples: ${result.trajectorySamples}`, | |
| `Lookback: ${result.lookback}`, | |
| `Warmup samples: ${result.warmupSamples}`, | |
| `Accuracy: ${result.accuracy.toFixed(2)}`, | |
| `Sequential majority baseline: ${result.majorityBaseline.toFixed(2)}`, | |
| `Improvement: ${result.improvementOverBaseline.toFixed(2)}`, | |
| "", | |
| "## Source Label Coverage", | |
| "", | |
| ...Object.entries(result.sourceLabelCoverage).map(([label, count]) => `- ${label}: ${count}`), | |
| "", | |
| "## Trajectory Label Coverage", | |
| "", | |
| ...Object.entries(result.labelCoverage).map(([label, count]) => `- ${label}: ${count}`), | |
| "", | |
| "## Failure Reasons", | |
| "", | |
| ...(result.failureReasons.length > 0 | |
| ? result.failureReasons.map((reason) => `- ${reason}`) | |
| : ["- none"]), | |
| "", | |
| ].join("\n"); | |
| } | |
| export async function runSkynetCognitiveKernel01(params: { | |
| workspaceRoot: string; | |
| sessionKey: string; | |
| lookback?: number; | |
| sessionsDir?: string; | |
| }): Promise<SkynetCognitiveKernel01Result> { | |
| const lookback = Math.max(1, Math.min(6, params.lookback ?? 3)); | |
| const sessionFiles = await collectSkynetSessionTranscriptFiles( | |
| params.sessionsDir ?? defaultSessionsDir(), | |
| ); | |
| const harvested = await harvestSkynetObservedCausalEpisodes({ sessionFiles }); | |
| const trajectorySamples = buildSkynetRuntimeTrajectorySamples({ | |
| episodes: harvested.episodes, | |
| lookback, | |
| }); | |
| const benchmark = runSkynetCognitiveKernelBenchmark({ samples: trajectorySamples }); | |
| const result: SkynetCognitiveKernel01Result = { | |
| sessionKey: params.sessionKey, | |
| updatedAt: Date.now(), | |
| projectName: "Skynet", | |
| harvestedEpisodes: harvested.episodes.length, | |
| trajectorySamples: trajectorySamples.length, | |
| lookback, | |
| scannedSessionFiles: sessionFiles, | |
| sourceLabelCoverage: deriveSkynetCausalLabelCounts(harvested.episodes), | |
| ...benchmark, | |
| }; | |
| const jsonPath = resolveSkynetCognitiveKernel01JsonPath(params); | |
| const markdownPath = resolveSkynetCognitiveKernel01MarkdownPath(params.workspaceRoot); | |
| await fs.mkdir(path.dirname(jsonPath), { recursive: true }); | |
| await fs.mkdir(path.dirname(markdownPath), { recursive: true }); | |
| await fs.writeFile(jsonPath, JSON.stringify(result, null, 2) + "\n", "utf-8"); | |
| await fs.writeFile(markdownPath, buildMarkdown(result), "utf-8"); | |
| const state = replaySkynetCognitiveKernelState({ samples: trajectorySamples }); | |
| if (state) { | |
| await writeSkynetCognitiveKernelState({ | |
| workspaceRoot: params.workspaceRoot, | |
| sessionKey: params.sessionKey, | |
| state, | |
| }); | |
| } | |
| return result; | |
| } | |
| async function main() { | |
| const result = await runSkynetCognitiveKernel01({ | |
| workspaceRoot: process.cwd(), | |
| sessionKey: "agent:openskynet:main", | |
| }); | |
| console.log(`--- ${result.projectName} Experiment: Cognitive Kernel 01 ---`); | |
| console.log(`Status: ${result.status}`); | |
| console.log(`Samples: ${result.trajectorySamples}`); | |
| console.log(`Accuracy: ${result.accuracy.toFixed(2)}`); | |
| console.log(`Baseline: ${result.majorityBaseline.toFixed(2)}`); | |
| } | |
| if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) { | |
| main().catch((error) => { | |
| console.error(error); | |
| process.exitCode = 1; | |
| }); | |
| } | |