mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
A ModeDefinition is now exactly { section, access? }; unknown keys (a
tools list included) fail loud at load. What plan mode still does: the
guidance section, the exit_plan_mode visibility rule (plan only, both
soft surfaces), the access cap's bash/resolve-mode clamp, and the two
cap-derived pre-execute guards (the bash trio is withheld when no
confining executor can honor the cap; sandbox escalation is denied
while it holds). The general deny-by-default gate and the assemble
allowlist filter are gone: which tools a mode admits is an effects
question, and a hand-maintained name list mislabels it — it must track
every composed tool and rots silently as tools arrive. The dimension
returns as a consumer of effects self-declaration on tool definitions
(MCP ToolAnnotations as the template) — rationale and restart trigger
archived in the RFC's Alternatives/Deferred; the interim guidance-only
non-shell restraint is priced in Consequences.
Exiting plan is now a pure removal (the exit tool + section), which the
delta encoding CAN express: the re-recorded plan-mode fixture pins one
plan-shaped initial header snapshot plus one header-delta instead of
two snapshots.
29 lines
1.0 KiB
JSON
29 lines
1.0 KiB
JSON
{
|
|
"steps": [
|
|
{
|
|
"op": "initialize"
|
|
},
|
|
{
|
|
"op": "newSession"
|
|
},
|
|
{
|
|
"op": "setMode",
|
|
"modeId": "plan"
|
|
},
|
|
{
|
|
"op": "prompt",
|
|
"text": "The typo is on line 2 of notes.txt itself; the workspace contains no other file. Inspect it with the bash tool: run exactly `cat notes.txt` (relative path, no other command; plan mode keeps the sandbox read-only, and a plain cat succeeds). Then present a one-step plan titled '# Fix the greeting typo' via exit_plan_mode: the single step is editing line 2 of notes.txt to say hello world. Do not edit anything before the review approves. After it approves, apply exactly that one edit to notes.txt with the edit tool and stop — no other commands, do not look for any other file."
|
|
},
|
|
{
|
|
"op": "prompt",
|
|
"text": "Read notes.txt (relative path notes.txt) and reply with the single word DONE if line 2 now says hello world."
|
|
}
|
|
],
|
|
"elicitationAnswers": [
|
|
{
|
|
"action": "accept",
|
|
"choice": "Approve"
|
|
}
|
|
]
|
|
}
|