@passioncode-ai/passioncode 0.1.22 → 0.1.23

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,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.23 - 2026-10-03
4
+
5
+ ### Changed
6
+
7
+ - **Fabric Agent Adapter is pinned at `v0.6.2`** (it was `v0.6.1`). `building-fabric-services`
8
+ now says how a product behaves under a host lifecycle broker — the always-on per-user service
9
+ agents ask to start, stop and restart products: quit through both the platform's quit and
10
+ `SIGTERM`, stay in the background when opened non-activating, keep the designated requirement
11
+ stable, expose honest readiness.
12
+
3
13
  ## 0.1.22 - 2026-10-03
4
14
 
5
15
  ### Changed
package/family.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "name": "fabric-agent-adapter",
9
9
  "displayName": "Fabric Agent Adapter",
10
10
  "repo": "passioncode-ai/fabric-agent-adapter",
11
- "ref": "v0.6.1",
11
+ "ref": "v0.6.2",
12
12
  "kind": "plugin",
13
13
  "path": "plugins/fabric-agent-adapter",
14
14
  "legacyPluginIds": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@passioncode-ai/passioncode",
3
- "version": "0.1.22",
3
+ "version": "0.1.23",
4
4
  "description": "The PassionCode.ai agent skill set \u2014 Fabric Agent Adapter, Observatory Log and the organisation's working rules \u2014 for Claude Code and every other agent on the machine, updated as one set.",
5
5
  "bin": {
6
6
  "passioncode": "bin/passioncode.js"
@@ -11,7 +11,7 @@
11
11
  "name": "fabric-agent-adapter",
12
12
  "displayName": "Fabric Agent Adapter",
13
13
  "source": "./plugins/fabric-agent-adapter",
14
- "version": "0.6.1",
14
+ "version": "0.6.2",
15
15
  "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.",
16
16
  "author": {
17
17
  "name": "PassionCode.ai",
@@ -35,7 +35,7 @@
35
35
  "name": "passioncode",
36
36
  "displayName": "PassionCode.ai",
37
37
  "source": "./plugins/passioncode",
38
- "version": "0.1.22",
38
+ "version": "0.1.23",
39
39
  "description": "The organisation's working rules for every contributor's agent (working-in-passioncode), and a once-a-day check that keeps the PassionCode.ai set current.",
40
40
  "author": {
41
41
  "name": "PassionCode.ai",
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "family": "passioncode",
3
- "version": "0.1.22",
3
+ "version": "0.1.23",
4
4
  "release": true,
5
5
  "members": [
6
6
  {
7
7
  "name": "fabric-agent-adapter",
8
8
  "displayName": "Fabric Agent Adapter",
9
9
  "repo": "passioncode-ai/fabric-agent-adapter",
10
- "ref": "v0.6.1",
11
- "commit": "d3a4c67262e242b0a4422ecdcf99a7d892db6caa",
12
- "version": "0.6.1",
10
+ "ref": "v0.6.2",
11
+ "commit": "4b435baac85e343b530af86d56f8b75ac406bc43",
12
+ "version": "0.6.2",
13
13
  "via": "clone of https://***@github.com/passioncode-ai/fabric-agent-adapter.git",
14
14
  "skills": [
15
15
  "adapting-projects-to-fabric",
@@ -22,7 +22,7 @@
22
22
  "legacyMarketplaces": [
23
23
  "fabric-agent-adapter"
24
24
  ],
25
- "contentHash": "sha256:654511f4332892aa9a709e1946566d017179edc294e136fbe5c6466c5c32b5c8",
25
+ "contentHash": "sha256:95fab0fdf3ee1f9171fc7c07edd60313cf52ddb68bb2eb456caf1df8afde36cb",
26
26
  "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.",
27
27
  "author": {
28
28
  "name": "PassionCode.ai",
@@ -61,16 +61,16 @@
61
61
  "name": "passioncode",
62
62
  "displayName": "PassionCode.ai",
63
63
  "repo": "passioncode-ai/passioncode",
64
- "ref": "v0.1.22",
64
+ "ref": "v0.1.23",
65
65
  "commit": null,
66
- "version": "0.1.22",
66
+ "version": "0.1.23",
67
67
  "via": "this repository",
68
68
  "skills": [
69
69
  "working-in-passioncode"
70
70
  ],
71
71
  "legacyPluginIds": [],
72
72
  "legacyMarketplaces": [],
73
- "contentHash": "sha256:41d5e5549a6fb2ace8f68766c3fad8fc2c72197b2896a8ae934b1a2029eba0ec",
73
+ "contentHash": "sha256:bc40957cac6955093ea1d60c431983adfe48caf09bac39519d4a5716c08526a8",
74
74
  "description": "The organisation's working rules for every contributor's agent (working-in-passioncode), and a once-a-day check that keeps the PassionCode.ai set current.",
75
75
  "author": {
76
76
  "name": "PassionCode.ai",
@@ -3,7 +3,7 @@
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.6.1",
6
+ "version": "0.6.2",
7
7
  "author": {
8
8
  "name": "PassionCode.ai",
9
9
  "url": "https://passioncode.ai/"
@@ -5,7 +5,7 @@ license: AGPL-3.0-only OR LicenseRef-PassionCode-Commercial
5
5
  compatibility: Requires filesystem access and Python 3.9+. Exact schema checks additionally need git, Node.js, pnpm, and the pinned fabric-agent-contract checkout (a public repository). Works without those tools in an explicitly degraded structural-check mode.
6
6
  metadata:
7
7
  author: PassionCode.ai
8
- version: "0.6.1"
8
+ version: "0.6.2"
9
9
  contract-version: "0.1.0"
10
10
  contract-commit: "2ce392291c6668598d12cd38327e24696b5ca15c"
11
11
  ---
@@ -15,7 +15,7 @@ license: AGPL-3.0-only OR LicenseRef-PassionCode-Commercial
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). Dashboard handoff optionally uses Fabric Dashboards MCP link/host_status/open; without it, report unresolved host capability. The contract checkout is optional.
16
16
  metadata:
17
17
  author: PassionCode.ai
18
- version: "0.6.1"
18
+ version: "0.6.2"
19
19
  contract-version: "0.1.0"
20
20
  extension: "fabric-service/0.1"
21
21
  extension-commit: "2ce392291c6668598d12cd38327e24696b5ca15c"
@@ -176,7 +176,8 @@ The installer, not the service, owns the plist and the descriptor. Sequence:
176
176
 
177
177
  Code runs from an immutable release directory; an upgrade writes a new release,
178
178
  rewrites the plist and restarts. Read [the lifecycle reference](references/lifecycle.md)
179
- for the plist fields, the release layout, log rotation and the Linux case.
179
+ for the plist fields, the release layout, log rotation, behaving under a host lifecycle broker
180
+ and the Linux case.
180
181
 
181
182
  ## Step 5 — the dashboard and the events
182
183
 
@@ -56,6 +56,27 @@ On `SIGTERM`: stop accepting new work, append a `service.stopping` event, drain
56
56
  in-flight work until `ExitTimeOut` minus a margin, persist what was interrupted so the
57
57
  next start resumes it, release the lock, exit 0.
58
58
 
59
+ ## Being managed by a host lifecycle broker
60
+
61
+ A host may run a lifecycle broker: one always-on per-user service that agents ask to start,
62
+ stop and restart products, instead of launching or killing them themselves. A product it manages
63
+ has to survive being driven from outside:
64
+
65
+ - **Quit reaches exit through both doors.** A broker asks the platform's own quit first — on
66
+ macOS `NSRunningApplication.terminate()`, the path Cmd+Q and the Dock take — and `SIGTERM` a few
67
+ seconds later. Handle both and exit inside the deadline (fabric-workspace LC-01). A desktop app
68
+ that answers `SIGTERM` by closing its window and staying alive is stopped late or not at all.
69
+ - **A background launch stays in the background.** A broker opens the app non-activating
70
+ (`NSWorkspace.OpenConfiguration.activates = false`); do not call `app.focus()`, `show()` on a
71
+ focused window, or activate on `ready` when nobody asked for a window. Taking focus from the
72
+ person is the one side effect they always notice.
73
+ - **Identity is the designated requirement.** A broker pins the app by team + bundle id, so an
74
+ update signed by the same team keeps working and anything else is refused (LC-05). Never ship an
75
+ ad-hoc or differently signed build to a machine that pins you.
76
+ - **Starting is not ready.** Expose readiness the broker can probe without a person — the
77
+ well-known document for a service, a process-level answer for a plain app — and keep it honest
78
+ while the app is still starting.
79
+
59
80
  ## Linux
60
81
 
61
82
  Until a systemd adapter exists, declare `lifecycle.manager: "none"`. A `systemd --user`
@@ -5,7 +5,7 @@ license: AGPL-3.0-only OR LicenseRef-PassionCode-Commercial
5
5
  compatibility: Requires filesystem access and Python 3.9+. Exact schema checks additionally need git, Node.js, pnpm, and the pinned fabric-agent-contract checkout (a public repository). 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
7
  author: PassionCode.ai
8
- version: "0.6.1"
8
+ version: "0.6.2"
9
9
  contract-version: "0.1.0"
10
10
  contract-commit: "2ce392291c6668598d12cd38327e24696b5ca15c"
11
11
  ---
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
3
3
  "name": "passioncode",
4
4
  "displayName": "PassionCode.ai",
5
- "version": "0.1.22",
5
+ "version": "0.1.23",
6
6
  "description": "The organisation's working rules for every contributor's agent (working-in-passioncode), and a once-a-day check at session start that keeps the PassionCode.ai skill set current.",
7
7
  "author": {
8
8
  "name": "PassionCode.ai",