Files
deepseek-harness/CONTEXT.md
Tianyi Cui e890a3373e test(review): pin the tool-subagent plugin fiber's lifecycle ownership; doc nits
Codex round-2 findings:

- A committed test now proves the REAL plugin fiber (not a direct apply)
  owns the provider-lifecycle listeners: disposing a mounted tool's fiber
  unmounts the tool and leaves the provider intact, and a fiber disposed
  while WAITING never zombie-mounts when its provider arrives later.
- TODO(subagent-dup-toolname) records the invalid-config blast radius of
  two waiting fibers sharing a toolName (the duplicate throw propagates
  through subagent/provider-added and rolls back the provider).
- CONTEXT.md drops its creation-history sentence; the RFC's acceptance
  checklist becomes present-tense shipped invariants (docs/AGENTS.md
  writing rules).
2026-07-05 03:40:22 +08:00

38 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DeepSeek Harness
Ubiquitous language for the harness; grows as terms crystallize. Decisions live in `docs/rfc/` (this repo's decision log), not here.
## Language — prompt assembly
**Section**:
One named, ordered fragment of the system prompt, contributed by a plugin through `ctx.systemPrompt.section()`.
_Avoid_: block, snippet
**Assembly**:
The collated output of `assemble()` — sections, tool schemas, and resolved prompt variables — before rendering.
**Full system prompt**:
The rendered text the model actually receives: all sections interpolated and joined. There is no other composition path.
_Avoid_: using "system prompt" for any single fragment
**Persona**:
The per-agent, deployment-authored prompt fragment (config key `systemPrompt` on an agent). A template, not final text; rendered as the order-0 section. It is one section of the full system prompt, never the whole.
_Avoid_: calling it "the system prompt"
**Prompt variable**:
A named per-assembly value contributed by a plugin (e.g. `model`) and referenced from section or persona text as `{{name}}`.
_Avoid_: placeholder, macro
**Assemble context**:
The per-agent input to one `assemble()` call, carrying which agent the prompt is for. Merge-extensible; variable providers and section text providers are functions of it.
**Tool guidance**:
The model-facing usage prose for one tool, owned by the tool's package as a section (order band 100–199) — never hand-written in leaf config.
_Avoid_: tool prompt, tool docs
## Language — subagents
**Context contract**:
Whether a subagent provider's child sees the parent conversation (`inheritsParentContext`): fork inherits the log, spawn and ACP start fresh. Declared by the provider, consumed by tool wording.