From c8ef20e6acc3f5bfff84526d4835e5d0f40b9993 Mon Sep 17 00:00:00 2001 From: nguyenm7 <13559011+nguyenm7@users.noreply.github.com> Date: Thu, 24 Sep 2026 21:18:59 +0000 Subject: [PATCH] fix(skills-catalog): stop the unlisted-path section contradicting the state table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Self-review caught it. The section added in eb32c6cc91 opened by calling the second visibility state "the default outcome of offline authoring". The state table directly above it says the opposite, and the table is right: a connector nobody has proven against the provider belongs in the third state, `availability: { available: false }`, not merely unlisted. The mechanics were the acceptance finding — nothing enumerated how to take the second state — and those are unchanged. Only the framing is corrected: the section now says when the second state is the right one, and points at the third for the case it was wrongly claiming. Also demotes "do not bump the store count" out of the numbered list, since the other three entries are edits to make and that one is not. Manifest regenerated; validate clean; shipped-catalog 10/10. Co-Authored-By: Paperclip --- .../references/catalog-contract.md | 22 ++++++++++++------- .../skills-catalog/generated/catalog.json | 8 +++---- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/packages/skills-catalog/catalog/optional/software-development/author-connector-definition/references/catalog-contract.md b/packages/skills-catalog/catalog/optional/software-development/author-connector-definition/references/catalog-contract.md index d41da2f1d6c..60070dead9b 100644 --- a/packages/skills-catalog/catalog/optional/software-development/author-connector-definition/references/catalog-contract.md +++ b/packages/skills-catalog/catalog/optional/software-development/author-connector-definition/references/catalog-contract.md @@ -160,9 +160,13 @@ as a disabled card with the reason in `ConnectionSetupFlow.tsx` and ### Executing the unlisted path -The second state is the *default* outcome of offline authoring, not an -exception, so here are its mechanics in full. Three edits, all required, and -one thing not to do: +The table says which state to want. Nothing said how to take the second one, +and it is the state people reach for by habit — so here are its mechanics in +full. Take it when a connector is deliberately connectable without being +advertised. When the reason it should not be advertised is that nobody has +proven it against the provider, you want the third state, not this one. + +Three edits, all required: 1. **`packages/shared/src/app-definitions.ts`** — add the slug to `CONNECTABLE_APP_SLUGS` *and* to `APP_STORE_HIDDEN_SLUGS`. Missing the first @@ -176,14 +180,16 @@ one thing not to do: `"catalogVisible": false`. The manifest-parity assertion compares the `catalogVisible` set against the *store-visible* set, so an unlisted slug left `catalogVisible: true` fails it. -4. **Do not touch the store count.** `APP_STORE_DEFINITIONS` excludes hidden - slugs, so its length does not change. Bumping it — the instruction the - store-visible path gives — fails the test by one in the other direction. + +And one thing not to do: **do not touch the store count.** +`APP_STORE_DEFINITIONS` excludes hidden slugs, so its length does not change. +Bumping it — the instruction the store-visible path gives — fails the test by +one in the other direction. Checked against `18dac1e1`: all 20 slugs in `APP_STORE_HIDDEN_SLUGS` have a manifest row, every one carries `catalogVisible: false`, and the 56 rows with -`catalogVisible: true` are exactly `APP_STORE_DEFINITIONS`. The four steps above -are what the existing unlisted providers already do. +`catalogVisible: true` are exactly `APP_STORE_DEFINITIONS`. The three edits +above are what the existing unlisted providers already did. ## Assertions with exact counts or sets diff --git a/packages/skills-catalog/generated/catalog.json b/packages/skills-catalog/generated/catalog.json index f268424dbf9..558e8124a23 100644 --- a/packages/skills-catalog/generated/catalog.json +++ b/packages/skills-catalog/generated/catalog.json @@ -2,7 +2,7 @@ "schemaVersion": 1, "packageName": "@paperclipai/skills-catalog", "packageVersion": "0.3.1", - "generatedAt": "2026-09-24T21:16:25.116Z", + "generatedAt": "2026-09-24T21:18:46.408Z", "skills": [ { "id": "paperclipai:bundled:docs:doc-maintenance", @@ -1153,8 +1153,8 @@ { "path": "references/catalog-contract.md", "kind": "reference", - "sizeBytes": 19071, - "sha256": "f649eb72a31f843d566e1dbafa21b4930a6ce1bc4fee167403d51f2cfb310882" + "sizeBytes": 19325, + "sha256": "847a851514f14fc497b9ddc9a63321913300b15edb7e2681645493428470210c" }, { "path": "references/live-acceptance.md", @@ -1175,7 +1175,7 @@ "sha256": "1679b4cb69267c28d0d62debfd74a6d60e071f21a2a091ecd0d674de7e64d768" } ], - "contentHash": "sha256:a6e6c5477fe329e298ccebae31a4bcc4a5d007752a08f551ba9c31e90b1820a8" + "contentHash": "sha256:ab3b48a79c69480660b333bb5cd2af75fc318242f966f47ebd23707cd0c6a4c2" }, { "id": "paperclipai:optional:software-development:connect-agent-tools",