Problem 1: Hardcoded 4000-character limit
The plugin hardcodes a 4000-character limit on goal objectives, evidence, and blockers. There is no plugin option to change it.
validateObjective throws goal objective must be at most 4000 characters
validateEvidence enforces the same limit
- The
create_goal / set_goal / update_goal_objective tool schemas use maxLength: 4000, which also causes model clients to silently truncate long objectives before the tool is even called
Proposed solution
Add a plugin option, e.g. max_objective_chars (default 4000 for backward compatibility), that controls:
validateObjective / validateEvidence limits
- The zod
max() and JSON schema maxLength values exposed in the tool schemas, so clients do not truncate prematurely
Alternatively, raising the hardcoded default (e.g. to 20k+) would already help.
Problem 2: Long objectives are either over-summarized or over-pasted
The current template line is weak:
Otherwise, create a new goal with create_goal. Use the full arguments as the objective.
Observed failure modes with long /goal input:
- Over-summarization: the model calls
create_goal with a condensed paraphrase/pointer instead of the actual content (multi-paragraph objective collapsed into a one-line summary referencing an external file).
- Verbatim over-correction: if the template is strengthened to demand character-for-character verbatim passing, models paste entire raw documents (e.g. a whole markdown spec) into the objective without shaping it into a usable goal statement.
Proposed solution
Wording that lands between the two failure modes — complete but well-formed:
Build the objective as a complete, faithful representation of the arguments: keep every requirement, constraint, scope boundary, and success criterion with no omissions or loss of meaning. You may restructure and rephrase for clarity and coherence, but do NOT compress, truncate, or drop any content, and do NOT substitute the content with references or pointers to external files.
Long-term, consider making this mechanically enforced rather than prompt-based — e.g. the /goal command handler creating the goal itself from the raw arguments via the SDK, so objective fidelity does not depend on model compliance at all.
Current workaround
Patching the cached dist/server.js:
s/4000/100000/g for the limits
- rewriting the
goalCommandTemplate line with the balanced wording above
Both patches are lost on every plugin update.
Problem 1: Hardcoded 4000-character limit
The plugin hardcodes a 4000-character limit on goal objectives, evidence, and blockers. There is no plugin option to change it.
validateObjectivethrowsgoal objective must be at most 4000 charactersvalidateEvidenceenforces the same limitcreate_goal/set_goal/update_goal_objectivetool schemas usemaxLength: 4000, which also causes model clients to silently truncate long objectives before the tool is even calledProposed solution
Add a plugin option, e.g.
max_objective_chars(default 4000 for backward compatibility), that controls:validateObjective/validateEvidencelimitsmax()and JSON schemamaxLengthvalues exposed in the tool schemas, so clients do not truncate prematurelyAlternatively, raising the hardcoded default (e.g. to 20k+) would already help.
Problem 2: Long objectives are either over-summarized or over-pasted
The current template line is weak:
Observed failure modes with long
/goalinput:create_goalwith a condensed paraphrase/pointer instead of the actual content (multi-paragraph objective collapsed into a one-line summary referencing an external file).Proposed solution
Wording that lands between the two failure modes — complete but well-formed:
Long-term, consider making this mechanically enforced rather than prompt-based — e.g. the
/goalcommand handler creating the goal itself from the raw arguments via the SDK, so objective fidelity does not depend on model compliance at all.Current workaround
Patching the cached
dist/server.js:s/4000/100000/gfor the limitsgoalCommandTemplateline with the balanced wording aboveBoth patches are lost on every plugin update.