Skip to content

mcpx: elicitation edges — enum downgrade for 2025-06-18, url mode upstream, -32042, and a script-side answer hook #1935

Closed

Description

@dezren39

Relocated from dezren39/darwin-nix#214 on 2026-10-28 (placement audit): mcpx's single source lives in developing-today/code (pkgs/mcpx); re-home tracked at #309. Original body below; issue references inside it are historical (dezren39/nix numbering).

Parent: #181

Summary

The 2025-11-25 enum shapes (titled, untitled, multi-select) reach 2025-06-18 hosts unconverted. mcpx relays and answers url-mode elicitation from upstreams without declaring elicitation.url to them. -32042 (URL elicitation required, 2025-11-25 only) is neither produced nor handled. A script has no way to answer a question raised by a call it made; it goes to the broker and policy.

Found while writing the comparison register (pkgs/mcpx/docs/compare/) and checked against the code at 05c78b2. Each row below links its register entry, which carries the value, effort, risk, the specification text and every source.

Register rows

row difference mcpx @ 05c78b2 effort
ELI-04 Enum schemas: enumNames → titled/untitled single and multi-select partial — rich enums reach 2025-06-18 hosts undowngraded M
ELI-09 URL-mode elicitation partial — relayed; broker accepts url without declaring it S
ELI-12 -32042 URLElicitationRequiredError added, then removed ✗ — neither emitted nor handled from upstreams M
ELI-21 Answering an elicitation from inside a script ✗ — no onElicit; broker and policy only M

What to do

Downgrade enum schemas for 2025-06-18; declare url upstream now that it is handled; handle -32042 from 2025-11-25 upstreams by running the URL flow and retrying; an onElicit hook for scripts (overlaps the inline-answer item in #77).

Ease · Impact · Related

Ease M · Impact low · Related: #77

Acceptance criteria

  • 2025-11-25 enum shapes (titled, untitled, multi-select) are downgraded for 2025-06-18 hosts instead of reaching them unconverted (ELI-04).
  • When mcpx relays or answers URL-mode elicitation from an upstream, it declares elicitation.url to that upstream (ELI-09).
  • -32042 (URL elicitation required) is produced and handled per the 2025-11-25 spec (ELI-12).
  • A script can answer an elicitation raised by a call it made (script-side answer hook), or the broker-only path is documented as the deliberate design.
  • Conformance tests cover each row.

Activity

  1. developing-today commented on Oct 28, 2026

    @developing-today
    Contributor
  2. dezren39 commented on Oct 28, 2026

    @dezren39
    MemberAuthor

    History carried over from dezren39/darwin-nix#214 (verbatim, oldest first):


    @dezren39 · 2026-10-28T04:30:58Z

    🤖 Intake review — fleet monitor, 2026-10-27 run

    • Related: parent tracker Phase 3: sync, blob gate, and relays #181; register rows ELI-04/ELI-09/ELI-12 in pkgs/mcpx/docs/compare/register/elicitation.md; the conformance-matrix issue test(mcpx): execid tests use testsupport.TempDir (fixes macOS failures, #282) #283 also cross-references this area.
    • Evidence caveat: the register evidence was verified against mcpx at 05c78b2 (2026-09-30). Re-verify each row against current main before fixing — a row may have moved since.
    • Still live: checked this run — no merged PR references this issue (cross-references are the register/tracker issues themselves).
    • Risks: protocol-version edge behavior — tests must pin behavior per negotiated revision (2025-06-18 vs 2025-11-25), not just current behavior.
    • Suggested approach: the enum downgrade is self-contained; do it first.
  3. added
    enhancementNew feature or request
    kind/bugSomething isn't working (prefixed form of the classic bug label)
    source/humanFiled directly by a human
    priority/normalOrdinary priority (the default)
    effort/mMedium: expected under 1 day of work
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    app/mcpxPackage/app: mcpx (pkgs/ or apps/ in this repo)
    queue/queuedHas a queued task in the Supabase agent queue
    on Oct 28, 2026
  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Oct 29, 2026
  5. 27 remaining items

  6. 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 3, 2026
  7. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

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

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

    Codex disposition: the Codex code review on PR #5054 failed to run (Codex usage limits, per the bot's own summary comment at 2026-11-03T17:52Z) — it produced no findings: zero review comments, zero inline comments. There is no undispositioned Codex finding on this PR; the failed review is an infra limit, not a finding.

  10. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

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/mMedium: expected under 1 day of workenhancementNew feature or requestkind/bugSomething isn't working (prefixed form of the classic bug label)meta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)source/humanFiled directly by a humantask/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