Repository navigation
Conversation
…pace skills In a linked project the read-only analyst agent could not call any memory tool, yet the workspace identity section told it to save with `altimate_memory_write` and check `altimate_memory_read`. Its prompt named only the built-in data skills and required every reply to finish through `answer_commit`, which suits data values, not a list of conventions. - analyst may call `altimate_memory_read`, `altimate_memory_refresh` and `altimate_memory_audit`; write, delete and extract stay denied, and data-explorer is unchanged. - The team-memory line names only the memory tools the session's agent can call: a read-only agent is pointed at the read tool and told that builder saves; an agent with neither gets no line. - The analyst prompt loads a matching skill by source precedence, answers questions about team conventions in plain text from skills and memory, and keeps `answer_commit` for data questions. Fixes #1569 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 3
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
|
👋 This PR was automatically closed by our quality checks. Common reasons:
If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you. |
…tool analyst can now call `altimate_memory_read` but not `altimate_memory_write`. An empty read told it to "Use altimate_memory_write to save information", steering a read-only agent toward a call it cannot make. The result now only says that no blocks were found. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
👋 This PR was automatically closed by our quality checks. Common reasons:
If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you. |
1 similar comment
|
👋 This PR was automatically closed by our quality checks. Common reasons:
If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you. |
…ization rule The analyst prompt now limits answer_commit to data questions and lets workspace-knowledge answers finish in plain text; update the pinned finalization assertion and pin the new exclusion sentence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Share one removal rule (`LLM.removedTools`) between tool resolution and the workspace identity section, so a memory tool switched off on the request, or not registered, is not named in the prompt. - A write-only agent gets the save line without the read-first step. - The analyst prompt checks `altimate_memory_read` only when it has it. - Update the analyst prompt assertion in sql-validation-e2e to the new finalization wording. - Cover all four read/write combinations and one cached outcome rendered for different agents. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… wiring - The analyst permission comment now says a reload syncs like the load every session runs and can drop a local copy of an archived block, rather than calling it read-only. - The prompt comment scopes the memory line to the tools the agent and request keep; tool-free steps withhold every tool the prompt names. - A prompt-loop test checks that the identity section is given the same memory access the tools handed to the model call imply. - Document analyst's memory and workspace-skill access. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
👋 This PR was automatically closed by our quality checks. Common reasons:
If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you. |
1 similar comment
|
👋 This PR was automatically closed by our quality checks. Common reasons:
If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you. |
Match the agent-modes page, and name the prompt-loop memory tests by what they check. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (16 files)
Reviewed by gemini-4-argon · Input: 519.4K · Output: 1.7K · Cached: 1.1M Review guidance: REVIEW.md from base branch |
There was a problem hiding this comment.
3 issues found across 16 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="packages/opencode/test/session/prompt.test.ts">
<violation number="1" location="packages/opencode/test/session/prompt.test.ts:635">
P3: This test never checks the rendered memory text, because `systemSection` is mocked to return "". It only checks the flags passed in. Rename it to describe what it asserts, or add a no-access turn (both tools denied) so the loop covers the case the PR description lists.</violation>
</file>
<file name="packages/opencode/src/agent/agent.ts">
<violation number="1" location="packages/opencode/src/agent/agent.ts:343">
P2: `altimate_memory_audit` reads only this checkout's local `.log`, so it cannot show teammate changes made directly in workspace memory. Add a workspace-aware audit source before exposing it as workspace auditing.</violation>
</file>
<file name="packages/opencode/src/session/prompt.ts">
<violation number="1" location="packages/opencode/src/session/prompt.ts:1923">
P2: `tools` is only the pre-stream catalog: retrieval can still remove either memory tool, so this line can advertise an action the model cannot call. Derive these flags from the final tool set or ensure the named memory tools survive retrieval.</violation>
</file>
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
🤖 Code Review — OpenCodeReview (Gemini) — No Issues FoundNo comments generated. Looks good to me. |
Add an analyst turn with no memory tools to the prompt-loop test and name the test for what it asserts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Issue for this PR
Closes #1569
Type of change
What does this PR do?
In a linked project, analyst could not answer read-only questions like "what are our conventions?": every memory tool was denied, the identity section named a save tool it lacked, and every reply had to go through answer_commit.
Small extras beyond the issue: the write-only case is reachable only through user config, and the docs lines.
Before and after
answer_commit, often with no useful answeranswer_commitanswer_commitFollow-ups (existing behaviour, not changed here)
altimate_memory_auditreads only this checkout's local audit log, for every agent. It does not show changes teammates made directly in workspace memory.ALTIMATE_TOOL_RETRIEVAL=1, off by default), retrieval can drop a memory tool after the identity line has named it. Before this PR the line named both tools for every agent.How did you verify your code works?
Cost side effects
None. About 110 more tokens in the analyst system prompt and three more tool definitions. No new model calls, queries or resources that grow with user data.
Screenshots / recordings
N/A, no UI change.
Checklist
🤖 Generated with Claude Code
Summary by CodeRabbit