/** * Core Principle Registry — T-01..T-10 * * Canonical source of truth for the 10 built-in core principles. * The shipped THINKING_OS.md templates carry the same T-NN ids; the drift * test in openclaw-plugin validates template ↔ registry alignment * (id + name + layer + canonical statement anchor). * * ## Layer model (PRI-606/PRI-607) * * The registry is exactly 10 principles in two layers: * - 6 Foundational Axioms (`layer: 'foundational'`) — high-abstraction, * tool-agnostic, generative decision rules. Injected via * ``. * - 4 Operating Principles (`layer: 'operating'`) — how an agent puts the * axioms into practice. Surfaced via THINKING_OS directives. * * ## Pre-release reset policy (Owner decision, PR #1421 round 3) * * Built-in core principle semantics were redesigned during the pre-release * MVP phase. Existing experimental PD workspaces are NOT migrated in place; * testing this version requires a fresh workspace. The project intentionally * prioritizes a simple canonical model over compatibility machinery for * experimental state: there are no deprecated entries, no status/supersededBy * lifecycle fields, and no legacy aliases here. * * Bilingual: each principle has EN (name/statement) and * ZH (nameZh/statementZh) fields. */ /** Semantic layer of a core principle (PRI-606/PRI-607 two-layer model). */ export type CorePrincipleLayer = 'foundational' | 'operating'; export interface CorePrinciple { /** Canonical id — also the directive id in THINKING_OS.md templates (e.g. 'T-01') */ id: string; /** Semantic layer: foundational axiom vs operating principle. */ layer: CorePrincipleLayer; /** Human-readable name (EN) */ name: string; /** Human-readable name (ZH) — bilingual counterpart */ nameZh: string; /** One-line axiom statement for prompt injection and routing (EN) */ statement: string; /** One-line axiom statement (ZH) */ statementZh: string; } export declare const CorePrincipleSchema: import("@sinclair/typebox").TObject<{ id: import("@sinclair/typebox").TString; layer: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"foundational">, import("@sinclair/typebox").TLiteral<"operating">]>; name: import("@sinclair/typebox").TString; nameZh: import("@sinclair/typebox").TString; statement: import("@sinclair/typebox").TString; statementZh: import("@sinclair/typebox").TString; }>; /** Frozen array of all 10 core principles */ export declare const CORE_PRINCIPLES: readonly CorePrinciple[]; /** Frozen array of all core principle ids */ export declare const CORE_PRINCIPLE_IDS: readonly string[]; /** Active foundational axioms — the `` injection set. */ export declare function getFoundationalPrinciples(): readonly CorePrinciple[]; /** Active operating principles — surfaced via THINKING_OS directives. */ export declare function getOperatingPrinciples(): readonly CorePrinciple[]; /** Type guard: returns true if the value is a known core principle id */ export declare function isCorePrincipleId(value: string): value is typeof CORE_PRINCIPLE_IDS[number]; /** Lookup a core principle by id; returns undefined if not found */ export declare function getCorePrinciple(id: string): CorePrinciple | undefined; //# sourceMappingURL=core-principle-registry.d.ts.map