@passioncode-ai/fabric-agent-adapter 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.3 - 2026-09-29
4
+
5
+ ### Changed
6
+
7
+ - **License.** The adapter is now source-available under
8
+ `PolyForm-Noncommercial-1.0.0 OR LicenseRef-PolyForm-Internal-Use-1.0.0`, with a
9
+ commercial license on request (contact@passioncode.ai). Versions up to and including
10
+ v0.4.2, and npm releases up to and including 0.3.1, were released under MIT and remain
11
+ available under it. The manifests, the three skills' `license:` and the README say the
12
+ same; contributions come in under `CLA.md`, which the new PR template asks for.
13
+ `test/validate.py` fails a tree that slips back to MIT.
14
+ - Author and marketplace owner are PassionCode.ai (`https://passioncode.ai/`).
15
+ - **Contract pin** moves from `20a818e` to `a5a2709` (fabric-agent-contract `main`), the
16
+ commit `building-fabric-services` already pinned. Between the two the provider
17
+ profiles are unchanged — only the `fabric-service/0.1` extension was added — and
18
+ `adapt_project.py check --contract` gives the same verdicts for an MCP, an A2A and a
19
+ local-runner bundle at both commits (declaration shape PASS). One pin for all three
20
+ skills.
21
+ - `creating-fabric-agents` hands the agent's own loop to `agent-orchestrator`, its
22
+ eval suite to `agent-evals` (agent-stack) and plugin packaging to `make-skill`;
23
+ `adapting-projects-to-fabric` sends wire-level MCP/A2A questions to `agent-interop`.
24
+
25
+ ### Fixed
26
+
27
+ - The installer's help names the launcher by its npm org name,
28
+ `npx @passioncode-ai/passioncode@latest update`; the bare `passioncode` is not ours.
29
+ - A distributed eval named a personal agent as its example service; the
30
+ `building-fabric-services` evals use `example-agent`, and its description says "a
31
+ macOS machine" instead of naming whose.
32
+
3
33
  ## 0.4.2 - 2026-09-29
4
34
 
5
35
  - Kit: `LoopbackHTTPServer`, a `ThreadingHTTPServer` whose bind asks no resolver.
package/LICENSE CHANGED
@@ -1,22 +1,156 @@
1
- MIT License
1
+ Copyright (c) 2026 Siarhei Sheleh
2
2
 
3
- Copyright (c) 2026 passioncode-ai
3
+ This software is source-available, not open source. You may use it under
4
+ either of the two licenses below, at your option:
4
5
 
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
6
+ 1. PolyForm Noncommercial License 1.0.0
7
+ SPDX: PolyForm-Noncommercial-1.0.0
8
+ 2. PolyForm Internal Use License 1.0.0
9
+ SPDX: LicenseRef-PolyForm-Internal-Use-1.0.0
11
10
 
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
11
+ In short: individuals and noncommercial organisations may use, change and
12
+ share it for noncommercial purposes; any company may use it, and change it,
13
+ for its own internal operations. Distributing it commercially, or building
14
+ this software or its code into a product or service you provide to others,
15
+ needs a separate commercial license: contact@passioncode.ai.
16
+ This summary is not part of either license; the texts below govern.
14
17
 
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
18
+ Versions up to and including v0.4.2 of this repository (and npm releases up to and
19
+ including 0.3.1) were released under the MIT License; those releases remain available
20
+ under MIT.
22
21
 
