2 min readReferenceUpdated 2026-05-21
What you'll find here
Two contracts that preserve incompleteness instead of forcing
agents to guess — craik.scratchpad_record for expiring working
notes, and craik.unknown_record for explicit gaps.
Expire by default; promote explicitly.
Scratchpad records must expire. They become durable context only
through an explicit review path.
Records
ContractStoresFieldscraik.scratchpad_recordworking notesOwner · note text · evidence links · status · creation time · expiry. Expired records are filtered from active runtime context.craik.unknown_recordexplicit gapQuestion · owner · what is needed to resolve it · next action · evidence · resolution answer, timestamp, and receipt linkage when resolved.craik.context_requestblocking askRequester · requested context · why it is needed · optional links to handoffs, recovery sessions, or unknowns · fulfiller, timestamp, and receipt linkage when fulfilled.
Visible incompleteness.
Unresolved unknowns and open context requests are surfaced in case-file
stale risks and handoff context debt. Handoff creation blocks on them
unless the caller records an explicit blocked-exit override rationale.
Capture commands
CommandWritesUse whencraik knowledge scratchpadscratchpadAn agent needs to preserve temporary working context without promoting it to durable memory.craik knowledge unknownunknownThe next agent or operator needs a clear unresolved question, resolution source, and next action.craik knowledge context-requestcontext requestWork needs missing human, repo, web, tool, memory, or external context before it can continue safely.craik knowledge resolve-unknownunknownAn operator has the answer and needs to close the unknown with a durable resolution receipt.craik knowledge fulfill-context-requestcontext requestThe requested context has been supplied and the request can be fulfilled with receipt provenance.
What's next