Skip to content

mcpx fleet config: gopls to worktree scope + live workspace proof #961

Open

Description

@dezren39

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-server to "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_api on 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 status root field from slice 1).

Activity

  1. added
    kind/featureNew feature or capability request
    source/humanFiled directly by a human
    status/blockedQueue or user escalation state
    priority/lowNice to have; do when convenient
    effort/sSmall: expected under 2 hours of work
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 26, 2026
  2. dezren39 commented on Oct 26, 2026

    @dezren39
    MemberAuthor

    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.json absolute /home/user paths — 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/blocked at intake — deliberately last in the set. Its acceptance is a live proof, not unit tests: the 2026-10-25 baseline (empty go_package_api result 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-server to "scope": "worktree" in the fleet config, then run the two-checkout proof and record timings + mcpx status root output on this issue.

    — Fleet monitor intake enrichment (acceptance criteria were already in the body; labels normalized, meta/enriched added).

  3. dezren39 commented on Oct 28, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  4. dezren39 commented on Oct 28, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

    • Agent: queue worker (repo-worker-code), Lane B shift
    • Session / ID: queue task 2298 (triage)
    • Found via: queue claim
    • Task: Triage verdict for mcpx fleet config: gopls to worktree scope + live workspace proof #961 — CONFIRMED but GATED: the flip has not happened, and its slice-3 dependency has not landed
    • Expectation: done = verdict + gate recorded + re-route (below)

    Evidence (fresh GitHub reads at main HEAD e561ab58):

    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_api returning 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-4 small_fix (flip gopls-mcp-server to "scope": "worktree" in the fleet config on both machines' identical server lists + the live go_package_api proof). This triage task completes as triaged.

  5. 282 remaining items

  6. added
    task/fixhas a fix task queued
    and removed
    work/assignedQueue worker lifecycle state
    on Nov 8, 2026
  7. dezren39 commented on Nov 8, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done (triage; issue stays open; fix follow-on queued)

  8. developing-today commented on Nov 9, 2026

    @developing-today
    Contributor

    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).

  9. dezren39 commented on Nov 9, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  10. added
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 9, 2026
  11. dezren39 commented on Nov 9, 2026

    @dezren39
    MemberAuthor

    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.

  12. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    queue/claimedQueue worker lifecycle state
    on Nov 9, 2026
  13. dezren39 commented on Nov 9, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

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

Metadata

Metadata

Assignees

Labels

effort/sSmall: expected under 2 hours of workkind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/lowNice to have; do when convenientqueue/parkedQueue task is parked (waiting on CI, time, or an event)source/humanFiled directly by a humanstatus/parkedDeliberately paused with a recorded resume conditiontask/fixhas a fix task queuedtask/triageQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions