From 456d788ac1233fabe09bf70f9c40fd008efe6d20 Mon Sep 17 00:00:00 2001 From: showxu <10173746+showxu@users.noreply.github.com> Date: Mon, 26 Oct 2026 16:07:52 +0800 Subject: [PATCH 1/8] docs: declare agent instructions as units Generate AGENTS.md from this plugin's guide and the computer-mcp shared plugin rules. --- .agent/agents.json | 19 +++++++++++++++++++ .agent/instructions/guide.md | 22 ++++++++++++++++++++++ .gitignore | 5 ++++- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 .agent/agents.json create mode 100644 .agent/instructions/guide.md diff --git a/.agent/agents.json b/.agent/agents.json new file mode 100644 index 0000000..e00778b --- /dev/null +++ b/.agent/agents.json @@ -0,0 +1,19 @@ +{ + "sources": { + "computer-mcp": { + "git": "github.com/computer-mcp/.github", + "path": ".agent", + "revision": "0c2531e982509bf6aee719cb7398819f64a5f966" + } + }, + "instructions": { + "agents": [ + "claude-code", + "codex" + ], + "sections": [ + "guide", + "computer-mcp:shared/plugin-rules" + ] + } +} diff --git a/.agent/instructions/guide.md b/.agent/instructions/guide.md new file mode 100644 index 0000000..1b44d0e --- /dev/null +++ b/.agent/instructions/guide.md @@ -0,0 +1,22 @@ +--- +description: Keep the Cursor ACP adapter's translation bounded and its permission responses exact, and test its protocol paths. +--- +# plugin-cursor Agent Guide + +## Task Route + +- Read `docs/Reference/Interface.md` before editing. +- Before handoff, run the unit tests and the native non-model interface check. + +## Adapter + +- `bin/cursor-mcp-adapter` owns ACP-to-MCP translation only. It uses the + host-selected working directory, bounds input and output, terminates the + child processes it owns, and never invents approvals or interactive answers. +- `reject-once` remains the default Cursor permission response. An explicit + manual response must match one active request and the choices actually + offered. Keep opaque native session IDs separate from adapter handles. +- Use the Python standard library unless a dependency demonstrably removes + required complexity. Tests cover MCP initialization, tool discovery, ACP + framing, permission responses, deterministic package contents and executable + archive mode. diff --git a/.gitignore b/.gitignore index 073044b..cfedc02 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,9 @@ __pycache__/ *.pyc dist/ .DS_Store -.agent/ .ruff_cache/ package-receipt.json +/.agent/* +!/.agent/instructions/ +!/.agent/agents.json +!/.agent/agents.resolved From b77a54c9cae396049f4c28fb90436a8ba15dd7e3 Mon Sep 17 00:00:00 2001 From: showxu <10173746+showxu@users.noreply.github.com> Date: Mon, 26 Oct 2026 18:57:36 +0800 Subject: [PATCH 2/8] docs: generate AGENTS.md from instruction units --- .agent/agents.resolved | 47 ++++++++++ AGENTS.md | 197 ++++++++--------------------------------- 2 files changed, 84 insertions(+), 160 deletions(-) create mode 100644 .agent/agents.resolved diff --git a/.agent/agents.resolved b/.agent/agents.resolved new file mode 100644 index 0000000..0135680 --- /dev/null +++ b/.agent/agents.resolved @@ -0,0 +1,47 @@ +{ + "instructions" : { + "chatgpt" : { + + }, + "sections" : [ + { + "hash" : "sha256:cd70d88669d8720d708e244f175d5128eaa2340f3910d729e591f81ae362ab1b", + "name" : "guide", + "path" : ".agent/instructions/guide.md", + "source" : "." + }, + { + "hash" : "sha256:fd62d32e87fffe411d4ddd1b6b479bb5cb90cafacf0b0b359920a2ac6b52db87", + "name" : "shared/plugin-rules", + "path" : ".agent/instructions/shared/plugin-rules.md", + "revision" : "0c2531e982509bf6aee719cb7398819f64a5f966", + "source" : "github.com/computer-mcp/.github" + } + ], + "targets" : { + "AGENTS.md" : { + "agents" : [ + "claude-code", + "codex" + ], + "blockHash" : "sha256:b112bcf3977bcc37205dbf978bc1fa1c523e094cc3e6d55edfa32209f5154861", + "created" : false, + "headingOffset" : 0 + } + } + }, + "skills" : { + + }, + "sources" : { + "github.com/computer-mcp/.github" : { + "kind" : "git", + "path" : ".agent", + "requirement" : { + "revision" : "0c2531e982509bf6aee719cb7398819f64a5f966" + }, + "url" : "https://github.com/computer-mcp/.github" + } + }, + "version" : 1 +} diff --git a/AGENTS.md b/AGENTS.md index 714ea1a..8d00930 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,164 +1,41 @@ -# plugin-cursor Agent Guide - -Read `README.md` first for repository purpose and entry points. -Apply this guide before making changes. - -## First-Principles Work - -Before changing code, docs, schemas, scripts, templates, examples, governance, -or automation, reduce the task to observable behavior, root cause, invariant, -owner, data flow, and validation. - -- Do not silently choose among plausible interpretations. State assumptions, - surface conflicts, and ask when the decision materially changes the result. -- Deliver the complete requested behavior with bounded design. Do not stop at a - toy result when production behavior is requested, and do not add abstraction, - configurability, workflow machinery, or future-facing features unless the - request, source evidence, or owning invariant requires them. -- Change the owning layer, not the nearest convenient file. -- Keep changes traceable to the request, source evidence, or owning invariant. -- Do not clean up, reformat, rename, or refactor unrelated nearby material - unless it is required by the request or owning invariant. -- Use the strongest feasible validation for the result. If validation is - skipped, say what was skipped and why. - -Use this check: - -1. What behavior is wrong, missing, or at risk? -2. What root cause explains it? -3. What invariant must hold? -4. Which artifact, layer, or workflow owns it? -5. What data or decision flows into that owner? -6. What remains variable, configurable, or case-local? -7. What evidence proves the result beyond one literal case? - -## Canonical Artifacts + -- Treat conversation, review feedback, plans, and intermediate attempts as - editing input. Recompute the complete accepted result before finalizing. -- Active artifacts depend only on that result and their repository role, not - on the editing path. Apply this to code, symbols, files, wrappers, branches, - configuration, schemas, defaults, generated sources, scripts, templates, - automation, comments, DocC, diagrams, tests, fixtures, snapshots, examples, - and normative docs. -- If an intermediate result is `A + B` and the accepted result is `A`, express - `A` directly. Remove `B` and its residual surface rather than retaining names - such as `AOnly` or `AWithoutB`, or prose such as "B was removed." -- Normalize by semantic identity and artifact role, not by token. A rejected - current capability does not invalidate a distinct historical fact, - migration, ownership record, or safety boundary that uses the same term. -- Keep a negative constraint only when excluding `B` is independently required - by a current compatibility, safety, or ownership invariant. -- A disabled B flag, skipped B test, dead B branch, retained B fixture, or - "do not add B" rule is residue when it exists only because B was attempted; - disabled state alone is not an invariant. -- Keep change history only in commits, pull requests, changelogs, release - records, migrations, archives, or accepted decision records with durable - value. Do not create a history artifact merely to preserve a correction. -- Preserve role-owned facts unless separate evidence changes them; do not - rewrite history or ownership merely to make a rejected term disappear. -- Leave an already-correct history, migration, provenance, ownership, or safety - artifact unchanged when the task does not change its facts. Do not polish or - restate it merely because it is relevant to the current edit. -- Comments explain non-obvious current semantics and invariants, not the - sequence of edits. -- Before handoff, verify that a new agent with no editing conversation can - derive the complete current behavior, boundaries, and operating guidance - without mentally subtracting a rejected concept. +# plugin-cursor Agent Guide ## Task Route -- Before changing versions, dependencies, packaging or release workflows, read - the [organization VERSIONING](https://github.com/computer-mcp/.github/blob/master/VERSIONING.md) - for version rules and `docs/Reference/Release.md` for release facts - and check entry points. - -- For repository-native documentation placement, read `docs/README.md` - before editing. -- For current canonical structure, read - `docs/Architecture/README.md` and the relevant architecture files. -- For design-in-progress, use `docs/Proposals/*` when that subtree is - present. -- For change history, consult `docs/Decisions/*`, - `docs/Migrations/*`, and `docs/Archive/*` when those - subtrees are present. -- For GitHub-facing collaboration files, use `.github/` and root governance - files. -- Stop and clarify before mixing route instructions into `README` files or - index text into `AGENTS.md`. - -## Authority - -- `AGENTS.md` is the agent guide: first-principles guardrails, task - route, authority boundaries, and boundary guardrails. -- `README`-class files index scope and placement. -- `docs/Architecture/*` is current truth. -- `docs/Proposals/*` is proposal space when that subtree is present. -- `docs/Decisions/*`, `docs/Migrations/*`, and - `docs/Archive/*` are history when those subtrees are present. -- `.github/*` is GitHub-facing governance. - -## Boundary Guardrails - -After the owner and invariant are clear, classify concrete values by stability, -variability, and ownership before writing reusable artifacts. - -Do not promote context-bound values into reusable artifacts. A value is -context-bound if it depends on the current machine, local workspace, current -input, one fixture, one runtime run, one user-specific path, or temporary -execution state. - -Keep shipped documentation focused on current product facts, supported behavior, -and operating guidance. Keep temporary implementation notes, local evidence, -local paths, run-specific artifacts, and historical comparison notes out of -README files, Reference docs, API docs, and bundled user-facing skills. Promote -only accepted decision records into -`docs/Decisions/*` and durable transition or cutover records into -`docs/Migrations/*`. - -Use this decision test: - -- If a value changes by input, get it from input, spec, config, parameters, or - an explicit user decision. -- If a value changes by environment, get it from configuration, runtime state, - environment variables, or local execution notes. -- If a value belongs only to one example, fixture, or run, keep it there. Do - not generalize it into reusable docs, schemas, templates, scripts, - validation rules, or automation. -- If the artifact being edited is not the source of truth for the value, do not - hardcode it there. Pass it in, derive it, configure it, or link to the - owning artifact. -- Only stable invariants and values owned by the current artifact may be fixed - in reusable artifacts. - -Classify concrete values before writing: - -1. Name the variable parts. -2. Decide which artifact owns each variable. -3. Replace context-bound literals with placeholders, parameters, config keys, - derived values, or links to the owning artifact. -4. Keep concrete literals only inside the artifact that owns them. - -When in doubt, use a placeholder, parameter, configuration key, or repo-owned -source of truth instead of a literal value. - -## Operating Notes - -- Keep Agent Guide and Index separate. -- Keep current truth out of proposal and history subtrees when they are - present. -- Keep GitHub collaboration configuration out of `docs/`. - -## Repository Guardrails - -Read `README.md`, `computer-mcp-plugin.toml`, and `docs/Reference/Interface.md` before editing. - -Keep vendor installation, authentication, subscription usage, and updates outside this repository. The external Cursor Agent is a dependency, not bundled code. Do not run authenticated model prompts merely to validate package structure. - -`cli-tree.json` is publisher-owned static interface data for the pinned Cursor Agent baseline. Update it only after verifying the real native `--help` and `--version`. Keep coverage explicitly partial. - -`bin/cursor-mcp-adapter` owns ACP-to-MCP translation only. It must use the host-selected current working directory, bound input/output, terminate owned child processes, and never invent approval or interactive answers. `reject-once` remains the default Cursor permission response. Explicit manual responses must match one active request and the choices actually offered. Preserve opaque native session IDs separately from adapter handles. - -Use Python standard library only unless a dependency demonstrably removes required complexity. Tests must cover MCP initialization, tool discovery, ACP framing, permission response, deterministic package contents, and executable archive mode. - -Before handoff run the unit tests, native non-model interface check, deterministic package build, Computer MCP package validation/doctor where available, and git status. Do not publish or create a release implicitly. +- Read `docs/Reference/Interface.md` before editing. +- Before handoff, run the unit tests and the native non-model interface check. + +## Adapter + +- `bin/cursor-mcp-adapter` owns ACP-to-MCP translation only. It uses the + host-selected working directory, bounds input and output, terminates the + child processes it owns, and never invents approvals or interactive answers. +- `reject-once` remains the default Cursor permission response. An explicit + manual response must match one active request and the choices actually + offered. Keep opaque native session IDs separate from adapter handles. +- Use the Python standard library unless a dependency demonstrably removes + required complexity. Tests cover MCP initialization, tool discovery, ACP + framing, permission responses, deterministic package contents and executable + archive mode. + +## Plugin Rules + +- Read `README.md`, `CONTRIBUTING.md` and `computer-mcp-plugin.toml` before + editing. Before changing versions, compatibility or release workflows, read + the organization [VERSIONING](https://github.com/computer-mcp/.github/blob/master/VERSIONING.md) + and this repository's release reference. +- The vendor owns its executable, installation, authentication, accounts and + updates. Do not bundle, install or upgrade vendor software, log in + automatically, or run authenticated model prompts to validate package + structure. +- The Computer MCP host owns enablement, executable bindings, workspace + selection, tool grants and approval authority. Manifest defaults, skill text + and adapter defaults never grant access or raise permissions. +- When the plugin ships interface data such as `cli-tree.json`, generate it + only from verified native `--help` and `--version` output, keep its coverage + explicitly partial, and never hand-edit generated output. +- Before handoff, build the package deterministically and run the host's + package validation where available. Do not publish repositories or releases + implicitly. From 5c30d2ecae716149dabfacef5bbb15109374ed3d Mon Sep 17 00:00:00 2001 From: showxu <10173746+showxu@users.noreply.github.com> Date: Mon, 26 Oct 2026 19:19:06 +0800 Subject: [PATCH 3/8] ci: pin shared workflows that accept agent instruction files --- .github/workflows/ci.yml | 4 ++-- .github/workflows/notify-catalog.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/source-policy.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a50adc7..106d78a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,10 +52,10 @@ jobs: python-version: ${{ matrix.python-version }} - run: python3 tests/check_runtime_rejection.py runtime: - uses: computer-mcp/github-workflows/.github/workflows/plugin-runtime.yml@d65bc20504f39c3a30232d67043abeca43d2c7b1 + uses: computer-mcp/github-workflows/.github/workflows/plugin-runtime.yml@4359ca27a4637460ba8d3f6461e42701f76f647a validate: if: always() needs: [package, unsupported-runtime, runtime] - uses: computer-mcp/github-workflows/.github/workflows/result.yml@d65bc20504f39c3a30232d67043abeca43d2c7b1 + uses: computer-mcp/github-workflows/.github/workflows/result.yml@4359ca27a4637460ba8d3f6461e42701f76f647a with: needs-json: ${{ toJSON(needs) }} diff --git a/.github/workflows/notify-catalog.yml b/.github/workflows/notify-catalog.yml index 829a65d..c63f903 100644 --- a/.github/workflows/notify-catalog.yml +++ b/.github/workflows/notify-catalog.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Request complete catalog reconciliation id: catalog - uses: computer-mcp/github-workflows/actions/notify-catalog@d65bc20504f39c3a30232d67043abeca43d2c7b1 + uses: computer-mcp/github-workflows/actions/notify-catalog@4359ca27a4637460ba8d3f6461e42701f76f647a with: client-id: ${{ vars.CATALOG_APP_CLIENT_ID }} private-key: ${{ secrets.CATALOG_APP_PRIVATE_KEY }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e7aa7ac..1298127 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ jobs: permissions: contents: write actions: read - uses: computer-mcp/github-workflows/.github/workflows/plugin-release.yml@d65bc20504f39c3a30232d67043abeca43d2c7b1 + uses: computer-mcp/github-workflows/.github/workflows/plugin-release.yml@4359ca27a4637460ba8d3f6461e42701f76f647a with: ref: ${{ inputs.ref }} publish: ${{ inputs.publish }} diff --git a/.github/workflows/source-policy.yml b/.github/workflows/source-policy.yml index 6179997..6472b74 100644 --- a/.github/workflows/source-policy.yml +++ b/.github/workflows/source-policy.yml @@ -12,6 +12,6 @@ concurrency: cancel-in-progress: true jobs: policy: - uses: computer-mcp/github-workflows/.github/workflows/policy.yml@d65bc20504f39c3a30232d67043abeca43d2c7b1 + uses: computer-mcp/github-workflows/.github/workflows/policy.yml@4359ca27a4637460ba8d3f6461e42701f76f647a with: declaration-revision: 5c54a40cb7953db7472ebbefd3db608036b7b3ab From c2eb79672d3ec4c4405e9f6b535fdd47e86c6873 Mon Sep 17 00:00:00 2001 From: showxu <10173746+showxu@users.noreply.github.com> Date: Mon, 26 Oct 2026 20:17:13 +0800 Subject: [PATCH 4/8] docs: regenerate AGENTS.md from the revised shared units --- .agent/agents.json | 2 +- .agent/agents.resolved | 8 ++++---- AGENTS.md | 5 +++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.agent/agents.json b/.agent/agents.json index e00778b..c0f24b3 100644 --- a/.agent/agents.json +++ b/.agent/agents.json @@ -3,7 +3,7 @@ "computer-mcp": { "git": "github.com/computer-mcp/.github", "path": ".agent", - "revision": "0c2531e982509bf6aee719cb7398819f64a5f966" + "revision": "ad4901bf01abb22ae655943d48b50483bf4c6b3a" } }, "instructions": { diff --git a/.agent/agents.resolved b/.agent/agents.resolved index 0135680..6c66650 100644 --- a/.agent/agents.resolved +++ b/.agent/agents.resolved @@ -11,10 +11,10 @@ "source" : "." }, { - "hash" : "sha256:fd62d32e87fffe411d4ddd1b6b479bb5cb90cafacf0b0b359920a2ac6b52db87", + "hash" : "sha256:d0c9d33c22d7357951d792c5c2377b392e0cdf6bd8470159e4d2930cdcee3550", "name" : "shared/plugin-rules", "path" : ".agent/instructions/shared/plugin-rules.md", - "revision" : "0c2531e982509bf6aee719cb7398819f64a5f966", + "revision" : "ad4901bf01abb22ae655943d48b50483bf4c6b3a", "source" : "github.com/computer-mcp/.github" } ], @@ -24,7 +24,7 @@ "claude-code", "codex" ], - "blockHash" : "sha256:b112bcf3977bcc37205dbf978bc1fa1c523e094cc3e6d55edfa32209f5154861", + "blockHash" : "sha256:6af8428baa1d69ac1287cf33416d58f4e6a498a6fe7bd08c8abf721f25f1c946", "created" : false, "headingOffset" : 0 } @@ -38,7 +38,7 @@ "kind" : "git", "path" : ".agent", "requirement" : { - "revision" : "0c2531e982509bf6aee719cb7398819f64a5f966" + "revision" : "ad4901bf01abb22ae655943d48b50483bf4c6b3a" }, "url" : "https://github.com/computer-mcp/.github" } diff --git a/AGENTS.md b/AGENTS.md index 8d00930..8b6746d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -34,8 +34,9 @@ selection, tool grants and approval authority. Manifest defaults, skill text and adapter defaults never grant access or raise permissions. - When the plugin ships interface data such as `cli-tree.json`, generate it - only from verified native `--help` and `--version` output, keep its coverage - explicitly partial, and never hand-edit generated output. + only from the verified source its README names, such as the tool's native + output or a pinned SDK, keep its coverage explicitly partial, and never + hand-edit generated output. - Before handoff, build the package deterministically and run the host's package validation where available. Do not publish repositories or releases implicitly. From c790f716190360efe2b7da560318364e3790fc6d Mon Sep 17 00:00:00 2001 From: showxu <10173746+showxu@users.noreply.github.com> Date: Mon, 26 Oct 2026 20:17:13 +0800 Subject: [PATCH 5/8] ci: pin shared workflows to the revised agent instruction policy --- .github/workflows/ci.yml | 4 ++-- .github/workflows/notify-catalog.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/source-policy.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 106d78a..45a6760 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,10 +52,10 @@ jobs: python-version: ${{ matrix.python-version }} - run: python3 tests/check_runtime_rejection.py runtime: - uses: computer-mcp/github-workflows/.github/workflows/plugin-runtime.yml@4359ca27a4637460ba8d3f6461e42701f76f647a + uses: computer-mcp/github-workflows/.github/workflows/plugin-runtime.yml@36a8e11e46fc8831397cebab54cd4657dcac7898 validate: if: always() needs: [package, unsupported-runtime, runtime] - uses: computer-mcp/github-workflows/.github/workflows/result.yml@4359ca27a4637460ba8d3f6461e42701f76f647a + uses: computer-mcp/github-workflows/.github/workflows/result.yml@36a8e11e46fc8831397cebab54cd4657dcac7898 with: needs-json: ${{ toJSON(needs) }} diff --git a/.github/workflows/notify-catalog.yml b/.github/workflows/notify-catalog.yml index c63f903..1073733 100644 --- a/.github/workflows/notify-catalog.yml +++ b/.github/workflows/notify-catalog.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Request complete catalog reconciliation id: catalog - uses: computer-mcp/github-workflows/actions/notify-catalog@4359ca27a4637460ba8d3f6461e42701f76f647a + uses: computer-mcp/github-workflows/actions/notify-catalog@36a8e11e46fc8831397cebab54cd4657dcac7898 with: client-id: ${{ vars.CATALOG_APP_CLIENT_ID }} private-key: ${{ secrets.CATALOG_APP_PRIVATE_KEY }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1298127..e5530d6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ jobs: permissions: contents: write actions: read - uses: computer-mcp/github-workflows/.github/workflows/plugin-release.yml@4359ca27a4637460ba8d3f6461e42701f76f647a + uses: computer-mcp/github-workflows/.github/workflows/plugin-release.yml@36a8e11e46fc8831397cebab54cd4657dcac7898 with: ref: ${{ inputs.ref }} publish: ${{ inputs.publish }} diff --git a/.github/workflows/source-policy.yml b/.github/workflows/source-policy.yml index 6472b74..9d6d6a3 100644 --- a/.github/workflows/source-policy.yml +++ b/.github/workflows/source-policy.yml @@ -12,6 +12,6 @@ concurrency: cancel-in-progress: true jobs: policy: - uses: computer-mcp/github-workflows/.github/workflows/policy.yml@4359ca27a4637460ba8d3f6461e42701f76f647a + uses: computer-mcp/github-workflows/.github/workflows/policy.yml@36a8e11e46fc8831397cebab54cd4657dcac7898 with: declaration-revision: 5c54a40cb7953db7472ebbefd3db608036b7b3ab From 87418ea568f91c45705bc9d0d5ff4ec63a9848dd Mon Sep 17 00:00:00 2001 From: showxu <10173746+showxu@users.noreply.github.com> Date: Tue, 27 Oct 2026 02:27:24 +0800 Subject: [PATCH 6/8] ci: pin shared workflows to the merged agent instruction policy --- .github/workflows/ci.yml | 4 ++-- .github/workflows/notify-catalog.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/source-policy.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 45a6760..bb141ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,10 +52,10 @@ jobs: python-version: ${{ matrix.python-version }} - run: python3 tests/check_runtime_rejection.py runtime: - uses: computer-mcp/github-workflows/.github/workflows/plugin-runtime.yml@36a8e11e46fc8831397cebab54cd4657dcac7898 + uses: computer-mcp/github-workflows/.github/workflows/plugin-runtime.yml@fd25fcface41732fda099017c6945912366fc7c1 validate: if: always() needs: [package, unsupported-runtime, runtime] - uses: computer-mcp/github-workflows/.github/workflows/result.yml@36a8e11e46fc8831397cebab54cd4657dcac7898 + uses: computer-mcp/github-workflows/.github/workflows/result.yml@fd25fcface41732fda099017c6945912366fc7c1 with: needs-json: ${{ toJSON(needs) }} diff --git a/.github/workflows/notify-catalog.yml b/.github/workflows/notify-catalog.yml index 1073733..47b0b24 100644 --- a/.github/workflows/notify-catalog.yml +++ b/.github/workflows/notify-catalog.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Request complete catalog reconciliation id: catalog - uses: computer-mcp/github-workflows/actions/notify-catalog@36a8e11e46fc8831397cebab54cd4657dcac7898 + uses: computer-mcp/github-workflows/actions/notify-catalog@fd25fcface41732fda099017c6945912366fc7c1 with: client-id: ${{ vars.CATALOG_APP_CLIENT_ID }} private-key: ${{ secrets.CATALOG_APP_PRIVATE_KEY }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e5530d6..141f71f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ jobs: permissions: contents: write actions: read - uses: computer-mcp/github-workflows/.github/workflows/plugin-release.yml@36a8e11e46fc8831397cebab54cd4657dcac7898 + uses: computer-mcp/github-workflows/.github/workflows/plugin-release.yml@fd25fcface41732fda099017c6945912366fc7c1 with: ref: ${{ inputs.ref }} publish: ${{ inputs.publish }} diff --git a/.github/workflows/source-policy.yml b/.github/workflows/source-policy.yml index 9d6d6a3..3afe0e2 100644 --- a/.github/workflows/source-policy.yml +++ b/.github/workflows/source-policy.yml @@ -12,6 +12,6 @@ concurrency: cancel-in-progress: true jobs: policy: - uses: computer-mcp/github-workflows/.github/workflows/policy.yml@36a8e11e46fc8831397cebab54cd4657dcac7898 + uses: computer-mcp/github-workflows/.github/workflows/policy.yml@fd25fcface41732fda099017c6945912366fc7c1 with: declaration-revision: 5c54a40cb7953db7472ebbefd3db608036b7b3ab From cf095c69b747ba512b9e9c7c7b239e19e1a28be5 Mon Sep 17 00:00:00 2001 From: showxu <10173746+showxu@users.noreply.github.com> Date: Tue, 27 Oct 2026 02:27:33 +0800 Subject: [PATCH 7/8] docs: follow the organization's default branch for shared agent instructions --- .agent/agents.json | 17 ++++-------- .agent/agents.resolved | 60 ++++++++++++++++++------------------------ 2 files changed, 30 insertions(+), 47 deletions(-) diff --git a/.agent/agents.json b/.agent/agents.json index c0f24b3..4232f0f 100644 --- a/.agent/agents.json +++ b/.agent/agents.json @@ -1,19 +1,12 @@ { + "instructions": { + "agents": ["claude-code", "codex"], + "sections": ["guide", "computer-mcp:shared/plugin-rules"] + }, "sources": { "computer-mcp": { "git": "github.com/computer-mcp/.github", - "path": ".agent", - "revision": "ad4901bf01abb22ae655943d48b50483bf4c6b3a" + "path": ".agent" } - }, - "instructions": { - "agents": [ - "claude-code", - "codex" - ], - "sections": [ - "guide", - "computer-mcp:shared/plugin-rules" - ] } } diff --git a/.agent/agents.resolved b/.agent/agents.resolved index 6c66650..0240eae 100644 --- a/.agent/agents.resolved +++ b/.agent/agents.resolved @@ -1,47 +1,37 @@ { - "instructions" : { - "chatgpt" : { - - }, - "sections" : [ + "instructions": { + "chatgpt": {}, + "sections": [ { - "hash" : "sha256:cd70d88669d8720d708e244f175d5128eaa2340f3910d729e591f81ae362ab1b", - "name" : "guide", - "path" : ".agent/instructions/guide.md", - "source" : "." + "hash": "sha256:cd70d88669d8720d708e244f175d5128eaa2340f3910d729e591f81ae362ab1b", + "name": "guide", + "path": ".agent/instructions/guide.md", + "source": "." }, { - "hash" : "sha256:d0c9d33c22d7357951d792c5c2377b392e0cdf6bd8470159e4d2930cdcee3550", - "name" : "shared/plugin-rules", - "path" : ".agent/instructions/shared/plugin-rules.md", - "revision" : "ad4901bf01abb22ae655943d48b50483bf4c6b3a", - "source" : "github.com/computer-mcp/.github" + "hash": "sha256:d0c9d33c22d7357951d792c5c2377b392e0cdf6bd8470159e4d2930cdcee3550", + "name": "shared/plugin-rules", + "path": ".agent/instructions/shared/plugin-rules.md", + "revision": "b7c9d5b086418ebba0686f97cdb71e8c1084d5f5", + "source": "github.com/computer-mcp/.github" } ], - "targets" : { - "AGENTS.md" : { - "agents" : [ - "claude-code", - "codex" - ], - "blockHash" : "sha256:6af8428baa1d69ac1287cf33416d58f4e6a498a6fe7bd08c8abf721f25f1c946", - "created" : false, - "headingOffset" : 0 + "targets": { + "AGENTS.md": { + "agents": ["claude-code", "codex"], + "blockHash": "sha256:6af8428baa1d69ac1287cf33416d58f4e6a498a6fe7bd08c8abf721f25f1c946", + "created": false, + "headingOffset": 0 } } }, - "skills" : { - - }, - "sources" : { - "github.com/computer-mcp/.github" : { - "kind" : "git", - "path" : ".agent", - "requirement" : { - "revision" : "ad4901bf01abb22ae655943d48b50483bf4c6b3a" - }, - "url" : "https://github.com/computer-mcp/.github" + "skills": {}, + "sources": { + "github.com/computer-mcp/.github": { + "kind": "git", + "path": ".agent", + "url": "https://github.com/computer-mcp/.github" } }, - "version" : 1 + "version": 1 } From 182185e0d90b4822172b9705a11aa1518772ea15 Mon Sep 17 00:00:00 2001 From: showxu <10173746+showxu@users.noreply.github.com> Date: Tue, 27 Oct 2026 02:35:23 +0800 Subject: [PATCH 8/8] docs: declare the default branch for shared agent instructions --- .agent/agents.json | 1 + .agent/agents.resolved | 3 +++ 2 files changed, 4 insertions(+) diff --git a/.agent/agents.json b/.agent/agents.json index 4232f0f..a0b1f7d 100644 --- a/.agent/agents.json +++ b/.agent/agents.json @@ -5,6 +5,7 @@ }, "sources": { "computer-mcp": { + "branch": "master", "git": "github.com/computer-mcp/.github", "path": ".agent" } diff --git a/.agent/agents.resolved b/.agent/agents.resolved index 0240eae..5996e41 100644 --- a/.agent/agents.resolved +++ b/.agent/agents.resolved @@ -30,6 +30,9 @@ "github.com/computer-mcp/.github": { "kind": "git", "path": ".agent", + "requirement": { + "branch": "master" + }, "url": "https://github.com/computer-mcp/.github" } },