release: v6.8.1 - #50
Conversation
There was a problem hiding this comment.
🧪 PR Review is completed: Release version bump and MatterAI rebranding; the system prompt refactor cleanly wires AGENTS.md memory and skills injection into buildSystemPrompt with graceful degradation via filter(Boolean). One issue: the new system-info paragraph references a list_files tool that is not part of the CLI's documented toolset. Reviewed package.json: no issues found. Reviewed src/branding.ts: no issues found.
Skipped files
CHANGELOG.md: Skipped file patternREADME.md: Skipped file pattern
⬇️ Low Priority Suggestions (1)
src/prompts/system.ts (1 suggestion)
Location:
src/prompts/system.ts(Lines 252-252)🟡 Prompt Correctness / Tool Reference Issue
Issue: The new system-info paragraph (line 252) instructs the model to use the
list_filestool with arecursiveparameter. This text is ported verbatim from the IDE/Cline environment, butlist_filesis not among OrbCode CLI's tools — the toolGuide in this same file documents onlyfile_edit,multi_file_edit,read_file,execute_command,search_files,update_todo_list(plususe_skill/attempt_completion/mcp__*), and the read_file guidance directs directory exploration tosearch_files. The file header comment states the system info section was "adapted from the IDE to the CLI environment", but this tool reference was left unadapted. The model may attempt tool calls to a non-existent tool, wasting turns and eroding tool-call discipline.Fix: Remove the trailing
list_filessentences from the paragraph, ending after "...which files to explore further." (Iflist_filesdoes exist as a registered tool in the CLI, instead add it to the toolGuide so the reference is consistent.)Impact: Prevents the model from hallucinating calls to a non-existent tool and keeps the system info section consistent with the CLI's actual toolset.
- The Current Workspace Directory is the directory the user launched OrbCode CLI from, and is therefore the default directory for all tool operations. Commands run in the current workspace directory unless a different cwd is passed; changing directories inside a command does not modify the workspace directory. When the user initially gives you a task, a listing of filepaths in the current workspace directory will be included in the Environment Details section. This provides an overview of the project's file structure, offering key insights into the project from directory/file names (how developers conceptualize and organize their code) and file extensions (the language used). This can also guide decision-making on which files to explore further. If you need to further explore directories such as outside the current workspace directory, you can use the list_files tool. If you pass 'true' for the recursive parameter, it will list files recursively. Otherwise, it will list files at the top level, which is better suited for generic directories where you don't necessarily need the nested structure, like the Desktop.`; + The Current Workspace Directory is the directory the user launched OrbCode CLI from, and is therefore the default directory for all tool operations. Commands run in the current workspace directory unless a different cwd is passed; changing directories inside a command does not modify the workspace directory. When the user initially gives you a task, a listing of filepaths in the current workspace directory will be included in the Environment Details section. This provides an overview of the project's file structure, offering key insights into the project from directory/file names (how developers conceptualize and organize their code) and file extensions (the language used). This can also guide decision-making on which files to explore further.`;
There was a problem hiding this comment.
🧪 PR Review is completed: New list_files toolGuide section is a welcome consistency fix (resolves the prior line-252 concern), but the parameter docs contradict the tool's strict schema: recursive is marked optional while the schema requires it.
⬇️ Low Priority Suggestions (1)
src/prompts/system.ts (1 suggestion)
Location:
src/prompts/system.ts(Lines 178-178)🟡 Prompt/Schema Inconsistency
Issue: The new guidance says
recursiveis "(optional, default false)... omit or false for top-level only", but thelist_filestool schema (src/tools/schemas/list_files.ts) is declared withstrict: trueandrequired: ["path", "recursive"]with type["boolean", "null"]. Under strict mode, a tool call that omitsrecursivewill fail schema validation. Following this prompt text verbatim, the model may omit the parameter and get rejected tool calls, wasting turns.Fix: Describe
recursiveas required (acceptingnull), matching the strict schema, and instruct the model to passfalseornullinstead of omitting it.Impact: Prevents schema-validation failures on
list_filescalls and keeps the prompt consistent with the actual tool contract.- - \`recursive\` (optional, default false): Set true to list contents recursively; omit or false for top-level only. + - `recursive` (required, boolean or null): Set true to list contents recursively; pass false or null for top-level only.
|
✅ Reviewed the changes: Release PR with two small strict-mode consistency changes: |
There was a problem hiding this comment.
🧪 PR Review is completed: The updated list_files prompt guidance still contradicts the strict-mode tool schema: it labels recursive as "optional" and says it can be omitted, while the schema enforces required: ["path", "recursive"] under strict: true. Reviewed src/tools/schemas/list_files.ts: no issues found (strict-mode compliant with nullable recursive).
⬇️ Low Priority Suggestions (1)
src/prompts/system.ts (1 suggestion)
Location:
src/prompts/system.ts(Lines 178-178)🟡 Prompt/Schema Inconsistency
Issue: The new line 178 still describes
recursiveas "(optional, default false)" and instructs "omit or false for top-level only", but thelist_filesschema (src/tools/schemas/list_files.ts) runs withstrict: trueandrequired: ["path", "recursive"]with type["boolean", "null"]. Under strict mode, a tool call that omitsrecursivefails schema validation. The appended clause "Must be explicitly provided (boolean or null)" contradicts the "optional / omit" wording in the same line, leaving the model with ambiguous guidance that can produce rejected tool calls.Fix: Describe
recursiveas required (boolean or null) and remove the "omit" instruction so the prompt matches the strict schema contract.Impact: Prevents strict-mode validation failures on
list_filescalls and eliminates self-contradictory parameter guidance.- - \`recursive\` (required, default false): Set true to list contents recursively; false or null for top-level only. Must always be provided (boolean or null) per strict mode. + - `recursive` (required, boolean or null): Set true to list contents recursively; pass false or null for top-level only.
Summary
orbcode usagecommand for plan usage visibilityTest plan
npm run typecheckandnpm run buildpassnode dist/index.js --versionprints 6.8.1/model,/usage,/status