Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

workspace: tool routing (precedence/engine-probes) ignores the IDE extension's pin, so a pinned session can name one workspace and route to another

クローズ
#1,337 コメント 1 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@saravmajestic がすでに取り組んでいます。

2026年9月21日 から。

評価

この issue はまだ評価されていません。

説明

Problem

#1320 makes the IDE extension's pin (ALTIMATE_PINNED_WORKSPACE_{ID,NAME,ROOT}) outrank the project's stored binding inside resolveBindingOutcome, so skill-sync, memory-sync and (since #1330) the identity section all follow the pinned workspace. Warehouse tool routing does not. precedence.ts currentBinding() (~line 441) and engine-probes.ts resolveBinding() (~line 42) read the on-disk binding cache directly through readLocalBindingScopedStrict and never consult the pin; neither file changed in #1320, and the pin is deliberately never persisted, so routing cannot see it.

Observable in a pinned serve session (found in the v0.12.1 release review by two reviewers independently):

  • Fresh pin, no prior local link (pin → 42): identity says "This project is linked to Altimate Workspace id 42"; derive() sees no binding → unbound → the routing section is silent and every warehouse call goes to the local tools. The pin changes what is remembered and which skills load, not what executes.
  • Returning user, local cache still names workspace 7 (pin → 42): identity names 42, the routing section names 7 ("Altimate workspace "…" (id 7) serves the warehouse tools named below"), or — if the live engine is attributed to 42 — the attribution check fails and routing settles unattributed. Two different datamate ids in one prompt, with nothing telling the model which governs execution.

Routing behaviour is unchanged from v0.12.0 (the pin never affected it), so this is not a regression and nothing executes against a workspace the project was not already linked to — but it defeats the stated purpose of the pin for warehouse queries, and #1330 now makes the contradiction visible to the model every turn. v0.12.1's identity copy states the limitation for pinned sessions ("warehouse tool routing follows the project's own link, not the pin") as a stop-gap.

Expected

currentBinding() in precedence.ts and resolveBinding() in engine-probes.ts honour a valid pin the same way resolveBindingOutcome does (pin outranks the cached binding and auto-adoption; invalid/non-member pin fails closed to unbound routing), so identity, routing, skills and memory agree on one workspace within a turn. The redirect-guard and attribution tests in precedence.test.ts need the pinned case added.

Related: #1335 (workspace name in the system prompt), and the #1320 known gaps (no backfill on pin, no purge-before-fetch in skill-sync).

🤖 Generated with Claude Code

https://claude.ai/code/session_012Q51zFUmPg1WwtS5CrGJE6

主要言語
TypeScript
スター
813
フォーク
134
平均マージ
2日 8分
マージ済み PR(30日)
65

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

AltimateAI/altimate-code のほかの issue

AltimateAI/altimate-code の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。