Skip to content

mcpx: one script-resolution rule for CLI and daemon — /v1/exec resolves names (split of #1919) #2168

Open

Description

@dezren39

Split of #1919 (Approach C, part 4) by triage task 2814 on 2026-10-29. Full analysis lives on #1919; this issue tracks only the shared-resolution slice.

Scope

One script-resolution rule for every surface: move resolveScript out of internal/cli into a package internal/execsvc can call; the daemon resolves /v1/exec's file the same way the CLI does — search path, null splice, extension list, and the same error naming every directory searched. CLI resolve-locally-send-text stays the default for --remote; a --remote-file / file: form asks the daemon to resolve. Exec flags on daemon-resolved runs are carried on the wire or explicitly refused (the --export precedent); --export becomes possible when the daemon resolved the file.

Out of scope: shebang dispatch / script.interpreter / script.cwd (#1919 parts 1–3 — the sibling split issue).

Acceptance criteria

Activity

  1. added
    enhancementNew feature or request
    priority/normalOrdinary priority (the default)
    queue/queuedHas a queued task in the Supabase agent queue
    app/mcpxPackage/app: mcpx (pkgs/ or apps/ in this repo)
    on Oct 29, 2026
  2. developing-today commented on Oct 29, 2026

    @developing-today
    Contributor
  3. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Oct 30, 2026
  4. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  5. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    paths.scripts scope question (from #1919) — answered: one shared setting, no daemon-specific variant.

    The daemon resolves paths.scripts from the same configuration file and environment it was started with (internal/daemon execFileResolver → internal/scriptresolve.Resolver{Configured: paths.scripts}), exactly as the CLI does. A daemon-specific list would make the same script name resolve differently depending on who was asked — the divergence this issue exists to remove. Implementation in progress on branch queue/3202-2168-script-resolution (queue task 3202).

  6. 46 remaining items

  7. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  8. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  9. 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 4, 2026
  10. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  11. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  12. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    Agent note — task 7863 handed off to opencode execution lane

  13. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    {"kind":"handoff","task":7863,"lane":"code-v","execution_lane":"opencode","state":"parked","note":"task 7863 (triage) handed off to opencode claimant by lane code-v. Fresh revalidation: issue #2168 OPEN; canonical PR #2586 OPEN at 8501d1a, authored by Drew (dezren39), covering the full #2168 scope — ownership hard stop, PR untouched, no competing triage work. Warning: task 7863 attempts at cap 24/24 — if the claimant misses, the monitor needs to raise the cap. Resume on PR #2586 merge/close."}

  14. added
    queue/queuedHas a queued task in the Supabase agent queue
    and removed
    work/assignedQueue worker lifecycle state
    on Nov 5, 2026
  15. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor
    • Session / ID: task 7863 (repo-fleet-monitor run 2026-11-05T15:45:48Z)
    • Found via: monitor reconciliation (Duty 1 claim/label divergence repair)
    • Task: Claim evaporated: task 7863 is queued and unclaimed in repo-health-code-pilot, but this issue still carried claimed labels. Labels reset to the truth (queue/queued + status/needs-triage). Checkpoint stage at evaporation: handed_off.
    • Expectation: The next lane claim picks task 7863 up from the queued state and posts a fresh pickup note.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/mcpxPackage/app: mcpx (pkgs/ or apps/ in this repo)enhancementNew feature or requestpriority/normalOrdinary priority (the default)queue/parkedQueue task is parked (waiting on CI, time, or an event)queue/queuedHas a queued task in the Supabase agent queuesource/creatorFiled by the new-issue-creator jobstatus/needs-triageNot yet triaged; needs a first lookstatus/parkedDeliberately paused with a recorded resume conditiontask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions