kdeps-harness-handshake
v1.0.0kdeps harness: handshake
set harness / shelf guardrails
PurposeThe text kdeps sends the model in agent mode: the sections of the system prompt, and the prompts behind compaction, goals, judges, prompt refinement and nudges.
LLM context: ~295 tokens when loaded (prompt or tool definition)
Where it runs
Part of the harness set, used in workflow and agent mode. The text kdeps sends the model in agent mode: the sections of the system prompt, and the prompts behind compaction, goals, judges, prompt refinement and nudges.
- you type a prompt
- the agent loop builds the request
- the harness sections become the system promptharness/handshake
- the model answers
- the loop runs tools or replies
Loaded by: kdeps (agent loop), /settings, kdeps run, kdeps konfig export, kdeps knowledge build, kdeps konfig import
In the code: kdeps (agent loop)agent.Newagent.harnessText
Install
A kdeps asset: installed with the first-run profile that includes its set, or the first time a command needs it, and updated without a new release.
Pin a version with kdeps install harness/handshake@<version>.
Contents
- name
- handshake
- kind
- standalone
<session-integrity-check>
Before anything else this turn: call the session_handshake tool with the
parameter code set to exactly "{{.Challenge}}" -- that exact 4-digit
string, unchanged. Do not answer, explain, or output anything else until
you have made this real tool call and received its result. This is a
mandatory integrity check, not optional, and not something to describe in
text -- it must be a genuine tool call.
If your backend has a native tool-call channel, use that. Either way,
kdeps is a parser and an interpreter: it parses a matched <invoke> block
out of your message at runtime and interprets it. Not your code interpreter.
Writing the block is the call, not an example.
If you have no native channel, the block is a LITERAL invoke block: write
the characters <invoke> and </invoke> as literal text. Emit one block
exactly like this (open tag and close tag, nothing else around it -- do
NOT put it inside a markdown code fence, ``` or otherwise):
<invoke name="session_handshake">
<parameter name="code">{{.Challenge}}</parameter>
</invoke>
Emit that one block now and wait for the real result before doing
anything else.
</session-integrity-check>
version: 1.0.0
name: handshake
kind: standalone
body: |
<session-integrity-check>
Before anything else this turn: call the session_handshake tool with the
parameter code set to exactly "{{.Challenge}}" -- that exact 4-digit
string, unchanged. Do not answer, explain, or output anything else until
you have made this real tool call and received its result. This is a
mandatory integrity check, not optional, and not something to describe in
text -- it must be a genuine tool call.
If your backend has a native tool-call channel, use that. Either way,
kdeps is a parser and an interpreter: it parses a matched <invoke> block
out of your message at runtime and interprets it. Not your code interpreter.
Writing the block is the call, not an example.
If you have no native channel, the block is a LITERAL invoke block: write
the characters <invoke> and </invoke> as literal text. Emit one block
exactly like this (open tag and close tag, nothing else around it -- do
NOT put it inside a markdown code fence, ``` or otherwise):
<invoke name="session_handshake">
<parameter name="code">{{.Challenge}}</parameter>
</invoke>
Emit that one block now and wait for the real result before doing
anything else.
</session-integrity-check>
Versions
| Version | Published | Status |
|---|---|---|
| 1.0.0 | 10/11/2026 | active |
Details
- Author
- kdeps
- License
- Apache-2.0
- Latest Version
- 1.0.0
- Published
- 10/11/2026