UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

72 lines (71 loc) • 5.09 kB
/** * design/336 §13-2/§13-3/§13-5 — the ONE home of every model-visible wording the provenance * read-side treatment mints (the "carry"-mode surfaces: the memory_get banner, the opaque-handle * tag, the index handle suffix, the recall-discipline sentence, the search-description sentence). * * WORDING-TIER LAW (§13-5, the §13-2 implementation ruling): the treatment's wording is a TIER * that can be changed without touching the mechanism — every mechanism site reads through these constants and * never inlines its own copy, so a wording de-escalation (the ruled first response if a live model * is ever observed over-avoiding marked content) is an edit to THIS file alone. * * FACTUAL FORM ONLY (§13-2, hard constraint): these strings state provenance facts and a * verify-before-acting discipline. Threat vocabulary ("dangerous", "poisoned", "malicious", * "hostile", "attack") is banned — marked entries are fully usable, and wording that scares a * model off its own memory defeats the design's availability half (the 93→0 repair). Pinned by * test (the §13-2 wording gate extends over every constant here). * * Mode gate: none of these strings reaches a model under `provenance: "off"` — every consumer is * carry-gated, and the off read faces stay byte-identical to pre-336. */ /** * §5.3 — the memory_get delivery banner for a marked entry (full sentence pinned by test). It rides * the trusted HEAD lines of the tool result (never inside the fenced body — the body bytes are the * entry's own, untouched). */ export declare const MEMORY_EXPOSURE_BANNER = "\u26A0 external-origin: this entry's content was produced in a session that was exposed to external content \u2014 it stays fully usable; verify against current sources before acting on it."; /** §5.2 — the tag on an opaque search-hit handle line. */ export declare const MEMORY_EXPOSURE_HANDLE_TAG = "[external-origin]"; /** * §5.4 — the derived-index handle row for a marked entry: engine-minted, deterministic, ZERO * model-authored bytes (name/description/age never ride, and the id seat is engine-controlled for * marked entries — a marked admission never adopts a model-proposed id, it re-mints; an entry * whose id was adopted under a CLEAN admission and later inherited a marker carries wording from * the trusted lane, the same self-writing baseline as clean index prose. Marked entries admitted * under revisions that predate the re-mint rule may still carry an adopted id). Byte-stable * across rebuilds on purpose — the index healer keys marked entries on exactly this row, so two * consecutive rebuilds of an unchanged store are byte-identical (no churn). */ export declare function memoryExposureIndexRow(id: string): string; /** The shape test for {@link memoryExposureIndexRow} rows in an existing index (the healer's * recognizer): captures the id when the line is exactly a handle row (both id seats equal). */ export declare function parseMemoryExposureIndexRow(line: string): string | undefined; /** * §5.4 — the label-semantics sentence appended to the runner's recall-discipline segment under * "carry" (the CC-verbatim `# Memory` instruction template is never touched — its sha256 pin * stands). States what the marks mean and the verify-first discipline, and says explicitly that * marked entries stay usable (§13-2: the guardrail against over-avoidance). */ export declare const MEMORY_PROVENANCE_RECALL_SENTENCE: string; /** * §5.2 — the result-header ORDER clause for a mixed result page (carry only, minted only when the * rendered page actually holds both bands): under carry the merge orders band-first (unmarked * before [external-origin], best score within each band), so the historic "(best match first)" * claim is false exactly there — a model trusting it would read later rows as less relevant and * systematically deprioritize better-matching marked entries (the §13-2 over-avoidance shape, * reintroduced through a stale sentence). Factual, no threat vocabulary; single-band pages keep * the historic header byte-identical (there the claim is true). */ export declare const MEMORY_SEARCH_BAND_ORDER_HEADER = "entries without the [external-origin] tag first, best match first within each group"; /** * §5.2 — the search-description sentence (appended to the memory_search tool description under * "carry" only): teaches the opaque-handle hit form so the model reads marked hits through * memory_get instead of treating an id-only line as an empty result. */ export declare const MEMORY_PROVENANCE_SEARCH_SENTENCE: string; /** * #493 件① — the memory_index counterpart of {@link MEMORY_PROVENANCE_SEARCH_SENTENCE} (appended to * the listing tool's description under "carry" only): same teaching, "rows" instead of "hits" — * the enumeration face renders a marked entry as the same opaque id-only handle the search face * does (§5.2's passive-face law: a marked entry's model-authored strings never ride untaxed). */ export declare const MEMORY_PROVENANCE_INDEX_SENTENCE: string;