DeepRefine - DeepSeek Harness (dsh) Adapter
This file is the dsh-specific entrypoint. It keeps the platform rules small and loads longer DeepRefine procedure details only when needed:
- Full workflow, queue selection, refinement branch logic, and review rules: references/deeprefine-workflow.md
- Verbatim judgement, abduction, and refinement prompts: references/llm-prompts.md
- Checklist, command sequence, trace schema, paths, and CLI mode: references/trace-and-commands.md
Do not reimplement or shorten the algorithm from memory. Load the relevant reference file before executing that part of the workflow.
dsh Invocation
Trigger this skill when the user:
- explicitly invokes
/deeprefine; - asks to refine, improve, diagnose, repair, inspect, or review a Graphify knowledge graph;
- asks to apply a previously reviewed DeepRefine refinement.
Run from the knowledge-base project root, where graphify-out/graph.json
exists. If the user is planning or asking how DeepRefine works, explain the
workflow and do not mutate files.
If deeprefine is unavailable, tell the user to install it:
pip install deeprefine-cli
For source development:
pip install -e /path/to/DeepRefine-Skill
Hard Safety Policy
A normal /deeprefine invocation is dry-run only and MUST NEVER call
deeprefine apply.
The default workflow must stop after:
deeprefine loop validatedeeprefine review- showing the proposed actions and HIGH/MEDIUM/LOW review report to the user
Then ask for explicit approval.
Only if the user's next message explicitly says to approve/apply/write the graph may you run:
deeprefine apply --trace-file ... --refinement-file ...
deeprefine loop finish --trace-file ... --refinement-file ...
Do not treat any of these as approval:
- generation of a
<refinement>block; - a valid
loop_trace_<query_id>.json; - a prior user message;
- a successful
deeprefine review.
If the review contains any LOW-confidence action, deeprefine apply aborts and
writes nothing (it does NOT apply HIGH/MEDIUM actions while skipping LOW ones).
Use --allow-low-confidence only when the user's current approval message
explicitly accepts that risk.
Mode Selection
Full workflow
Use for /deeprefine, or requests to refine/improve/fix the graph.
Follow the canonical reference in this order:
references/deeprefine-workflow.mdreferences/llm-prompts.mdwhen producing tagged LLM outputsreferences/trace-and-commands.mdwhen writing traces or running commands
Do not copy only the latest query if pending history exists. Process all unrefined history queries first, preserving canonical dedupe/order rules.
Review only
Use when the user asks to review, audit, inspect, dry-run, check evidence, or show what would change.
Run validation and review only:
deeprefine loop validate --trace-file ... --refinement-file ...
deeprefine review --trace-file ... --refinement-file ...
Show the HIGH/MEDIUM/LOW evidence report. Do not modify graph.json.
Apply only
Use only when the user's current message explicitly approves a previously reviewed refinement.
Before applying, verify that the trace and refinement file match
references/trace-and-commands.md and the review rules in
references/deeprefine-workflow.md. Then run:
deeprefine loop validate --trace-file ... --refinement-file ...
deeprefine apply --trace-file ... --refinement-file ...
deeprefine loop finish --trace-file ... --refinement-file ...
Use the LOW-confidence override only with explicit risk acknowledgement in the same user message:
deeprefine apply --allow-low-confidence --trace-file ... --refinement-file ...
After review: closing options
After showing the HIGH/MEDIUM/LOW report, stop and present these options to the user instead of deciding on your own:
- Approve & apply — the user explicitly says approve/apply/write. Run
deeprefine apply(it aborts if any LOW action is present unless--allow-low-confidenceis given) thendeeprefine loop finish. - Skip apply, mark done — the user declines the changes. Run
deeprefine loop finish --trace-file ... --refinement-file ...with no graph write. - Leave as proposal — the user wants to stop. Do not finish; leave the trace and review as-is for later.
Never run deeprefine apply before the user's current message explicitly
approves it, regardless of which option they later pick.
Non-Negotiable Rules
These are restated here so the model always sees the hard stops before loading any reference.
Do not:
- Run
deeprefine refineunless the user explicitly asks for CLI/FAISS mode. - Call
deeprefine applywithout a validloop_trace_<query_id>.json. - Call
deeprefine applybeforedeeprefine reviewand explicit approval. - Ignore LOW-confidence review warnings without explicit risk acceptance.
- Skip any hop's
<judge>Yes</judge>/<judge>No</judge>judgement. - Skip error abduction when
len(interaction_history) > 1. - Write
<refinement>before abduction when refinement is required. - Hand-edit
graphify-out/graph.jsonwith Python or ad-hoc JSON patches. - Ignore pending history and refine only one latest query.
- Invent a shorter pipeline such as "read file -> write refinement -> apply".
If validation fails, fix the trace or rerun the missing step. Do not bypass with
--skip-trace-check in agent mode.
What to Load From References
Keep this adapter concise. Load the smallest reference needed:
- Full refinement pseudocode and safe review:
references/deeprefine-workflow.md - Verbatim LLM prompts:
references/llm-prompts.md - Required JSON shape, exact command sequence, and CLI/FAISS exception path:
references/trace-and-commands.md
Use the canonical commands and artifacts exactly as written there. This adapter
only maps those rules onto dsh's /deeprefine invocation and approval
behavior.