From 8fe3b17ea7cc3bf6a8cd58ec2dd5f002c74cb801 Mon Sep 17 00:00:00 2001 From: morluto <76467478+morluto@users.noreply.github.com> Date: Mon, 26 Oct 2026 14:46:35 +0800 Subject: [PATCH] refactor(tooling): move completion ledger generation out of domain --- scripts/generate-completion-ledger.mjs | 6 ++++-- .../lib/completion-ledger-generation.mts | 13 ++++++++----- .../conformance}/completionLedgerGeneration.test.ts | 4 ++-- 3 files changed, 14 insertions(+), 9 deletions(-) rename src/domain/completionLedgerGeneration.ts => scripts/lib/completion-ledger-generation.mts (95%) rename {src/domain => tests/conformance}/completionLedgerGeneration.test.ts (98%) diff --git a/scripts/generate-completion-ledger.mjs b/scripts/generate-completion-ledger.mjs index ce63ffd40c..b9395f2973 100644 --- a/scripts/generate-completion-ledger.mjs +++ b/scripts/generate-completion-ledger.mjs @@ -6,6 +6,7 @@ import { fileURLToPath } from "node:url"; import { promisify } from "node:util"; import { ensureGeneratedFile } from "./lib/generated-file.mjs"; +import { importVerifierSource } from "./lib/verifier-source-loader.mjs"; const exec = promisify(execFile); const arguments_ = new Set(process.argv.slice(2)); @@ -42,8 +43,9 @@ const portableCompletionReport = { runtime_version: "portable", }, }; -const { createCompletionLedgerArtifacts } = await import( - `../dist/domain/completionLedgerGeneration.js?${String(Date.now())}` +const { createCompletionLedgerArtifacts } = await importVerifierSource( + "./lib/completion-ledger-generation.mts", + import.meta.url, ); const skillDigest = await directoryDigest( join(root, "skills/reverse-engineer-anything"), diff --git a/src/domain/completionLedgerGeneration.ts b/scripts/lib/completion-ledger-generation.mts similarity index 95% rename from src/domain/completionLedgerGeneration.ts rename to scripts/lib/completion-ledger-generation.mts index 2c4e98869f..c360ecdb6b 100644 --- a/src/domain/completionLedgerGeneration.ts +++ b/scripts/lib/completion-ledger-generation.mts @@ -1,18 +1,21 @@ import { z } from "zod"; -import { digestCanonicalValue } from "./canonicalDigest.js"; -import { IDENTIFIER_PATTERN } from "./stringPatterns.js"; +import { digestCanonicalValue } from "../../src/domain/canonicalDigest.js"; +import { IDENTIFIER_PATTERN } from "../../src/domain/stringPatterns.js"; import { compareAsciiStrings, isSortedUniqueAscii, -} from "./canonicalOrdering.js"; +} from "../../src/domain/canonicalOrdering.js"; import { createEvidenceCompletionLedger, evidenceCompletionRecordSchema, type EvidenceCompletionLedger, -} from "./evidenceCompletionLedger.js"; -import { digestSchema, prefixedDigestSchema } from "./../domain/digests.js"; +} from "../../src/domain/evidenceCompletionLedger.js"; +import { + digestSchema, + prefixedDigestSchema, +} from "../../src/domain/digests.js"; const identifierSchema = z.string().regex(IDENTIFIER_PATTERN); const identitySchema = z.strictObject({ diff --git a/src/domain/completionLedgerGeneration.test.ts b/tests/conformance/completionLedgerGeneration.test.ts similarity index 98% rename from src/domain/completionLedgerGeneration.test.ts rename to tests/conformance/completionLedgerGeneration.test.ts index 8d9f2d6acf..3e3bd913e0 100644 --- a/src/domain/completionLedgerGeneration.test.ts +++ b/tests/conformance/completionLedgerGeneration.test.ts @@ -5,8 +5,8 @@ import { completionManifestSchema, createCompletionLedgerArtifacts, type CompletionVerifierReport, -} from "./completionLedgerGeneration.js"; -import { evidenceCompletionLedgerSchema } from "./evidenceCompletionLedger.js"; +} from "../../scripts/lib/completion-ledger-generation.mjs"; +import { evidenceCompletionLedgerSchema } from "../../src/domain/evidenceCompletionLedger.js"; const digest = (digit: string): string => digit.repeat(64); const evidenceId = (digit: string): string => `ev_${digest(digit)}`;