🎉 init: 小龙的工作空间

This commit is contained in:
大海
2026-06-06 10:40:48 +08:00
commit a188ee1426
3201 changed files with 231817 additions and 0 deletions
+71
View File
@@ -0,0 +1,71 @@
/**
* PR-A Baseline Test 04: memory_get Current Behavior
* Verifies: memory_get tool exists, can read files, stable error format
* Freezes: memory_get contract
*/
import { describe, it } from "node:test";
import assert from "node:assert";
import { existsSync, readFileSync, statSync } from "node:fs";
import { homedir } from "node:os";
import { join } from "node:path";
const WORKSPACE = join(homedir(), ".openclaw", "workspace");
describe("test-04: memory_get Baseline", () => {
it("04.01 - MEMORY.md exists and is readable", () => {
const path = join(WORKSPACE, "MEMORY.md");
assert.ok(existsSync(path), "MEMORY.md must exist");
const content = readFileSync(path, "utf8");
const lines = content.split("\n").length;
const size = content.length;
console.log("[BASELINE] MEMORY.md: size=%d bytes, lines=%d", size, lines);
assert.ok(size > 0, "MEMORY.md must not be empty");
});
it("04.02 - daily memory files exist", () => {
const dailyDir = join(WORKSPACE, "memory");
const today = new Date().toISOString().slice(0, 10);
const dailyFile = join(dailyDir, `${today}.md`);
console.log("[BASELINE] today:", today);
console.log("[BASELINE] daily file:", dailyFile);
console.log("[BASELINE] daily file exists:", existsSync(dailyFile));
assert.ok(existsSync(dailyDir), "memory/ directory must exist");
});
it("04.03 - workspace files measurable", () => {
const files = ["AGENTS.md", "SOUL.md", "MEMORY.md", "USER.md", "TOOLS.md"];
for (const f of files) {
const path = join(WORKSPACE, f);
if (existsSync(path)) {
const stat = statSync(path);
console.log(`[BASELINE] ${f}: size=${stat.size}, mtime=${stat.mtime.toISOString()}`);
} else {
console.log(`[BASELINE] ${f}: NOT FOUND`);
}
}
assert.ok(true, "baseline frozen: workspace file inventory");
});
it("04.04 - memory_get for nonexistent file returns stable error", () => {
// memory_get behavior for missing file: should not crash, should return structured error
const nonexistent = "___nonexistent_file_xyzzy___.md";
const path = join(WORKSPACE, nonexistent);
assert.ok(!existsSync(path), "test file must not exist");
console.log("[BASELINE] nonexistent file check: path=", path);
// This just verifies the file doesn't exist — the tool behavior
// when requesting a missing file would be tested via the actual tool API
assert.ok(true, "baseline frozen: missing file expectation");
});
it("04.05 - memory file encoding is UTF-8", () => {
const path = join(WORKSPACE, "MEMORY.md");
const buf = readFileSync(path);
// Check for BOM (should not be present)
const hasBOM = buf[0] === 0xEF && buf[1] === 0xBB && buf[2] === 0xBF;
console.log("[BASELINE] MEMORY.md has BOM:", hasBOM);
// Read as utf8 should succeed
const content = readFileSync(path, "utf8");
assert.ok(content.length > 0, "MEMORY.md must decode as UTF-8");
});
});