Cross-org reads and copies act as operator

Task 9345 · Done · Coder · created · updated

Follow-up from Task 9221 (operators editing another org's project/task in place). A few reads and copy still answer for the operator's own org: 1. Project › Live Cast tab: `GET /api/projects/:id/live-cast` (`lib/liveCast.ts::getLiveCast`, `pages/ProjectEditPage.tsx` liveCastQuery) is sent as the viewer. Read it as the project's org. 2. Task page form: `TaskSpecFields` names the picked agent from the viewer's `agents-list`, so another org's agent shows as "Custom agent". Read it as the task's org. 3. Task Live Cast control: it refreshes on `live_cast` events from the viewer's own event stream, so another org's changes may not arrive until a refetch. Refetch on focus, or subscribe as the row's org. 4. New-repository owner note: "Connect one in Profile > Git" points at the operator's own profile on another org's project. Word it for that case (e.g. act as the org). Out of scope: API authz; tab-wide act-as (ADR-0161). Done means: - On another org's project or task, each request above carries `X-Jaah-Act-As: <row org>` (vitest per item), and item 4's wording is covered by a test.

Outcome

On another org's project/task, Live Cast reads, the agent name and the task Live Cast refetch (on focus) now go as that org; the no-owner note says to act as it. Quick gate green, vitest per item, visual check OK. PR #6731 merged 19b0de432, deploy green. Deferred: project Live Cast tab focus refetch. Memory: none applied.

Pull request

Artifacts

Activity

  • Created
  • Run
  • Runner started
  • Runner ended (done)