22
+ Required Notice: Copyright (c) 2026 Siarhei Sheleh (https://passioncode.ai)
23
+
24
+ ================================================================================
25
+
26
+ # PolyForm Noncommercial License 1.0.0
27
+
28
+ <https://polyformproject.org/licenses/noncommercial/1.0.0>
29
+
30
+ ## Acceptance
31
+
32
+ In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
33
+
34
+ ## Copyright License
35
+
36
+ The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
37
+
38
+ ## Distribution License
39
+
40
+ The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
41
+
42
+ ## Notices
43
+
44
+ You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
45
+
46
+ > Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
47
+
48
+ ## Changes and New Works License
49
+
50
+ The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
51
+
52
+ ## Patent License
53
+
54
+ The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
55
+
56
+ ## Noncommercial Purposes
57
+
58
+ Any noncommercial purpose is a permitted purpose.
59
+
60
+ ## Personal Uses
61
+
62
+ Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, is use for a permitted purpose.
63
+
64
+ ## Noncommercial Organizations
65
+
66
+ Use by any charitable organization, educational institution, public research organization, public safety or health organization, environmental protection organization, or government institution is use for a permitted purpose regardless of the source of funding or obligations resulting from the funding.
67
+
68
+ ## Fair Use
69
+
70
+ You may have "fair use" rights for the software under the law. These terms do not limit them.
71
+
72
+ ## No Other Rights
73
+
74
+ These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
75
+
76
+ ## Patent Defense
77
+
78
+ If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
79
+
80
+ ## Violations
81
+
82
+ The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
83
+
84
+ ## No Liability
85
+
86
+ ***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
87
+
88
+ ## Definitions
89
+
90
+ The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
91
+
92
+ **You** refers to the individual or entity agreeing to these terms.
93
+
94
+ **Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
95
+
96
+ **Your licenses** are all the licenses granted to you for the software under these terms.
97
+
98
+ **Use** means anything you do with the software requiring one of your licenses.
99
+
100
+ ================================================================================
101
+
102
+ # PolyForm Internal Use License 1.0.0
103
+
104
+ <https://polyformproject.org/licenses/internal-use/1.0.0>
105
+
106
+ ## Acceptance
107
+
108
+ In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
109
+
110
+ ## Copyright License
111
+
112
+ The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license), and you may not distribute the software.
113
+
114
+ ## Changes and New Works License
115
+
116
+ The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
117
+
118
+ ## Patent License
119
+
120
+ The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
121
+
122
+ ## Fair Use
123
+
124
+ You may have "fair use" rights for the software under the law. These terms do not limit them.
125
+
126
+ ## Internal Business Use
127
+
128
+ Use of the software for the internal business operations of you and your company is use for a permitted purpose.
129
+
130
+ ## No Other Rights
131
+
132
+ These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
133
+
134
+ ## Patent Defense
135
+
136
+ If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
137
+
138
+ ## Violations
139
+
140
+ The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
141
+
142
+ ## No Liability
143
+
144
+ ***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
145
+
146
+ ## Definitions
147
+
148
+ The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
149
+
150
+ **You** refers to the individual or entity agreeing to these terms.
151
+
152
+ **Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
153
+
154
+ **Your licenses** are all the licenses granted to you for the software under these terms.
155
+
156
+ **Use** means anything you do with the software requiring one of your licenses.
package/README.md CHANGED
@@ -15,7 +15,7 @@ without moving the Project onto one proprietary agent runtime.
15
15
 
16
16
  [![npm](https://img.shields.io/npm/v/%40passioncode-ai%2Ffabric-agent-adapter)](https://www.npmjs.com/package/@passioncode-ai/fabric-agent-adapter)
17
17
  [![validate](https://github.com/passioncode-ai/fabric-agent-adapter/actions/workflows/validate.yml/badge.svg)](https://github.com/passioncode-ai/fabric-agent-adapter/actions/workflows/validate.yml)
18
- [![license](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
18
+ [![license](https://img.shields.io/badge/license-source--available-blue.svg)](LICENSE)
19
19
 
20
20
  Private, portable Agent Skills for the
21
21
  [Fabric Agent Contract](https://github.com/passioncode-ai/fabric-agent-contract):
@@ -126,7 +126,16 @@ checks copies installed elsewhere, such as `~/.agents/skills/*/SKILL.md`.
126
126
  ## Contract pin
127
127
 
128
128
  - version: `0.1.0`
129
- - commit: `20a818e648a4c09a60df0126d11626922e8b9094`
129
+ - commit: `a5a27092ba0dcc5facfbeae8b359146dfb403e9a`
130
130
 
131
131
  The contract repository is normative. Updating the pin requires a new adapter release,
132
132
  fixture review, and a complete validation run.
133
+
134
+ ## License
135
+
136
+ Source-available under PolyForm Noncommercial or Internal Use; commercial license on
137
+ request (contact@passioncode.ai). SPDX:
138
+ `PolyForm-Noncommercial-1.0.0 OR LicenseRef-PolyForm-Internal-Use-1.0.0` — see
139
+ [LICENSE](LICENSE). Versions up to and including v0.4.2 (npm up to 0.3.1) were released
140
+ under the MIT License and remain available under it. Contributions are accepted under
141
+ [CLA.md](CLA.md) ([CONTRIBUTING.md](CONTRIBUTING.md)).
package/SECURITY.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # Security
2
2
 
3
- Report vulnerabilities privately to the maintainers of the `passioncode-ai`
4
- organization. Do not open a public issue containing credentials, private provider URLs,
5
- or customer project data.
3
+ Report vulnerabilities privately to contact@passioncode.ai. Do not open a public issue
4
+ containing credentials, private provider URLs, or customer project data.
6
5
 
7
6
  The adapter must not write secret values to manifests, fixtures, probes, logs, or command
8
7
  arguments. Generated and external provider outputs are untrusted. Live probes must be
@@ -35,7 +35,7 @@ Claude Code (recommended):
35
35
  claude plugin marketplace add ${REPO}
36
36
  claude plugin install ${PLUGIN_ID}
37
37
  Every PassionCode.ai skill for every agent at once:
38
- npx passioncode@latest update`);
38
+ npx @passioncode-ai/passioncode@latest update`);
39
39
  }
40
40
 
41
41
  function copyDir(src, dest) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@passioncode-ai/fabric-agent-adapter",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "Create Fabric-compatible agents, run them as always-alive local services with dashboards (fabric-service/0.1), and adapt existing projects to the Fabric Agent Contract. This package is the installer CLI.",
5
5
  "scripts": {
6
6
  "test": "python3 test/validate.py && python3 -m unittest discover -s test -q && node --test test/"
@@ -23,10 +23,10 @@
23
23
  ],
24
24
  "repository": "github:passioncode-ai/fabric-agent-adapter",
25
25
  "homepage": "https://github.com/passioncode-ai/fabric-agent-adapter",
26
- "license": "MIT",
26
+ "license": "PolyForm-Noncommercial-1.0.0 OR LicenseRef-PolyForm-Internal-Use-1.0.0",
27
27
  "author": {
28
- "name": "passioncode-ai",
29
- "url": "https://github.com/passioncode-ai"
28
+ "name": "PassionCode.ai",
29
+ "url": "https://passioncode.ai/"
30
30
  },
31
31
  "engines": {
32
32
  "node": ">=16"
@@ -3,14 +3,14 @@
3
3
  "name": "fabric-agent-adapter",
4
4
  "displayName": "Fabric Agent Adapter",
5
5
  "description": "Create new Fabric-compatible agents, build them as always-alive local services with dashboards (fabric-service/0.1), and adapt existing projects to the Fabric Agent Contract through evidence-backed MCP, A2A, or local-runner provider bundles.",
6
- "version": "0.4.2",
6
+ "version": "0.4.3",
7
7
  "author": {
8
- "name": "passioncode-ai",
9
- "url": "https://github.com/passioncode-ai"
8
+ "name": "PassionCode.ai",
9
+ "url": "https://passioncode.ai/"
10
10
  },
11
11
  "homepage": "https://github.com/passioncode-ai/fabric-agent-adapter",
12
12
  "repository": "https://github.com/passioncode-ai/fabric-agent-adapter",
13
- "license": "MIT",
13
+ "license": "PolyForm-Noncommercial-1.0.0 OR LicenseRef-PolyForm-Internal-Use-1.0.0",
14
14
  "keywords": [
15
15
  "fabric",
16
16
  "agent",
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: adapting-projects-to-fabric
3
3
  description: Use when adapting an existing agent, MCP server, A2A peer, HTTP service, or terminal CLI to the Fabric Agent Contract—choosing MCP/A2A/local-runner, scaffolding a provider bundle, or checking Fabric compatibility; also for «подключить проект к Fabric» or «сделать агента совместимым с Fabric». NOT for building the Fabric host/orchestrator, configuring an MCP client, or a brand-new agent — that is creating-fabric-agents.
4
- license: MIT
4
+ license: PolyForm-Noncommercial-1.0.0 OR LicenseRef-PolyForm-Internal-Use-1.0.0
5
5
  compatibility: Requires filesystem access and Python 3.9+. Exact schema checks additionally need git, Node.js, pnpm, and the pinned private fabric-agent-contract checkout. Works without those tools in an explicitly degraded structural-check mode.
6
6
  metadata:
7
- author: passioncode-ai
8
- version: "0.4.2"
7
+ author: PassionCode.ai
8
+ version: "0.4.3"
9
9
  contract-version: "0.1.0"
10
- contract-commit: "20a818e648a4c09a60df0126d11626922e8b9094"
10
+ contract-commit: "a5a27092ba0dcc5facfbeae8b359146dfb403e9a"
11
11
  ---
12
12
 
13
13
  # Adapting projects to Fabric
@@ -22,6 +22,9 @@ Use this skill to adapt or assess a provider project. Do not use it to:
22
22
 
23
23
  - design the Fabric host, registry, scheduler, admission service, or project binding runtime;
24
24
  - add an MCP server to Claude Code, Codex, or an agent gateway;
25
+ - answer wire-level MCP or A2A questions (transports, sessions, auth handshakes, task
26
+ states on the wire) — that is `agent-interop` (agent-stack); the pinned contract stays
27
+ normative for what Fabric requires;
25
28
  - design a new agent from scratch — that is the sibling skill creating-fabric-agents;
26
29
  - claim admission merely because generated files or a valid manifest exist.
27
30
 
@@ -67,7 +70,7 @@ Use exactly:
67
70
 
68
71
  - contract version `0.1.0`;
69
72
  - repository `https://github.com/passioncode-ai/fabric-agent-contract`;
70
- - commit `20a818e648a4c09a60df0126d11626922e8b9094`.
73
+ - commit `a5a27092ba0dcc5facfbeae8b359146dfb403e9a`.
71
74
 
72
75
  Read the pinned contract's guide
73
76
  `docs/guides/connecting-compatible-agents.md`, the selected profile specification, and
@@ -16,7 +16,7 @@ from urllib.parse import urlparse
16
16
 
17
17
  CONTRACT_VERSION = "0.1.0"
18
18
  CONTRACT_REPOSITORY = "https://github.com/passioncode-ai/fabric-agent-contract"
19
- CONTRACT_COMMIT = "20a818e648a4c09a60df0126d11626922e8b9094"
19
+ CONTRACT_COMMIT = "a5a27092ba0dcc5facfbeae8b359146dfb403e9a"
20
20
  MCP_REVISION = "2026-07-28"
21
21
  A2A_VERSION = "1.0"
22
22
  LOCAL_VERSION = "fabric-local-runner/0.1"
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: building-fabric-services
3
3
  description: >-
4
- Use when building or running an agent as a long-lived local service with a dashboard on the
5
- operator's Mac — «сделай агенту дашборд», «локальный сервис агента», «дашборд должен всегда
4
+ Use when building or running an agent as a long-lived local service with a dashboard on
5
+ a macOS machine — «сделай агенту дашборд», «локальный сервис агента», «дашборд должен всегда
6
6
  работать и не плодить копии», «где агенту хранить настройки», «подключи агента к Fabric
7
7
  Dashboards», "make this agent a local service", "always-on dashboard", "fabric-service
8
8
  protocol", "add the well-known endpoint", "migrate a service to fabric-service". Covers the
@@ -11,11 +11,11 @@ description: >-
11
11
  descriptor, the well-known document, the events feed and notifications; ships Python and Node
12
12
  reference kits and a live conformance probe. NOT for a one-off script or cron job, a hosted
13
13
  SaaS, the provider manifest itself (adapting-projects-to-fabric), or building Fabric Dashboards.
14
- license: MIT
14
+ license: PolyForm-Noncommercial-1.0.0 OR LicenseRef-PolyForm-Internal-Use-1.0.0
15
15
  compatibility: Python 3.9+ or Node.js 20+ for the kits; the probe needs Python 3.9+. launchd steps are macOS-only (Linux services use lifecycle manager none until a systemd adapter exists). No network or package install; the contract checkout is optional.
16
16
  metadata:
17
- author: passioncode-ai
18
- version: "0.4.2"
17
+ author: PassionCode.ai
18
+ version: "0.4.3"
19
19
  contract-version: "0.1.0"
20
20
  extension: "fabric-service/0.1"
21
21
  extension-commit: "a5a27092ba0dcc5facfbeae8b359146dfb403e9a"
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: creating-fabric-agents
3
3
  description: Use when designing and building a NEW agent or provider that must be Fabric-compatible from its first commit — «создай агента, совместимого с фабрикой Passion Code», «новый агент под Fabric», "create a fabric-compatible agent", "build a new Fabric provider", "fabric-ready agent from scratch". Runs the intake grill (capability, named consumer, workflow-or-agent, MCP/A2A/local-runner profile, effect declarations), distils source projects into a knowledge pack whose recorded failures become planted eval fixtures, scaffolds the pinned contract bundle, and sets the two-clock eval expectation with the conformance report. NOT for adapting an existing project (use adapting-projects-to-fabric), building the Fabric host or orchestrator, or generic agent design where Fabric compatibility is not part of the request.
4
- license: MIT
4
+ license: PolyForm-Noncommercial-1.0.0 OR LicenseRef-PolyForm-Internal-Use-1.0.0
5
5
  compatibility: Requires filesystem access and Python 3.9+. Exact schema checks additionally need git, Node.js, pnpm, and the pinned private fabric-agent-contract checkout. Works without those tools in an explicitly degraded structural-check mode. Ships in one plugin with adapting-projects-to-fabric, whose scripts it reuses.
6
6
  metadata:
7
- author: passioncode-ai
8
- version: "0.4.2"
7
+ author: PassionCode.ai
8
+ version: "0.4.3"
9
9
  contract-version: "0.1.0"
10
- contract-commit: "20a818e648a4c09a60df0126d11626922e8b9094"
10
+ contract-commit: "a5a27092ba0dcc5facfbeae8b359146dfb403e9a"
11
11
  ---
12
12
 
13
13
  # Creating Fabric-compatible agents
@@ -30,6 +30,17 @@ Use this skill to design and build a new provider. Do not use it to:
30
30
  - claim admission: the deliverable is an admission-ready provider bundle, never a
31
31
  connected provider.
32
32
 
33
+ ## Handing off to neighbouring skills
34
+
35
+ - The agent's own loop — tool calls, routing and fallback, memory, sub-agents — is
36
+ designed with `agent-orchestrator` (agent-stack).
37
+ - Its eval suite beyond the step-2 observables — trajectories, judges, regression
38
+ fixtures from traces — is built with `agent-evals` (agent-stack).
39
+ - Packaging the agent as an Agent Skill or Claude Code plugin goes through `make-skill`.
40
+
41
+ When one of them is not installed, do that part by hand against its own documentation
42
+ and say in the report which skill was missing.
43
+
33
44
  ## Step 0 — the intake grill
34
45
 
35
46
  No file is created until every row has an answer. An answer of "later" fails the grill.
@@ -82,7 +93,7 @@ python3 <plugin-dir>/skills/adapting-projects-to-fabric/scripts/adapt_project.py
82
93
  --schema-base <immutable-base-uri>
83
94
  ```
84
95
 
85
- Pin exactly contract `0.1.0` at commit `20a818e648a4c09a60df0126d11626922e8b9094` and
96
+ Pin exactly contract `0.1.0` at commit `a5a27092ba0dcc5facfbeae8b359146dfb403e9a` and
86
97
  read the pinned guide before implementing protocol details. If this skill is installed
87
98
  without its sibling, the scaffolder is absent: create the bundle by hand from the pinned
88
99
  contract's `docs/guides/connecting-compatible-agents.md` and mark the structural check