Distilled instructions
What you'll find here
The lifecycle, category taxonomy, provenance links, and snapshot rules behind Craik's distilled instruction proposals. Use this page to understand what the runtime stores before an instruction can become an active constraint.
Distillation creates proposals, not authority.
Parsed instruction text becomes reviewable evidence. Only an explicit approval can move a proposal into the governing set used by case files and compiled prompts.
Lifecycle
proposedgoverningrejecteddeferredsupersededStale or contradicted proposals remain visible for review, but they do
not participate in list_governing, case-file assembly, or prompt
compilation unless an operator approves them with an explicit override
rationale.
Categories
Craik categorizes extracted statements deterministically. Each proposal records the matched rule name and confidence so later reviewers can explain why a statement entered a category.
| Category | Use |
|---|---|
policy | Approval, governance, or authority requirements. |
security_rule | Secret handling, sandboxing, safety, or security-sensitive requirements. |
boundary | Scope, ownership, repository, or authority boundaries. |
command | Required or forbidden commands and validation steps. |
instruction | General runtime guidance for agents. |
handoff_rule | Requirements for durable handoff content or timing. |
memory_rule | Rules for memory reads, writes, proposals, and promotion. |
preference | Stable user, team, or project preferences. |
stale_risk | Warnings that context may become outdated or unsafe. |
Unclassified candidates are not promoted into proposals silently. They are returned in ingestion summaries as warnings for operator review.
Provenance
Every proposal links back to the source text that produced it:
Source ID
The registered instruction source.
Snapshot ID
The observed source hash state.
Provenance IDs
The extracted source ranges.
Evidence IDs
Receipts and supporting review records.
Excerpt hash
A stable digest of the extracted statement after newline normalization.
Summary
The first non-empty statement line, capped for display.
Line ranges are precise when the parser can identify stable lines. Partial ranges are rejected because they make review ambiguous. When a stable range is not available, the provenance record falls back to the source-level reference instead of inventing a line number.
Snapshot linkage
craik.instruction_source_snapshot records whether a registered
source is new, unchanged, changed, or missing. Proposal state
follows that snapshot history:
- An unchanged source can keep its existing proposals reviewable.
- A changed source defers prior proposals until the new text is reviewed.
- A missing source defers proposals derived from that source.
- A newly observed source produces new proposed items rather than active constraints.
Case files and prompts consume only governing constraints. Compiled
prompts render them in the Active instruction constraints section as
(category) `statement` [source_id @ path:line-range], sorted by
category, source ID, and statement.