import { readFile } from "node:fs/promises"; import { describe, expect, it } from "vitest"; type RegistryDefinition = Readonly<{ registryId: string; owner: string; requiredFields: string[]; fieldTypes: Record; }>; describe("registry governance manifest", () => { it("declares ten typed, single-owner executable registries", async () => { const governance = JSON.parse( await readFile("config/contracts/registry-governance.json", "utf8"), ); const registries = governance.registries as RegistryDefinition[]; expect(governance.registries).toHaveLength(10); expect(new Set(registries.map((entry) => entry.registryId)).size).toBe( 10, ); expect(registries.every((entry) => entry.owner)).toBe(true); expect( registries.every( (entry) => Array.isArray(entry.requiredFields) && entry.requiredFields.length > 0 && entry.fieldTypes && Object.keys(entry.fieldTypes).length > 0, ), ).toBe(true); }); });