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. 296 remaining items

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

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

  10. 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
  11. 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.
  12. dezren39 commented on Nov 8, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  13. added
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 8, 2026
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/claimedQueue worker lifecycle statesource/queue-workerFiled or worked by the queue/worker pilotstatus/in-progressQueue worker lifecycle statetask/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