const path = require("node:path"); const { pathToFileURL } = require("node:url"); let governance; describe("Trellis context manifest governance", () => { beforeAll(async () => { const scriptPath = path.resolve(__dirname, "../../../../scripts/qa/check-trellis-governance.mjs"); governance = await import(pathToFileURL(scriptPath).href); }); it("does not require sub-agent manifests in Codex inline mode", () => { expect(governance.contextManifestPolicy("inline")).toEqual({ required: false, requireRealEntries: false, rejectSeedRows: false, }); }); it("keeps strict manifest validation for sub-agent dispatch", () => { expect(governance.contextManifestPolicy("sub-agent")).toEqual({ required: true, requireRealEntries: true, rejectSeedRows: true, }); }); it("accepts the idle state after the last active task is archived", () => { expect(governance.activeTaskDirectoryPolicy(0)).toEqual({ valid: true, detail: "0 active task directories; idle state after archive is valid", }); }); });