35 行
1.1 KiB
JavaScript
35 行
1.1 KiB
JavaScript
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",
|
|
});
|
|
});
|
|
});
|