Skip to content

mcpx: generalised live add + generated declarations for bare binaries (split of #1875) #2118

Open

Description

@dezren39

Split of #1875 by triage task 2769 (verdict on #1875, 2026-10-29). Slices 4+5 of the parent, plus one verification:

  1. Generalised live add. /v1 has servers_add/servers_remove only (internal/api/ops_settings.go at 42796be). Add POST/DELETE equivalents for adapters, API specs and recipes with the same persist-to-config + reload semantics as /v1/servers, with CLI parity.
  2. Generated declarations for bare binaries. One-shot generation into an editable declaration file recording the binary name + version it was written against (runtime --help parsing is rejected in the parent — generation is one-shot, human-edited after). mcpx adapter check validates the result.
  3. Verify OpenAPI's place on the tool-source interface: adapters became first-class via mcpx adapter serve; confirm OpenAPI-produced tools ride the same namespace path, or bring them onto it, and record the finding on mcpx: anything as an MCP server -- scripts, bare binaries, recipes, plugins, as first-class namespaces #1875.

Acceptance: a live-added adapter/spec/recipe is callable immediately and persists across restart; a generated declaration for a fixture binary serves and records its version; pkgs/mcpx go test ./... green in CI. Parent: #1875. Tracker: #1885.

Acceptance criteria

  • A live-added adapter, API spec, or recipe (POST/DELETE /v1 equivalents with persist-to-config + reload semantics, CLI parity) is callable immediately and persists across restart.
  • A generated declaration for a fixture binary serves via the adapter path, records the binary name + version it was written against, and validates with mcpx adapter check.
  • OpenAPI's place on the tool-source interface is verified and the finding recorded on mcpx: anything as an MCP server -- scripts, bare binaries, recipes, plugins, as first-class namespaces #1875.
  • pkgs/mcpx go test ./... is green in CI.

Activity

  1. developing-today commented on Oct 29, 2026

    @developing-today
    Contributor
  2. added
    source/queue-workerFiled or worked by the queue/worker pilot
    priority/normalOrdinary priority (the default)
    effort/lLarge: multi-day or open-ended; expect staged check-ins
    app/mcpxPackage/app: mcpx (pkgs/ or apps/ in this repo)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 29, 2026
  3. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    Intake review

    🤖 Fleet monitor intake enrichment, 2026-10-29. Acceptance criteria appended to the body (original preserved verbatim above it); labels normalized.

  4. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    Overlap notice (from triage of #1962, task 2862): slice 2 of this issue — "generated declarations for bare binaries: one-shot generation into an editable declaration file recording the binary name + version; mcpx adapter check validates" — overlaps the core of #1962 (mcpx adapter import: a declaration generated deterministically from completions/man/--help, with provenance incl. the binary's version, and check doing the version-drift comparison). #1962 is the older, fully-designed issue (relocated from dezren39/darwin-nix#295; source ladder, provenance fields, and the check comparison are specified there).

    Recommended split of ownership, recorded on #1962's triage verdict: #1962 is canonical for declaration generation (its ship steps 2–5: --help source, provenance + check version comparison, completion parser/extraction, man); this issue keeps slice 1 (generalised live add) and slice 3 (OpenAPI verification), and slice 2 should be satisfied by #1962's generation work rather than a second generator. #1962's own step 1 (--bare passthrough) does not overlap this issue and is already enqueued separately (task 3260).

  5. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    Correction (queue worker, lane C, task 2862): the --bare follow-up for #1962 was enqueued as queue task 3258, not 3260 as stated in my cross-link above. Everything else in that note stands.

  6. added
    queue/claimedQueue worker lifecycle state
    and removed on Oct 30, 2026
  7. 291 remaining items

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

    @dezren39
    MemberAuthor

    agent-note:v1
    state: handed_off

    Lane code-c claimed task 6260 (small_fix, attempt 19/24) and assigned it to the opencode execution lane per repo-queue lane assignment. Checkpointed handed_off — the opencode claimant launches the bound session to drive task 6260 to a terminal state; this lane does not work it directly.

    Fresh verification: issue #2118 OPEN, no hard-stop labels; PR #4637 OPEN, non-draft, author dezren39 (Drew-owned), head queue/6260-2118-apis-live-add — the canonical PR for this task per the prior checkpoint verdict; do not create competing work. Stale parked labels synced to queue/claimed + status/in-progress. CAP NOTE: attempt 19/24.

  10. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    Lane M claimed task 6260 for #2118; execution-lane assignment returned opencode, so this task is handed off to the laptop claimant (opencode-claimant), which launches the bound session. Attempts 24/24 — AT CAP; if the claimant does not bind before lease expiry, a cap raise will be needed (fleet-monitor repair pattern) before any lane can claim it again.

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

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor
    • Session / ID: task 6260 (repo-fleet-monitor run 2026-11-05T15:32:18Z)
    • Found via: monitor reconciliation (Duty 1 claim/label divergence repair)
    • Task: Claim evaporated: task 6260 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 6260 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)effort/lLarge: multi-day or open-ended; expect staged check-inskind/enhancementmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)queue/queuedHas a queued task in the Supabase agent queuesource/queue-workerFiled or worked by the queue/worker pilotstatus/needs-triageNot yet triaged; needs a first looktask/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