




















@@ -8348,7 +8348,7 @@ describe("check-database-first-legacy-stores", () => {
83488348 import fs from "node:fs";
83498349 fs.writeFileSync("sessions.json", "{}\\n");
83508350 `,
8351-"extensions/matrix/src/matrix/client/storage.ts",
8351+"extensions/memory-wiki/src/compile.ts",
83528352);
8353835383548354expect(violations).toEqual([{ kind: "legacy store filesystem write", line: 3 }]);
@@ -8358,74 +8358,53 @@ describe("check-database-first-legacy-stores", () => {
83588358const content = `import fs from "node:fs";${"\n".repeat(667)}fs.writeFileSync("sessions.json", "{}\\n");`;
83598359const violations = collectDatabaseFirstLegacyStoreViolations(
83608360content,
8361-"extensions/matrix/src/matrix/client/storage.ts",
8361+"extensions/memory-wiki/src/compile.ts",
83628362);
8363836383648364expect(violations).toEqual([{ kind: "legacy store filesystem write", line: 668 }]);
83658365});
8366836683678367it("allows current legacy-debt writes after harmless line movement", () => {
8368-const content = `
8369- import path from "node:path";
8370- import { writeJson } from "../infra/json-files.js";
8371- const STORAGE_META_FILENAME = "storage-meta.json";
8372- function writeStoredRootMetadata(filePath: string, metadata: unknown) {
8373- return writeJson(filePath, metadata);
8374- }
8375- ${"\n".repeat(8)}
8376- writeStoredRootMetadata(path.join(params.rootDir, STORAGE_META_FILENAME), {
8377- homeserver: metadata.homeserver,
8378- userId: metadata.userId,
8379- accountId: metadata.accountId ?? DEFAULT_ACCOUNT_KEY,
8380- accessTokenHash: metadata.accessTokenHash,
8381- deviceId: metadata.deviceId ?? null,
8382- currentTokenStateClaimed: true,
8383- createdAt: metadata.createdAt ?? new Date().toISOString(),
8384- });
8385- `;
8368+const content = [
8369+`import { fsRoot } from "@openclaw/fs-safe/root";`,
8370+`const relativePath = ".openclaw-wiki/cache/claims.jsonl";`,
8371+`const root = await fsRoot(rootDir);`,
8372+ ...Array.from({ length: 8 }, () => ""),
8373+`await root.write(relativePath, content);`,
8374+].join("\n");
83868375const violations = collectDatabaseFirstLegacyStoreViolations(
83878376content,
8388-"extensions/matrix/src/matrix/client/storage.ts",
8377+"extensions/memory-wiki/src/compile.ts",
83898378);
8390837983918380expect(violations).toEqual([]);
83928381});
8393838283948383it("flags duplicate copies of current legacy-debt writes", () => {
8395-const allowedWrite = `
8396- writeStoredRootMetadata(path.join(params.rootDir, STORAGE_META_FILENAME), {
8397- homeserver: metadata.homeserver,
8398- userId: metadata.userId,
8399- accountId: metadata.accountId ?? DEFAULT_ACCOUNT_KEY,
8400- accessTokenHash: metadata.accessTokenHash,
8401- deviceId: metadata.deviceId ?? null,
8402- currentTokenStateClaimed: true,
8403- createdAt: metadata.createdAt ?? new Date().toISOString(),
8404- });
8405- `;
8384+const relativePath = "extensions/memory-wiki/src/compile.ts";
8385+const allowedWrite = `fs.writeFileSync("sessions.json", "{}\\n")`;
8386+const currentLegacyWriteAllowances = new Map([
8387+[`${relativePath}:legacy store filesystem write:${allowedWrite}`, 1],
8388+]);
84068389const violations = collectDatabaseFirstLegacyStoreViolations(
8407-`
8408- import path from "node:path";
8409- import { writeJson } from "../infra/json-files.js";
8410- const STORAGE_META_FILENAME = "storage-meta.json";
8411- function writeStoredRootMetadata(filePath: string, metadata: unknown) {
8412- return writeJson(filePath, metadata);
8413- }
8414- ${allowedWrite}
8415- ${allowedWrite}
8416- `,
8417-"extensions/matrix/src/matrix/client/storage.ts",
8390+[
8391+`import fs from "node:fs";`,
8392+`${allowedWrite};`,
8393+`${allowedWrite};`,
8394+].join("\n"),
8395+relativePath,
8396+{ currentLegacyWriteAllowances },
84188397);
841983988420-expect(violations).toEqual([{ kind: "legacy store filesystem write", line: 20 }]);
8399+expect(violations).toEqual([{ kind: "legacy store filesystem write", line: 3 }]);
84218400});
8422840184238402it("flags stale current legacy-debt allowlist entries during full scans", () => {
84248403const violations = collectDatabaseFirstLegacyStoreViolations(
84258404`
8426- export const STORAGE_META_FILENAME = "storage-meta.json";
8405+ export const CLAIMS_DIGEST_PATH = ".openclaw-wiki/cache/claims.jsonl";
84278406 `,
8428-"extensions/matrix/src/matrix/client/storage.ts",
8407+"extensions/memory-wiki/src/compile.ts",
84298408{ enforceCurrentLegacyAllowlist: true },
84308409);
84318410此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。