Repository navigation
Open
Labels
effort/sSmall: expected under 2 hours of workSmall: expected under 2 hours of workkind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/lowNice to have; do when convenientNice to have; do when convenientqueue/parkedQueue task is parked (waiting on CI, time, or an event)Queue task is parked (waiting on CI, time, or an event)source/humanFiled directly by a humanFiled directly by a humanstatus/parkedDeliberately paused with a recorded resume conditionDeliberately paused with a recorded resume conditiontask/fixhas a fix task queuedhas a fix task queuedtask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle stateQueue worker lifecycle state
Description
Slice 4 of decision record 0004 (pkgs/mcpx/docs/decisions/0004-scope-resolved-roots.md, PR #957). Depends on slice 1 (#958) and slice 3 (#959); slice 2 not required. Related: #864 (the fleet .mcpx.json still carries /home/user absolute paths — this slice needs the config in its post-#864 shape, or must say why it proceeded anyway).
What to do
- Flip
gopls-mcp-serverto"scope": "worktree"in the fleet config (the user-level config symlinked to this repo's.mcpx.json; identical server lists on both machines stay identical). - This is deliberately last: flipping scopes before the spawn-cwd and initialize work landed would only multiply processes.
Acceptance criteria (live proof, from nix#817/#819)
- With gopls at
"scope": "worktree"behind the fixed spawn cwd and initialize root,go_package_apion a module path returns the module's real API promptly (the 2026-10-25 result — empty after 156 s — does not recur). - The same proof passes for a caller in a linked worktree, rooted in that worktree, not just the main checkout.
- Two callers in different checkouts get distinct gopls instances, each rooted in its own checkout (visible in
mcpx statusroot field from slice 1).
Metadata
Metadata
Assignees
Labels
effort/sSmall: expected under 2 hours of workSmall: expected under 2 hours of workkind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/lowNice to have; do when convenientNice to have; do when convenientqueue/parkedQueue task is parked (waiting on CI, time, or an event)Queue task is parked (waiting on CI, time, or an event)source/humanFiled directly by a humanFiled directly by a humanstatus/parkedDeliberately paused with a recorded resume conditionDeliberately paused with a recorded resume conditiontask/fixhas a fix task queuedhas a fix task queuedtask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle stateQueue worker lifecycle state
Activity
dezren39 commentedon Oct 26, 2026
Intake review
Still live (verified this run): slices 1 (#958) and 3 (#959) are unimplemented on main and the design record is still in open PR #957, so the scope flip this issue performs would, by its own reasoning, only multiply gopls processes if done today. No merged PR addresses it.
Related: #958 (slice 1) · #959 (slice 3) · #960 (slice 2, explicitly not required) · #864 (fleet
.mcpx.jsonabsolute/home/userpaths — this slice wants the post-#864 config shape or an explicit note on why it proceeded anyway) · PR #957 (decision 0004, open) · origins dezren39/darwin-nix#817 / dezren39/darwin-nix#819.Notes / risks: Marked
status/blockedat intake — deliberately last in the set. Its acceptance is a live proof, not unit tests: the 2026-10-25 baseline (emptygo_package_apiresult after 156 s) is the regression to beat, and the proof must run from a linked worktree as well as the main checkout, with both machines' fleet configs staying identical.Suggested approach: Only after #958 + #959 land: flip
gopls-mcp-serverto"scope": "worktree"in the fleet config, then run the two-checkout proof and record timings +mcpx statusroot output on this issue.— Fleet monitor intake enrichment (acceptance criteria were already in the body; labels normalized,
meta/enrichedadded).dezren39 commentedon Oct 28, 2026
🤖 Agent note · picked up
.mcpx.jsonat HEAD plus the dependency states, and a route that respects the slice ordering.dezren39 commentedon Oct 28, 2026
🤖 Agent note · done
Evidence (fresh GitHub reads at main HEAD
e561ab58):.mcpx.jsonat HEAD: thegopls-mcp-serverentry is{command: "go", args: ["run", "golang.org/x/tools/gopls@latest", "mcp"]}with nomcpx.scopeblock at all — it has not been flipped to"scope": "worktree"(contrastchrome-devtools, which carriesmcpx: {sharing: "exclusive", scope: "session"}). The fleet config also still carries/home/userabsolute paths (e.g.codedb,fff), i.e. it is in its pre-mcpx: codedb and fff entries in .mcpx.json still use /home/user absolute paths #864-fix shape on this surface even though mcpx: codedb and fff entries in .mcpx.json still use /home/user absolute paths #864 is closed.Why gated: this issue is deliberately last in decision record 0004's ordering — "flipping scopes before the spawn-cwd and initialize work landed would only multiply processes." The spawn-cwd half (#958) has landed; the initialize half (#959) has not. Flipping gopls to worktree scope now would run it against an initialize handshake that doesn't yet send the scope-resolved root, so the live proof in the acceptance criteria (
go_package_apireturning the module's real API promptly behind the fixed spawn cwd and initialize root) cannot pass yet.Route: no fix packet enqueued yet — that would invite exactly the premature flip the decision record warns against. This issue is re-queued (
queue/queued+status/needs-triage) for fleet-monitor reconciliation; the next triage pass should re-check #959 first, and once #959 closes, enqueue the slice-4small_fix(flipgopls-mcp-serverto"scope": "worktree"in the fleet config on both machines' identical server lists + the livego_package_apiproof). This triage task completes astriaged.282 remaining items
dezren39 commentedon Nov 8, 2026
🤖 Agent note · done (triage; issue stays open; fix follow-on queued)
repo-worker-code), OpenChamber scheduled lanebf419306-c4ef-470f-a553-beabf93239deses_e5e441ca912ffe7X7PaZd6SjiJ· task11881(attempt 9/12)repo-health:v1:fix:developing-today/code:issue:961): setgopls-mcp-servermcpx.scopetoworktreein.mcpx.json, run the live workspace proof, and state why it proceeds ahead of mcpx: codedb and fff entries in .mcpx.json still use /home/user absolute paths #864 (still OPEN/blocked).3762e65642235ada51f03ac4c31f3fbea258bfea;.mcpx.jsongopls entry has no scope. Triage-only; sandbox backlog/sweep bookkeeping deferred to fleet reconciliation.developing-today commentedon Nov 9, 2026
agent-note:v1
task: 13862
lane: code-w
state: done (triaged)
Triage verdict for task 13862 — REAL AND ACTIONABLE, GATE LIFTED. Earlier triages (task 2298, 2026-10-28) found #961 gated on slices #958/#959 not landing. Re-verified fresh 2026-11-09 (laptop gh REST + git on origin/main):
Disposition: this task completes as triaged; the remainder (flip gopls-mcp-server to scope: worktree + the live-proof acceptance: go_package_api prompt return, linked-worktree caller, distinct instances in mcpx status) is converted to a small_fix follow-up packet under dedupe repo-health:v1:fix:developing-today/code:issue:961, enqueued by lane code-w in this same shift (task id in the follow-up note / sweep.log).
dezren39 commentedon Nov 9, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 9, 2026
agent-note:v1 — task 14232 handed off (lane code-k, 2026-11-09): execution lane assigned opencode; claimant launches the bound opencode session. Fresh check this shift: issue #961 OPEN, no hard-stop labels. Handed off, parked 1200s.
dezren39 commentedon Nov 9, 2026
🤖 Agent note · handed off
opencode(lane row 5482)