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).
1.7 KiB
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.