UNPKG

kestrel.markets

Version:

A typed, token-efficient language + runtime for agentic trading: agents author bounded plans, the runtime fires them at the tick. CLI + typed library + MCP server.

43 lines 3.19 kB
/** * # frame/brief — the BRIEF content-hash + constructor (ADR-0026) * * The OSS side of the {@link ./types.ts Brief} (the soft, directional English channel): it RENDERS a * brief supplied by the cell/config and binds its CONTENT HASH into provenance (`brief_hash`, sibling * to `promptHash`), so "this performance came from this thesis" is attributable. It does NOT build * the platform Brief/Journal/Thesis lifecycle (that is a kestrel.markets artifact). * * **HARD GUARD (ADR-0026):** a Brief is unvalidated free text that can NEVER enter admission / * narrowing / bounded-risk — only the {@link ./types.ts Mandate}/envelope do. This module only * HASHES + CONSTRUCTS a Brief; nothing here touches the narrowing algebra. * * **HONESTY, BY CONSTRUCTION + AT THE HASH-COMMIT SEAM (kestrel-voy9).** {@link makeBrief} is the * honest constructor — it computes the hash from the text, so a Brief it builds can NEVER carry an * attribution that lies about which thesis ran. The complementary half — a Brief that a cell/config * supplied as a raw `{ text, hash }` literal (bypassing this constructor) — is verified by * {@link assertBriefHashHonest} at the seams where a Brief's hash actually COMMITS to provenance: * - the plan-fixture FREEZE ({@link ../session/harness/plan-fixture.ts capturePlanFixture} / * {@link ../session/harness/plan-fixture.ts readPlanFixture}), where a lying `brief.hash` would * otherwise mint a stable `plan_fixture_sha` that binds the wrong thesis into grade provenance * (ADR-0032 §7) — the grade driver never renders, so this is the load-bearing check; and * - the render seam ({@link ./render.ts buildKernelCellLines}), as defense-in-depth before it * emits the `brief=<hash>` line. * The guard is EXPORTED and WIRED at those real drivers (not an inert export nothing calls). */ import type { Brief } from "./types.ts"; /** The canonical content hash of a brief's text: `sha256:<64-hex>`. Deterministic + pure — the same * text hashes identically, so a rebrief is detectable and a grade can bind exactly which thesis ran. */ export declare function briefHashOf(text: string): string; /** Construct a {@link Brief} from its directional text (+ optional version), computing its content * hash — the HONEST constructor: a Brief built here can never carry a hash that disagrees with its * text (dishonest-by-construction is impossible). The cell/config supplies the text; provenance binds * {@link Brief.hash}. Pure. */ export declare function makeBrief(text: string, version?: string): Brief; /** * Fail-closed verification that a supplied Brief's `hash` matches its `text` (kestrel-voy9). A cell or * an on-disk fixture may carry a raw `{ text, hash }` that bypassed {@link makeBrief}; a mismatch means * the attribution would LIE about which thesis ran, so it must never enter a content-address or a * rendered provenance line. Throws {@link KernelHonestyError} on mismatch. Pure. WIRED at the * plan-fixture freeze/read and the render seam — never a standalone export nothing calls. */ export declare function assertBriefHashHonest(brief: Brief): void; //# sourceMappingURL=brief.d.ts.map