Skip to content

Tracking: work deferred from #388 (requestState rework) #390

Description

@kingpanther13

Follow-ups and deferred design work left open when #388 merged, so none of it gets lost. Items are grouped by who has the ball.

Deferred design work (from the #388 review, agreed as follow-ups)

  • Worker-side slice budget / checkpointing. Detached workers (hub_set_rule, hub_set_native_app) run with no internal budget: the checkpoint/aggregation arms and _mrtrMaxContinuationSlices are unreachable for exactly the tools they were built for, and an extreme wizard drive runs until the platform kills it. Direction: give workers an internal slice budget (~2 min) that re-engages the existing checkpoint machinery.
  • Client round-limit ceiling. Contention legs hold ~4.5s, so a worker running past ~45s needs more input_required rounds than the official SDK's default input_required_max_rounds of 10 — and rec.rounds only increments on a path detached tools never reach, so the server-side slice cap cannot hold the client limit it cites. Needs a design decision: document the ceiling, count rounds correctly, and/or surface a hint in the continuation envelope.

outputSchema removal

level99's follow-up list (he offered PRs; recorded here in case they don't materialize)

  • maxConcurrentWrites accepts a Long but _maxConcurrentWrites() does as Integer — a large value truncates and can silently disable the cap. Clamp/validate.
  • MRTR_WORK_ITEMS has no sweep or cap, and _mrtrAbandon removes claimId before snapshotting cleanup, leaking a full args copy.
  • _mrtrRecoverTerminalEvidenceLocked cannot fire in production (cold-cache/warm-evidence split only producible via a test-only seam).
  • hub_call_rule's terminal aggregate double-counts retried failedRuleIds and is the only branch discarding aggregate.anyPartial.
  • toolCheckRuleHealth guesses on a bare (Paused) suffix, contradicting the stopped comment above it.
  • The new filter arg is missing from gateway summaries and searchHints, so it's undiscoverable in flat-catalog-constrained mode.
  • ~280 lines of appCloner wizard logic live in the main file duplicated with mcp-app-cloner-lib.groovy, split by protocol era; the main copy dropped the "first click is silently swallowed" comment.

Open optimization

  • E2e job time is ~70 min against the 60-min goal. The suite itself is ~56 min (from ~69); the remaining budget is fixed overhead: PR install ~5.9 min (load-bearing — proves the head landed), pre-run probe ~1.8, fixture cleanup ~3.4, restore ~1.1, conformance ~2.2. Further cuts need the install path or deeper suite work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions