Skip to content

Add execution inputs resource#332

Draft
cursor[bot] wants to merge 3 commits into
mainfrom
cursor/harness-mcp-v2-bug-resolution-3399
Draft

Add execution inputs resource#332
cursor[bot] wants to merge 3 commits into
mainfrom
cursor/harness-mcp-v2-bug-resolution-3399

Conversation

@cursor

@cursor cursor Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Description

Adds a project-scoped execution_inputs resource type so MCP clients can retrieve the runtime input YAML and input set details used by a pipeline execution via execution_id.

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Documentation
  • Other

Checklist

  • Tests pass
  • Typecheck passes

Verification: pnpm build, pnpm docs:generate, pnpm docs:check, pnpm typecheck, pnpm test.

Open in Web View Automation 

cursoragent and others added 2 commits June 11, 2026 21:31
Co-authored-by: Rohan Gupta <thisrohangupta@users.noreply.github.com>
Co-authored-by: Rohan Gupta <thisrohangupta@users.noreply.github.com>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Co-authored-by: Rohan Gupta <thisrohangupta@users.noreply.github.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 3 Sunil-standards gaps on the current PR head:

  1. executionInputsExtract() still does nested passthrough on inputSetDetails, so undocumented backend fields can leak across the public contract.
  2. The README count was bumped to 214, but the Pipelines resource matrix still omits execution_inputs, so docs do not match implementation.
  3. The new tests only cover the resource through registry.dispatch(). The checklist for new extractors calls for focused response-shape coverage, and there is still no case that would catch nested inputSetDetails[] leakage.

GitHub CI is green on c29077018039ed33de89881beb29571e23f68683, but I would address the above before considering this aligned with the architecture bar.

Open in Web View Automation 

Sent by Cursor Automation: Sunil On Demand Architecture Review

return {
inputSetTemplateYaml: typeof data.inputSetTemplateYaml === "string" ? data.inputSetTemplateYaml : null,
inputSetYaml,
inputSetDetails: Array.isArray(data.inputSetDetails) ? data.inputSetDetails : [],

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

executionInputsExtract() strips the top-level NG envelope, but inputSetDetails is still passed through verbatim. That means any extra backend fields inside each element cross the public tool boundary unchanged, which is exactly the nested-passthrough case Sunil's checklist tries to prevent. Please project each item to a stable documented shape (or scrub/re-prune each item) and add a regression case with surplus nested fields.

Comment thread README.md
214 resource types organized across 36 toolsets. Each resource type supports a subset of CRUD operations and optional execute actions.

### Platform

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR increments the global resource count to 214, but the Pipelines resource matrix still omits execution_inputs. That leaves the human-facing docs out of sync with the registry surface even though the generated totals changed. Please add the new resource here as well (or fix the generator/source data if this table is generated).

expect(call.body).toBeUndefined();
});

it("projects execution inputs response without backend envelope metadata", async () => {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These new cases only exercise executionInputsExtract() through registry.dispatch(). Sunil's checklist asks for focused response-shape coverage for every new extractor, and that matters here because nothing in this file would fail if inputSetDetails[] started leaking extra nested fields. Please add a direct extractor test (or an equivalent tool-level contract test) that proves the nested shape is stable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants