Two errors. One ownership failure.
{{hexagon}} is valid grammar but has no registered value.
{{dotted.state.path}} fails the simple-name grammar.
code and both generate tools:sdk.
native carries the same text outside prompt interpolation.
Do not patch one description forever.
Restores one known description but changes model-visible text.
Property names, enums, and const strings can still cross.
All generated SDK bytes skip interpolation.
both is not a workaround.It keeps native schemas and still generates tools:sdk, so the literal group reaches the strict renderer.
Make literal ownership explicit.
A proposed contributor patch adds PromptSection.raw, preserves it through assembly, skips interpolation only for raw sections, and registers tools:sdk as raw. Persona and other deployment-authored sections remain strict.
tool description: {{dotted.state.path}}
tools:sdk + raw: {{dotted.state.path}}
deployment template: {{cwd}} → still interpolatedThe patch is in a contributor fork, not the official DeepSeek AI repository. Treat it as a source-backed proposal until an upstream commit lands.
Primary evidence.
- Initial unknown-variable report #3454
- Dotted-path reproduction #3541
- Contributor raw-section proposal c2af02e
- Pinned strict interpolator
Keep the complete repair matrix.
The canonical guide covers TypeScript and Python, descriptions and schema values, operator recovery, assembly propagation, regression gates, and an incident bundle.
Read and star on GitHub