shared/manifests/writing.canon.manifest.ts
shared/manifests/writing.canon.manifest.ts is a file in GovLab Extension Host. 25 lines of code and 5 definitions.
import type { CanonCheckId, CanonLayer, CanonLayerId } from "../../types/writing.types.ts";
import { DOCUMENT_LAYER } from "./writing.document.manifest.ts";
import { IDENTIFIER_LAYER } from "./writing.identifier.manifest.ts";
import { NOTE_LAYER } from "./writing.note.manifest.ts";
import { OUTPUT_LAYER } from "./writing.output.manifest.ts";
import { PROSE_LAYER } from "./writing.prose.manifest.ts";
import { ROOT_LAYER } from "./writing.root.manifest.ts";
import { SHORT_LAYER } from "./writing.short.manifest.ts";
export const WRITING_CANON: readonly CanonLayer[] = [
ROOT_LAYER,
PROSE_LAYER,
SHORT_LAYER,
OUTPUT_LAYER,
IDENTIFIER_LAYER,
DOCUMENT_LAYER,
NOTE_LAYER,
];
export const STRINGS_CHANNEL: CanonLayerId = "prose";
export const DOCUMENT_CHANNEL: CanonLayerId = "document";
export const CANON_PRECEDENCE = "CLAUDE.md > this canon > the rules and manifests on disk > memory";
export const isCheckEnforced = function isCheckEnforced(id: CanonCheckId, channel: CanonLayerId): boolean {
return WRITING_CANON.some((layer) =>
layer.rules.some((rule) => rule.checks.some((check) => check.id === id && check.enforcedIn.includes(channel))),
);
};