Skip to content

feat: usage rows of a linked workspace - #1511

Open
ralphstodomingo wants to merge 19 commits into
feat/workspace-link-telemetryfrom
feat/workspace-usage-telemetry
Open

ralphstodomingo wants to merge 19 commits into
feat/workspace-link-telemetryfrom
feat/workspace-usage-telemetry

Conversation

@ralphstodomingo

@ralphstodomingo ralphstodomingo commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Closes #1510

Stacked on #1509 (the link lifecycle); review the two commits above it.

What

The rows that say how a linked workspace is used, per the shared event contract.

  • The rows the event contract names carry workspace_id. Each prompt turn resolves the project's local binding (no network) and passes it explicitly: session_start and session_end, first_prompt_sent and first_job_completed, task_classified, task_outcome_signal and the loop's other outcome rows; tool call and failure rows through the tool context (batch's inner tools included); skill_used; memory_injection and memory_operation through the injection context; the workspace rows carry their own ids. Nothing is stamped ambiently. Every other row (generation, compaction, SQL fingerprints, file-time, suggestions, native warehouse, MCP, permissions) joins through session_id.
  • Workspace values where the event already existed: skill_used.skill_source gains workspace (skills synced into the managed _workspace folder); memory_injection.scopes_used gains workspace and a workspace_blocks count when blocks came from the workspace's cloud memory; tool_call gains via_workspace on calls to the workspace's MCP tools; skill_published carries the workspace id.
  • Per-session use counters feed session_end (workspace_skills_used, workspace_documents_used, workspace_memory_blocks, workspace_integration_calls) and task_outcome_signal.workspace_context_used.
  • New events: starter_shown when the post-link starter is served (what the workspace provides, as counts); workspace_memory_contributed on every block written back to the workspace; workspace_sync_failed when a kind's sync status flips to error, with a reason class.

Not here: workspace_document_used (no document read path exists yet to hook), the session-start counts of what the workspace provides (they need the service; the starter row carries them when served), and a usage-limit event (which limits count is undefined).

Why

Linking tells the funnel a workspace reached the CLI; these rows tell it whether the workspace is then used, and what it gives back.

Verification

  • New tests: the stamping (bound and unbound sessions, a row's own id wins), the per-session counters, the _workspace skill source, a memory injection with a workspace block (scope and count), the write-back event, the sync-failure event and its reason classifier, the starter event's counts.
  • Workspace, memory, telemetry and tool suites pass; tsgo --noEmit, oxlint and the marker guard clean. Two unrelated timing flakes in the wider suites (session prompt, tool registry) pass alone on this branch and on the base.

🤖 Generated with Claude Code

https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE

ralphstodomingo and others added 2 commits October 15, 2026 19:00
Each prompt turn resolves the project's local binding (no network) into the
telemetry context, and the envelope builder stamps workspace_id on every row
of the session; a row's own id wins.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE
Workspace skills, memory and integration calls carry a workspace value and
are counted per session for session_end and task_outcome_signal; new
starter_shown, workspace_memory_contributed and workspace_sync_failed;
skill_published carries the workspace id.

Closes #1510

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE
@ralphstodomingo

ralphstodomingo commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor Author

Codex review log

Stacked on #1509; review only the two commits above it. Review runs against these claims. Report only a reproducible trace that violates a numbered claim; instances of the disclosed residuals are not findings. A round with no claim violation ends review.

Claims

  • C1 At the start of every prompt turn, Telemetry.setContext receives workspaceId from readLocalBinding(Instance.directory) (the local cache; no request), or undefined when the project is unbound or the read fails; nothing else in the turn's bootstrap changed.
  • C2 No ambient workspace stamping. setContext records the turn and returns its token; track() and the envelope builder never add workspace_id from the context or from any per-session entry. A row carries the workspace it names: the prompt loop's rows (session_start, first_prompt_sent, task_classified, validator_*, plan_revision, task_outcome_signal, agent_outcome, tool_chain_outcome, error_fingerprint, both session_end emits) carry the turn's resolved workspace through turnWorkspace (the key present and undefined for an unbound turn); tool rows (tool_call, core_failure, sql_quality, skill_used, and warehouse_add's post-connect-suggestion core_failure) carry ctx.workspaceId, set per turn by resolveTools on the tool context, by the loop on a pending task's context and on the attachment reads' context (createUserMessage reads the binding), and carried by batch into its inner tools' contexts (workspaceId and turn); warehouse_add's post-connect core_failure names the tool's own session with its workspace; memory_injection carries its injection context's; first_job_completed (a plugin hook) names the workspaceId of its tool.execute.after input, which the prompt loop's three trigger sites (native, MCP, task) set from the turn that ran the tool (resolveTools' own input; the loop's binding for task), never from the session's current turn (the hook type in @opencode-ai/plugin carries the optional field); the workspace rows carry their own ids. A row that names none carries none.
  • C3 classifySkillSource(location, projectRoot) returns workspace only for a location under this project's own .altimate-code/skill/_workspace/ (the skill tool passes Instance.directory); another project's managed folder is project; the other classes are unchanged. A skill_used row with source workspace increments the turn's skills count (ctx.turn) only when the turn is bound (ctx.workspaceId); the row names ctx.workspaceId.
  • C4 In MemoryPrompt.inject, an injected block that came from the workspace overlay (isRemote) with scope project adds workspace to scopes_used and is counted in workspace_blocks; the row's session_id and workspace_id are the injecting turn's (from its injection context). The turn's memory count is the largest workspace_blocks of any step in the turn (noteWorkspaceUse mode max, with the turn's token; inject runs on every step), noted only when the call carries a session. Global cloud blocks are injected under global and not counted; local blocks are unaffected.
  • C5 A workspace integration call (an MCP tool whose client is the managed engine key datamate, executed by the MCP path in session/prompt.ts, in a bound turn: resolveTools receives the turn's resolved workspace and the row names it explicitly, so a call finishing after its turn was cancelled and replaced keeps the workspace it ran for) emits a tool_call row with tool_type: "mcp" and via_workspace: true; a thrown or isError result is status: "error" with the message masked and redacted; a success increments the session's integrations count only when the call's turn (passed with the workspace) is still the session's current one. Registry tools (datamate_manager included), third-party MCP servers, standalone datamate-<name> servers and the key in an unbound turn carry no via_workspace.
  • C6 Both session_end emits carry the three counts of their own turn (workspace_skills_used, workspace_memory_blocks, workspace_integration_calls; the counters are keyed by session and turn token, a site with no turn counting toward the session's current turn), read before the row is tracked, and the row is tracked before the turn ends its entries, so a bound session's session_end carries workspace_id like every other row; task_outcome_signal.workspace_context_used is true iff any of the turn's counts is non-zero at that point. A replaced turn's end removes only its own counts.
  • C7 starter_shown is tracked once per starterFor call with the workspace id and knowledge (its kind, or unknown); skills and integrations are present only when the starter has those lists, memory_enabled only when the setting was read; unknown is left out, never reported as none. It never throws into the caller.
  • C8 workspace_memory_contributed is tracked once per project-scope block that push() stored or updated in the workspace, as soon as the primary write and its index entry are durable (before any extra record from the create is archived), when the push had a binding; a global block reports nothing on the live mirror or the backfill; block_count is 1; session_id is the writer's session, passed by the memory tools (MemoryStore.write → mirrorBlock); the bind-time backfill and the link seed run outside a turn and pass none, so their rows carry the context's session (empty from the CLI) and join on workspace_id; it is read from the context only when no session was passed; no row for unchanged, deferred, skipped or declined.
  • C9 workspace_sync_failed is tracked when a kind's recorded status becomes error and the previous recorded status for that workspace and kind was not error; a repeated error tracks nothing; reason comes from syncFailureReason over the failure text the record carries. session_id is the process context's: the record is written when a detached sync settles, not by the turn that started it. For memory that text is failureText(err): the HTTP status when the API answered one, then the error name and message, redacted of secrets, URLs' user-info and queries, emails and home paths, stored after the fixed prefix; for skills it is the fixed could not fetch the workspace's skill list, so a skill-list failure's reason is other.
  • C10 skill_published carries workspace_id from the publish report on the CLI, serve and TUI picker paths.
  • C11 No emit path awaits the network or can throw into its caller.

Residuals

  • R1 Rows emitted outside a prompt turn (startup commands, link commands from the CLI) carry no workspace unless they name one; nothing stamps one on them.
  • R2 starter_shown fires per starterFor call, so a client that re-fetches the starter reports it again.
  • R3 Global-scope memory blocks are the account's, not the workspace's; their write-backs report nothing.
  • R4 workspace_document_used, session-start provision counts and a usage-limit event are out of this PR (see the description).
  • R5 starter_shown is served per project (the starter route and the CLI link carry no session), so its session_id is the context's inside a turn and empty from the CLI; it joins on workspace_id and launch_id.
  • R6 Removed: skill, memory and integration use all carry the turn's token now.
  • R7 SessionTools.resolve (session/tools.ts) has no caller in the fork; its contexts and hook inputs carry no workspace.
  • R8 Rows outside the event contract carry no workspace and join through session_id: the step processor's and compaction's rows (generation, doom_loop_detected, plan_no_tool_generation, starvation_breaker, the streaming error, compaction_*, tool_outputs_pruned), sql_fingerprint, sql_pre_validation, feature_suggestion, environment_census, filetime_drift/filetime_assert (the attachment reads included), review_run/review_post_outcome, the native warehouse handlers' rows, MCP server rows, permission_denied, and command, startup and installation rows. Several of these take their session from the process-wide context, as on main.
  • R9 A workspace skill or memory use that lands after its turn's session_end (a cancelled turn's tool finishing late) counts toward no turn's summary; its own row still names the workspace. Counting it toward the next turn was the attribution bug the turn token removed.
  • R7 An extra record from a split create whose archive fails stays unarchived (the index entry is written once the primary is durable, so the next identical save is unchanged); this predates the PR and a reorder would create a second primary or a second contribution row on the retry, so it is left as is.

Rounds: round 1 on 88d648a found C5 and C10 (fixed in 1ef15a4); round 2 on 1ef15a4 found C2 (flush-time context read) and C9 (memory failure flattened), fixed in bb25f62; round 3 on bb25f62 found C2 again (a serve process moving the context before the row is tracked), fixed in 7a79820. The cap of three Codex rounds is spent. Cubic's first pass (on the ready flip) found 15 items: 13 fixed and one bounded in 0eec72e (C2, C3, C4, C5, C6, C7, C8, C9 updated above), one declined (R5). 0eec72e is not Codex-reviewed. Kilo's four items (global blocks reported on the live mirror, memory counted per step, the injection row's session, an unneeded string conversion) fixed in 7ad35e1, also unreviewed by Codex.

Cap raised (Ralph, 2026-10-15: more rounds are fine as long as we evaluate why they keep being needed): a further round reviews a80cfe4. Round 4 on a80cfe4 found C2/C6 twice over (the session_end row tracked after its own entry was deleted; an old turn ending the replacement's entries): both the session-lifecycle class from the evaluation, fixed in bd423b4 by tracking before ending and by generation-scoped ends; round 5 reviews it. Round 5 on bd423b4 found C2 once more (a cancelled turn's end-of-turn rows taking the replacement's entry after a relink), the session-lifecycle class; fixed in 9336e58 by naming the turn's workspace on those rows explicitly; round 6 reviews it. Round 6 on 9336e58 found C5 (a workspace tool call finishing after its turn was replaced consulting the session's entry), the same class; fixed in 71ac2a9 by passing the turn's workspace into resolveTools and naming it on the row; cubic's P2 in the same pass (an unbound turn's end rows falling back to the session's entry) fixed there too by keying turnWorkspace always, undefined for an unbound turn; round 7 reviews it. Round 7 on 71ac2a9 found C8 twice (the writer's session read from the context after awaits; the row lost when archiving an extra record throws) and cubic a late call counting toward the replacement turn: fixed in bff3931 (session passed from the memory tools; row emitted once the primary write is durable; integration counts turn-gated, R6 added); round 8 reviews it. Cubic's pass on bff3931: the memory_operation row now names the passed writer's session too (bd1190b); the index-entry reorder declined (R7). Round 8 on bff3931 found C6 (counters shared between a cancelled turn and its replacement), fixed in 6235bc5 by keying the counters by turn; round 9 reviews it. Round 9 on 6235bc5 found C4 (memory use from a cancelled turn counted toward the replacement): the fifth lifecycle finding, so per the evaluation the mechanism changed in be3b516 rather than the site: the ambient stamp is gone and every row names its workspace and turn explicitly (C2, C3, C4, R1, R6 rewritten); round 10 reviews it. Round 10 on be3b516 found C2 (first_job_completed read the session's current turn's workspace: the lifecycle class, a sixth time, in the one lookup the sweep had kept) and cubic two C2 gaps (batch dropped the context's workspace; warehouse_add's suggestion core_failure named none): fixed in 3ce788b, where the hook input carries the turn's workspace from the trigger site and the per-session lookup is gone; round 11 reviews it. Round 11 on 3ce788b found C2 (the step processor's generation row named no workspace once the stamp was gone: the enumeration class, the processor's and compaction's rows missing from the list), fixed in 9bfe318 by passing the turn's workspace into the processor, compaction and prune explicitly; round 12 reviews it. Round 12 on 9bfe318 found C2 (sql_fingerprint named no workspace) and cubic the processor's streaming error row: the enumeration class again, so 37563d1 sweeps every emitter that has a tool context or the loop's handle (SQL fingerprint and pre-validation, suggestions, the census, file-time rows, review runs, the processor's error row) and R8 lists the rows with no turn to name; the PR body's "every event" line now says the same. Round 13 reviews it. Round 13 on 37563d1 found the sweep's rows pairing an explicit workspace with the process-wide session (sql_pre_validation, feature_suggestion, the census) and the attachment reads' missing workspace. Trimmed on Ralph's call (2026-10-15): the rounds 11–13 plumbing is withdrawn (head back to 3ce788b, 22 source files instead of 36); the contract covers the event-contract rows only, and R8 lists the rest as joining through session_id. Round 14 confirms the trimmed head; instances of R8 are not findings. Round 14 on 3ce788b found two in-contract one-liners (a resumed task's context without the turn fields; the warehouse failure row's session from the process context): fixed in cf996bf; round 15 confirms. Round 15 on cf996bf: clean ("Didn't find any major issues"). Review complete. Cubic's full review of cf996bf found seven items: two fixed in 083918d (the skill counter on an unbound turn; the attachment reads' context), five declined with the contract made explicit (sync-failure session and skill-list reason class in C9, backfill session in C8, starter_shown fires when served per C7/R2/R5, late use after the turn's end in R9).

@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the two commits above it.

@coderabbitai

coderabbitai Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: eb56454f-1aeb-47db-9ac9-5a787ecb29a1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-15T17:59:48.087129Z cf996bf Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 88d648aa23

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/tool/tool.ts Outdated
Comment thread packages/opencode/src/altimate/telemetry/index.ts
MCP tools never pass through Tool.define, so the via_workspace row and the
integrations count now come from the MCP execution path, keyed on the client
name; the id-prefix test in tool.ts is gone, so datamate_manager no longer
counts. The TUI publish event carries workspace_id like the CLI and serve paths.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE
@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the three commits above it.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1ef15a496c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/altimate/telemetry/index.ts Outdated
Comment thread packages/opencode/src/altimate/workspace/sync-state.ts
…tail

A serve process can move the context to another session before the batch is
serialised, and the memory sync record flattened every failure to one text,
so its reason class was always other.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE
@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the four commits above it.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bb25f62e21

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/altimate/telemetry/index.ts Outdated
A serve process runs sessions side by side, so the process-wide context can
belong to another session's turn when an event is tracked; the workspace is
now kept per session and read by the event's session_id.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE
@ralphstodomingo
ralphstodomingo marked this pull request as ready for review October 15, 2026 12:17

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 18 files

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread packages/opencode/src/altimate/telemetry/index.ts Outdated
Comment thread packages/opencode/src/altimate/telemetry/index.ts Outdated
Comment thread packages/opencode/src/altimate/workspace/starter.ts
Comment thread packages/opencode/src/memory/prompt.ts Outdated
Comment thread packages/opencode/src/altimate/workspace/memory-sync.ts
Comment thread packages/opencode/src/tool/skill.ts Outdated
Comment thread packages/opencode/src/altimate/workspace/tool-call-telemetry.ts Outdated
Comment thread packages/opencode/test/altimate/telemetry/workspace-context.test.ts Outdated
Comment thread packages/opencode/src/altimate/workspace/sync-state.ts Outdated
Comment thread packages/opencode/src/memory/prompt.ts Outdated
@kilo-code-bot

kilo-code-bot Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (30 files)
  • packages/opencode/src/altimate/plugin/onboarding-telemetry.ts
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/tool-zod-compat.ts
  • packages/opencode/src/altimate/tools/warehouse-add.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/memory/store.ts
  • packages/opencode/src/memory/tools/memory-extract.ts
  • packages/opencode/src/memory/tools/memory-write.ts
  • packages/opencode/src/memory/types.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/batch.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/src/tool/tool.ts
  • packages/opencode/test/altimate/telemetry/onboarding.test.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/batch.test.ts
  • packages/opencode/test/tool/skill-source.test.ts
  • packages/plugin/src/index.ts
Previous Review Summaries (15 snapshots, latest commit cf996bf)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit cf996bf)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (27 files)
  • packages/opencode/src/altimate/plugin/onboarding-telemetry.ts
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/tool-zod-compat.ts
  • packages/opencode/src/altimate/tools/warehouse-add.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/memory/store.ts
  • packages/opencode/src/memory/tools/memory-extract.ts
  • packages/opencode/src/memory/tools/memory-write.ts
  • packages/opencode/src/memory/types.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/batch.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/src/tool/tool.ts
  • packages/opencode/test/altimate/telemetry/onboarding.test.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/batch.test.ts
  • packages/opencode/test/tool/skill-source.test.ts
  • packages/plugin/src/index.ts

Previous review (commit 37563d1)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (48 files)
  • packages/opencode/src/altimate/plugin/onboarding-telemetry.ts
  • packages/opencode/src/altimate/review/telemetry.ts
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/tool-zod-compat.ts
  • packages/opencode/src/altimate/tools/dbt-pr-review.ts
  • packages/opencode/src/altimate/tools/post-connect-suggestions.ts
  • packages/opencode/src/altimate/tools/project-scan.ts
  • packages/opencode/src/altimate/tools/schema-index.ts
  • packages/opencode/src/altimate/tools/schema-inspect.ts
  • packages/opencode/src/altimate/tools/sql-analyze.ts
  • packages/opencode/src/altimate/tools/sql-execute.ts
  • packages/opencode/src/altimate/tools/warehouse-add.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/file/time.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/memory/store.ts
  • packages/opencode/src/memory/tools/memory-extract.ts
  • packages/opencode/src/memory/tools/memory-write.ts
  • packages/opencode/src/memory/types.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/compaction.ts
  • packages/opencode/src/session/processor.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/batch.ts
  • packages/opencode/src/tool/edit.ts
  • packages/opencode/src/tool/read.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/src/tool/tool.ts
  • packages/opencode/src/tool/write.ts
  • packages/opencode/test/altimate/post-connect-suggestions.test.ts
  • packages/opencode/test/altimate/telemetry/onboarding.test.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/session/compaction-summarizer-integrity.test.ts
  • packages/opencode/test/session/processor-effect.test.ts
  • packages/opencode/test/tool/batch.test.ts
  • packages/opencode/test/tool/edit.test.ts
  • packages/opencode/test/tool/skill-source.test.ts
  • packages/plugin/src/index.ts

Previous review (commit 9bfe318)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (34 files)
  • packages/opencode/src/altimate/plugin/onboarding-telemetry.ts
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/tool-zod-compat.ts
  • packages/opencode/src/altimate/tools/warehouse-add.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/memory/store.ts
  • packages/opencode/src/memory/tools/memory-extract.ts
  • packages/opencode/src/memory/tools/memory-write.ts
  • packages/opencode/src/memory/types.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/compaction.ts
  • packages/opencode/src/session/processor.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/batch.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/src/tool/tool.ts
  • packages/opencode/test/altimate/telemetry/onboarding.test.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/session/compaction-summarizer-integrity.test.ts
  • packages/opencode/test/session/processor-effect.test.ts
  • packages/opencode/test/tool/batch.test.ts
  • packages/opencode/test/tool/skill-source.test.ts
  • packages/plugin/src/index.ts

Previous review (commit 3ce788b)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (30 files)
  • packages/opencode/src/altimate/plugin/onboarding-telemetry.ts
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/tool-zod-compat.ts
  • packages/opencode/src/altimate/tools/warehouse-add.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/memory/store.ts
  • packages/opencode/src/memory/tools/memory-extract.ts
  • packages/opencode/src/memory/tools/memory-write.ts
  • packages/opencode/src/memory/types.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/batch.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/src/tool/tool.ts
  • packages/opencode/test/altimate/telemetry/onboarding.test.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/batch.test.ts
  • packages/opencode/test/tool/skill-source.test.ts
  • packages/plugin/src/index.ts

Previous review (commit be3b516)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (25 files)
  • packages/opencode/src/altimate/plugin/onboarding-telemetry.ts
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/tool-zod-compat.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/memory/store.ts
  • packages/opencode/src/memory/tools/memory-extract.ts
  • packages/opencode/src/memory/tools/memory-write.ts
  • packages/opencode/src/memory/types.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/src/tool/tool.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/skill-source.test.ts

Previous review (commit 6235bc5)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (21 files)
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/memory/store.ts
  • packages/opencode/src/memory/tools/memory-extract.ts
  • packages/opencode/src/memory/tools/memory-write.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/skill-source.test.ts

Previous review (commit bd1190b)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (21 files)
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/memory/store.ts
  • packages/opencode/src/memory/tools/memory-extract.ts
  • packages/opencode/src/memory/tools/memory-write.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/skill-source.test.ts

Previous review (commit bff3931)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (21 files)
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/memory/store.ts
  • packages/opencode/src/memory/tools/memory-extract.ts
  • packages/opencode/src/memory/tools/memory-write.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/skill-source.test.ts

Previous review (commit 71ac2a9)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (18 files)
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/skill-source.test.ts

Previous review (commit 9336e58)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (18 files)
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/skill-source.test.ts

Previous review (commit 20e3f31)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (18 files)
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/skill-source.test.ts

Previous review (commit bd423b4)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (18 files)
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/skill-source.test.ts

Previous review (commit a80cfe4)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (18 files)
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/skill-source.test.ts

Previous review (commit 7ad35e1)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (18 files)
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • packages/opencode/src/session/prompt.ts
  • packages/opencode/src/tool/skill.ts
  • packages/opencode/test/altimate/telemetry/workspace-context.test.ts
  • packages/opencode/test/altimate/workspace/memory-sync.test.ts
  • packages/opencode/test/altimate/workspace/starter.test.ts
  • packages/opencode/test/altimate/workspace/sync-state.test.ts
  • packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts
  • packages/opencode/test/memory/overlay-merge.test.ts
  • packages/opencode/test/tool/skill-source.test.ts

Previous review (commit 0eec72e)

Status: 5 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 3
SUGGESTION 2
Issue Details (click to expand)

WARNING

File Line Issue
packages/opencode/src/altimate/workspace/memory-sync.ts 776 mirrorBlock passes a non-null binding for global-scope memory blocks, causing live updates of global blocks to emit workspace_memory_contributed
packages/opencode/src/altimate/workspace/memory-sync.ts 811 mirrorBlock creates of global-scope memory blocks also emit workspace_memory_contributed unless gated on block.scope === "project"
packages/opencode/src/memory/prompt.ts 306 memory_injection uses process-global Telemetry.getContext().sessionId instead of ctx?.sessionID ?? Telemetry.getContext().sessionId, risking cross-session misattribution

SUGGESTION

File Line Issue
packages/opencode/src/memory/prompt.ts 314 MemoryPrompt.inject runs on every step of a multi-step turn, multiplying workspace_memory_blocks by the step count
packages/opencode/src/altimate/workspace/tool-call-telemetry.ts 32 Avoid computing String(input.error) when input.error is undefined on the success path
Files Reviewed (18 files)
  • packages/opencode/src/altimate/telemetry/index.ts
  • packages/opencode/src/altimate/workspace/memory-sync.ts - 2 issues
  • packages/opencode/src/altimate/workspace/starter.ts
  • packages/opencode/src/altimate/workspace/sync-state.ts
  • packages/opencode/src/altimate/workspace/tool-call-telemetry.ts - 1 issue
  • packages/opencode/src/cli/cmd/skill.ts
  • packages/opencode/src/memory/prompt.ts - 2 issues
  • packages/opencode/src/plugin/tui/altimate/skill-ops.tsx
  • packages/opencode/src/server/server.ts
  • `packages/opencode/src/

[Snapshot truncated.]

Additional previous summary content was truncated to keep this comment within platform limits.


Reviewed by gemini-4-argon · Input: 295.8K · Output: 2.7K · Cached: 2.2M

Review guidance: REVIEW.md from base branch feat/workspace-link-telemetry

Comment thread packages/opencode/src/altimate/workspace/memory-sync.ts Outdated
Comment thread packages/opencode/src/altimate/workspace/memory-sync.ts Outdated
Comment thread packages/opencode/src/altimate/workspace/tool-call-telemetry.ts Outdated
Comment thread packages/opencode/src/memory/prompt.ts Outdated
ralphstodomingo and others added 2 commits October 15, 2026 20:33
Session entries end with the turn, not at shutdown; the engine key counts
only in a bound turn; only project cloud blocks are workspace memory; skill
source scoped to this project; unknown starter contents omitted; documents
counter removed; failure text keeps the status and is redacted.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE
…ite-backs

Memory is injected on every step, so the count keeps the largest injection
instead of summing; a global block's live mirror reports nothing; the
injection row names the injecting session.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 13 files (changes from recent commits).

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/altimate/workspace/tool-call-telemetry.test.ts">

<violation number="1" location="packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts:14">
P3: This leaves the singleton telemetry context set to `s1`/workspace `42` after the suite; `endSession` does not reset it, so later session-less `Telemetry.track` events can inherit this test's workspace. Save and restore the previous context in `afterEach`.</violation>
</file>

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread packages/opencode/test/altimate/workspace/tool-call-telemetry.test.ts Outdated
@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the commits above it.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a80cfe4343

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/session/prompt.ts Outdated
Comment thread packages/opencode/src/altimate/telemetry/index.ts Outdated
… current turn

The session_end row was stamped after its own workspace entry was deleted,
and a cancelled turn unwinding late could end the replacement's entries.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bff3931236

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/altimate/telemetry/index.ts
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE
@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the commits above it.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6235bc5b8b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/memory/prompt.ts Outdated
`track()` no longer stamps `workspace_id` from a process-wide or per-session fallback (five rounds of cancelled-turn attribution bugs came from it). `setContext` returns a turn token; loop, tool, skill, memory and first-job rows carry their turn's workspace explicitly; counters key on the turn.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE
@ralphstodomingo
ralphstodomingo force-pushed the feat/workspace-usage-telemetry branch from 1fb6e1f to be3b516 Compare October 15, 2026 15:59
@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the commits above it.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: be3b51691a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/altimate/plugin/onboarding-telemetry.ts Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 9 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread packages/opencode/src/tool/tool.ts
Comment thread packages/opencode/src/altimate/plugin/onboarding-telemetry.ts Outdated
Comment thread packages/opencode/src/altimate/telemetry/index.ts
…house rows name it

`tool.execute.after` gains `workspaceId`, set by the three trigger sites from the turn that ran the tool, so `first_job_completed` names it without asking the session for its current turn. `batch` passes `workspaceId`/`turn` to its inner contexts; `warehouse_add`'s suggestion failure names the turn's workspace.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE
@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the commits above it.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3ce788b42a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/altimate/telemetry/index.ts
@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the commits above it.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 6 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread packages/opencode/src/session/processor.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9bfe318b6b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/altimate/telemetry/index.ts
@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the commits above it.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 37563d1f7e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/altimate/tools/sql-execute.ts Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 17 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread packages/opencode/src/tool/read.ts Outdated
Comment thread packages/opencode/src/altimate/tools/project-scan.ts Outdated
Comment thread packages/opencode/src/altimate/tools/sql-execute.ts Outdated
@ralphstodomingo
ralphstodomingo force-pushed the feat/workspace-usage-telemetry branch from 37563d1 to 3ce788b Compare October 15, 2026 17:42
@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the commits above it.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Something went wrong. Try again later by commenting “@codex review”.

Provided git ref 3ce788b42ae507cbc839fc1378f11d9d1ba7d25d does not exist
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the commits above it.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3ce788b42a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/opencode/src/session/prompt.ts
Comment thread packages/opencode/src/altimate/tools/warehouse-add.ts
…ouse failure row names the tool's session

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE
@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@codex review against the numbered claims and the disclosed residuals in the review-log comment on this PR: report only a reproducible trace that violates a numbered claim. Instances of the disclosed residuals are not findings. A round with no claim violation ends review. This PR is stacked on #1509: review only the commits above it.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Can't wait for the next one!

Reviewed commit: cf996bf4c6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@ralphstodomingo

Copy link
Copy Markdown
Contributor Author

@cubic review

@cubic-dev-ai

cubic-dev-ai Bot commented Oct 15, 2026

Copy link
Copy Markdown

@cubic review

@ralphstodomingo I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 30 files

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread packages/opencode/src/tool/skill.ts Outdated
Comment thread packages/opencode/src/altimate/workspace/sync-state.ts
Comment thread packages/opencode/src/altimate/workspace/sync-state.ts
Comment thread packages/opencode/src/tool/tool.ts
Comment thread packages/opencode/src/altimate/workspace/memory-sync.ts
Comment thread packages/opencode/src/altimate/workspace/starter.ts
Comment thread packages/opencode/src/session/prompt.ts
…rry the binding

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011AhtJPr3nmT1Po92ZQk4VE

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant