@mestreyoda/fabrica 0.2.11 → 0.2.13

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/ARCHITECTURE.md CHANGED
@@ -63,17 +63,23 @@ Important invariants:
63
63
 
64
64
  ## Installation model
65
65
 
66
- The supported local installation is path-based:
66
+ Fabrica is distributed as a self-contained OpenClaw plugin package.
67
+
68
+ The supported operator path is:
67
69
 
68
70
  ```bash
69
- openclaw plugins install -l /path/to/fabrica
71
+ openclaw plugins install @mestreyoda/fabrica
70
72
  ```
71
73
 
72
- That means:
74
+ The installed extension must be loadable in isolation. Fabrica may depend on
75
+ OpenClaw only through the plugin host ABI and runtime objects passed by the
76
+ host. It must not require manual symlinks, local `npm install`, or host-global
77
+ module resolution to load.
73
78
 
74
- - the repository stays editable in place
75
- - the installed plugin points back to this directory
76
- - the loaded runtime should match the local build output in `dist/`
79
+ External credentials and routes such as GitHub auth, Telegram chat IDs, and
80
+ webhook secrets are operational configuration, not installation dependencies.
81
+ Fabrica's `doctor` and `setup` flows guide and validate that operational
82
+ configuration where applicable.
77
83
 
78
84
  ## Operational notes
79
85
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.13 - 2026-03-31
4
+
5
+ - Disabled automatic pretty logging on TTY so the plugin no longer depends on `pino-pretty` during load.
6
+ - Added a safe one-shot fallback to structured logs when pretty transport resolution or initialization fails.
7
+ - Added logger transport regression coverage and promoted it into the hot-path test lane.
8
+
9
+ ## 0.2.12 - 2026-03-31
10
+
11
+ - Made the published plugin self-contained by replacing remaining runtime helper imports from `openclaw/plugin-sdk`.
12
+ - Added release gates for runtime-boundary and isolated installability verification, with fail-closed behavior, timeouts, and cleanup.
13
+ - Documented the real install contract and workspace-scoped operational setup flow in the package README and architecture notes.
14
+ - Aligned local deploy to the same contract by removing the extension `node_modules` symlink fallback.
15
+
3
16
  ## 0.2.11 - 2026-03-31
4
17
 
5
18
  - Unified reviewer completion around the canonical `Review result: APPROVE|REJECT` contract.
package/README.md CHANGED
@@ -64,6 +64,9 @@ The heartbeat ticks every 60 seconds. On each tick, Fabrica alternates between a
64
64
  openclaw plugins install @mestreyoda/fabrica
65
65
  ```
66
66
 
67
+ That install should be enough for OpenClaw to load Fabrica immediately, without
68
+ manual remediation.
69
+
67
70
  ### Via GitHub clone
68
71
 
69
72
  ```bash
@@ -74,35 +77,53 @@ openclaw plugins install -l ~/fabrica
74
77
  After installation, verify the plugin loaded correctly:
75
78
 
76
79
  ```bash
77
- openclaw plugins list
78
- openclaw fabrica doctor
80
+ openclaw plugins inspect fabrica
79
81
  ```
80
82
 
83
+ ## Loadability vs operational readiness
84
+
85
+ - **Loadable:** the plugin installs and OpenClaw can load it immediately.
86
+ - **Operational:** Fabrica has the GitHub, Telegram, and optional webhook
87
+ configuration needed for your workflow.
88
+
89
+ `openclaw plugins inspect fabrica` is the loadability check after install.
90
+ `openclaw fabrica doctor` runs once the plugin is loaded and checks the
91
+ operational/workspace state, then tells you what is still missing.
92
+
81
93
  ## Quick start
82
94
 
83
- **1. Enable the plugin** in `~/.openclaw/openclaw.json`:
95
+ **1. Install Fabrica**:
84
96
 
85
- ```json
86
- {
87
- "plugins": {
88
- "entries": {
89
- "fabrica": {
90
- "enabled": true
91
- }
92
- }
93
- }
94
- }
97
+ ```bash
98
+ openclaw plugins install @mestreyoda/fabrica
99
+ ```
100
+
101
+ The plugin should load immediately after install, without manual remediation.
102
+
103
+ **2. Confirm loadability**:
104
+
105
+ ```bash
106
+ openclaw plugins inspect fabrica
107
+ ```
108
+
109
+ **3. Configure operational state for a workspace**:
110
+
111
+ ```bash
112
+ openclaw fabrica doctor workspace --workspace /path/to/workspace
113
+ openclaw fabrica setup --workspace /path/to/workspace --new-agent fabrica
95
114
  ```
96
115
 
97
- For polling-first GitHub usage via authenticated `gh`, no extra plugin config is required. Fabrica's plugin config is only for control-plane settings such as heartbeat cadence, Telegram routing, notifications, and provider/webhook auth. Worker models, levels, and workflow routing live in the workspace files and can be generated or updated with `openclaw fabrica setup`.
116
+ Use `openclaw fabrica setup --agent <id>` if you already have an agent. GitHub,
117
+ Telegram, and webhook behavior are separate operational concerns, not
118
+ installation dependencies.
98
119
 
99
- **2. Restart the gateway**:
120
+ **4. Restart the gateway**:
100
121
 
101
122
  ```bash
102
123
  systemctl --user restart openclaw-gateway.service
103
124
  ```
104
125
 
105
- **3. Trigger a new project programmatically**:
126
+ **5. Trigger a new project programmatically**:
106
127
 
107
128
  ```bash
108
129
  cd ~/fabrica # GitHub clone install only
@@ -114,13 +135,13 @@ npx tsx scripts/genesis-trigger.ts "A CLI tool that counts words in a file" \
114
135
 
115
136
  Remove `--dry-run` to execute for real.
116
137
 
117
- **4. Watch the pipeline run**:
138
+ **6. Watch the pipeline run**:
118
139
 
119
140
  ```bash
120
141
  tail -f ~/.openclaw/workspace/logs/genesis.log
121
142
  ```
122
143
 
123
- **5. Check metrics**:
144
+ **7. Check metrics**:
124
145
 
125
146
  ```bash
126
147
  openclaw fabrica metrics