harness-everything 0.30.3 → 0.30.5

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.
@@ -10,7 +10,7 @@
10
10
  "name": "harness-everything",
11
11
  "source": "./",
12
12
  "description": "Harness OS: an orchestrated agent operating system — tier routing, circuit breaker guardrails, verification gates, WAL session memory, and self-evolving workspace rules.",
13
- "version": "0.30.3",
13
+ "version": "0.30.5",
14
14
  "author": {
15
15
  "name": "Miya Daniel"
16
16
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "harness-everything",
3
3
  "description": "Harness OS: an orchestrated agent operating system — tier routing, circuit breaker guardrails, verification gates, WAL session memory, and self-evolving workspace rules.",
4
- "version": "0.30.3",
4
+ "version": "0.30.5",
5
5
  "author": {
6
6
  "name": "Miya Daniel"
7
7
  },
package/CHANGELOG.md CHANGED
@@ -2,6 +2,40 @@
2
2
 
3
3
  All notable changes to this project are documented in this file.
4
4
 
5
+ ## [0.30.5](https://github.com/dyphn1/Harness-everything/compare/v0.30.4...v0.30.5) (2026-10-06)
6
+
7
+ ### Bug Fixes
8
+
9
+ * align Windows PowerShell quick-start contract ([f780f77](https://github.com/dyphn1/Harness-everything/commit/f780f777559d14f9bcf929793d954ddcaf2c6cf7))
10
+ * enforce Windows-safe shell contract ([a373a16](https://github.com/dyphn1/Harness-everything/commit/a373a16f5bdd3659e290715c971f530e66ffe2c1))
11
+ * fit Harness routing contract within budget ([6fa9065](https://github.com/dyphn1/Harness-everything/commit/6fa90657611bcbc85f669e864a3245b469e99d23))
12
+ * keep host-shell invariant within skill budget ([1381dc9](https://github.com/dyphn1/Harness-everything/commit/1381dc9877a0facccbea8f31a3047055eabaf5b2))
13
+ * preserve semantic contract phrases within Waza budget ([ab29217](https://github.com/dyphn1/Harness-everything/commit/ab292175cc691c6bd01d1e0da219a15c6779f7be))
14
+ * preserve skill metadata while restoring token budget ([189660a](https://github.com/dyphn1/Harness-everything/commit/189660ad6283ecad84d8a07232515fd80da6691c))
15
+ * restore Harness skill token budget ([80b1eee](https://github.com/dyphn1/Harness-everything/commit/80b1eeeceb681d9551bfbe4d3c881ae2c3e5747f))
16
+ * restore required skill sections within Waza budget ([acbb314](https://github.com/dyphn1/Harness-everything/commit/acbb314ec4e7769c2a2c253918ac67e1158052fe))
17
+ * show Windows-safe npx entry point ([d208b77](https://github.com/dyphn1/Harness-everything/commit/d208b7735912b7282dc158068b3e5c17a5c62e0d))
18
+ * sync packaged Windows shell contract ([201eb5a](https://github.com/dyphn1/Harness-everything/commit/201eb5a53cbea4e696db633f857b6c30c15f1855))
19
+
20
+ ## [0.30.4](https://github.com/dyphn1/Harness-everything/compare/v0.30.3...v0.30.4) (2026-10-01)
21
+
22
+ ### Bug Fixes
23
+
24
+ * **plugin:** sync skill-creator A/B contract ([2eeea6e](https://github.com/dyphn1/Harness-everything/commit/2eeea6ec3845c5affcbd38f8c44c8120155818c2))
25
+ * **plugin:** sync to-spec design audit contract ([4a298e6](https://github.com/dyphn1/Harness-everything/commit/4a298e64477078e8c435ab90d1968d36f91bc648))
26
+ * **plugin:** sync to-spec workspace contract ([591c50f](https://github.com/dyphn1/Harness-everything/commit/591c50f6a99819f51202e0fbebc0bdb3511746e0))
27
+ * **skill-creator:** define executor-agnostic A/B lanes ([7294807](https://github.com/dyphn1/Harness-everything/commit/7294807da0c0c96f7baa148eb05913b476e192fa))
28
+ * **skill-creator:** keep A/B invariant within token budget ([0e249ab](https://github.com/dyphn1/Harness-everything/commit/0e249ab2205daba3f11ad8aa7886e27821d63edb))
29
+ * **skill-creator:** keep A/B invariant within token budget ([d0c7cba](https://github.com/dyphn1/Harness-everything/commit/d0c7cba2c9d2123a3a9c192d022dae3a70740efc))
30
+ * **skill-creator:** keep topology router-owned in authoring guide ([842241d](https://github.com/dyphn1/Harness-everything/commit/842241dfadc98ed5983d744c9d615cf8e93b5e5e))
31
+ * **skill-creator:** keep topology router-owned in authoring guide ([97ec713](https://github.com/dyphn1/Harness-everything/commit/97ec713580958629df11923be0acf25f4eaf92d2))
32
+ * **skill-creator:** remove stale workspace spawner guidance ([37fbb99](https://github.com/dyphn1/Harness-everything/commit/37fbb99b992881fe4c93126c0198697e2d825240))
33
+ * **skill-creator:** remove stale workspace spawner guidance ([14f0614](https://github.com/dyphn1/Harness-everything/commit/14f0614843d79fc1067384b1b5ffa3f22caf1b6b))
34
+ * **to-spec:** define design audit outcome instead of executor ([ffe8e6e](https://github.com/dyphn1/Harness-everything/commit/ffe8e6e414edbb50412d48fd07cfe187b97cdc6f))
35
+ * **to-spec:** keep audit invariant within token budget ([c29757a](https://github.com/dyphn1/Harness-everything/commit/c29757af92dc560a6fb15f16252ca931d4abc5cc))
36
+ * **to-spec:** keep audit invariant within token budget ([5ab9667](https://github.com/dyphn1/Harness-everything/commit/5ab966710ca32e776a9cd9d8c608b92e2558898c))
37
+ * **to-spec:** stop treating workspace as subagent executor ([32b797c](https://github.com/dyphn1/Harness-everything/commit/32b797c9fd9028ca26b8bb61f101bace23a5cd18))
38
+
5
39
  ## [0.30.3](https://github.com/dyphn1/Harness-everything/compare/v0.30.2...v0.30.3) (2026-10-01)
6
40
 
7
41
  ### Bug Fixes
package/README.md CHANGED
@@ -56,12 +56,14 @@ Harness integrates directly into your workspace. There is no heavy daemon, no pa
56
56
  # /plugin install harness-everything
57
57
 
58
58
  # Option B: install Harness hooks/skills/advisory integrations into your workspace
59
- npx github:dyphn1/Harness-everything install
59
+ npx github:dyphn1/Harness-everything install # POSIX shells / Git Bash
60
+ npx.cmd github:dyphn1/Harness-everything install # Windows PowerShell
60
61
 
61
62
  # Option C: install or update the native Claude Code/Codex plugin
62
- # npx github:dyphn1/Harness-everything plugin-sync
63
- # ./scripts/plugin-sync.sh # POSIX shells / Git Bash
64
- # powershell -File scripts/plugin-sync.ps1 # Windows PowerShell
63
+ # npx github:dyphn1/Harness-everything plugin-sync # POSIX shells / Git Bash
64
+ # npx.cmd github:dyphn1/Harness-everything plugin-sync # Windows PowerShell
65
+ # ./scripts/plugin-sync.sh # POSIX shells / Git Bash
66
+ # node scripts/plugin-sync.js # Windows-safe direct entry
65
67
 
66
68
  # OpenAI/Codex local plugin packaging is repository-owned under:
67
69
  # .agents/plugins/marketplace.json
@@ -69,6 +71,8 @@ npx github:dyphn1/Harness-everything install
69
71
  # See docs/openai-plugin.md for local import/install and public Skills-only submission.
70
72
  ```
71
73
 
74
+ **Windows PowerShell:** use npm-family `.cmd` shims such as `npx.cmd` rather than weakening `ExecutionPolicy`. When reading Harness Markdown from Windows PowerShell 5.1, specify UTF-8 explicitly, for example `Get-Content -Encoding UTF8 -Raw <path>`.
75
+
72
76
  ### Expected Behavior After Installation:
73
77
  1. **Use the selected surface's real mechanism:** Claude Code hooks, the local OpenAI plugin lifecycle hooks, OpenCode's plugin API, or advisory instructions depending on what you installed.
74
78
  2. **Preflight / session context where packaged:** Hook-capable surfaces can inject environment/session context automatically; advisory-only surfaces must not be described as if they do.
@@ -100,9 +104,15 @@ The native `plugin-sync` command detects the installed host CLIs and applies the
100
104
  The installer records its state directories in `.git/info/exclude` — a local-only git ignore file — so Harness state never lands in a commit and your working tree (including `.gitignore`) is never modified. Everything owned by the general installer is removed with the built-in uninstaller:
101
105
 
102
106
  ```bash
103
- npx github:dyphn1/Harness-everything uninstall # interactive
104
- npx github:dyphn1/Harness-everything uninstall --local --skills -y # non-interactive, workspace only
105
- npx github:dyphn1/Harness-everything uninstall --global # also remove Harness-owned global state
107
+ # POSIX shells / Git Bash
108
+ npx github:dyphn1/Harness-everything uninstall
109
+ npx github:dyphn1/Harness-everything uninstall --local --skills -y
110
+ npx github:dyphn1/Harness-everything uninstall --global
111
+
112
+ # Windows PowerShell
113
+ npx.cmd github:dyphn1/Harness-everything uninstall
114
+ npx.cmd github:dyphn1/Harness-everything uninstall --local --skills -y
115
+ npx.cmd github:dyphn1/Harness-everything uninstall --global
106
116
  ```
107
117
 
108
118
  ---
package/bin/cli.js CHANGED
@@ -55,6 +55,11 @@ Harness OS - AI Agent Operating System CLI
55
55
 
56
56
  Usage:
57
57
  npx github:dyphn1/Harness-everything <command> [options]
58
+ npx.cmd github:dyphn1/Harness-everything <command> [options] # Windows PowerShell
59
+
60
+ Windows PowerShell note:
61
+ Use npx.cmd so restrictive ExecutionPolicy cannot redirect this command to npx.ps1.
62
+ Harness does not require changing ExecutionPolicy.
58
63
 
59
64
  Commands:
60
65
  install Install Harness OS hooks & skills into the local repository
@@ -152,7 +152,46 @@ try {
152
152
  fs.rmSync(tempOutput.replace(/\.zip$/i, '') + '.manifest.json', { force: true });
153
153
  }
154
154
 
155
+ // Windows PowerShell 5.1 treats BOM-less UTF-8 as a legacy code page when
156
+ // Get-Content has no explicit encoding, and resolves bare npm-family commands
157
+ // to .ps1 shims before .cmd. The routing skill is the agent-facing boundary
158
+ // that must prevent both failures before Harness itself starts.
159
+ const canonicalHarnessSkill = fs.readFileSync(path.join(ROOT, 'harness-everything', 'SKILL.md'), 'utf8');
160
+ const packagedHarnessSkill = fs.readFileSync(path.join(ROOT, 'plugins', 'harness-everything', 'skills', 'harness-everything', 'SKILL.md'), 'utf8');
161
+ assert.match(canonicalHarnessSkill, /Windows PowerShell/);
162
+ assert.match(canonicalHarnessSkill, /npx\.cmd/);
163
+ assert.match(canonicalHarnessSkill, /Get-Content -Encoding UTF8 -Raw/);
164
+ assert.strictEqual(packagedHarnessSkill, canonicalHarnessSkill, 'packaged Harness skill must preserve the Windows shell contract byte-for-text');
165
+ assert.match(canonicalHarnessSkill, /—/u, 'UTF-8 em dash must remain intact');
166
+ assert.match(canonicalHarnessSkill, /🚦 Harness Status/u, 'UTF-8 Harness Status marker must remain intact');
167
+
168
+ const readme = fs.readFileSync(path.join(ROOT, 'README.md'), 'utf8');
169
+ assert.match(readme, /npx\.cmd github:dyphn1\/Harness-everything install/);
170
+ assert.match(readme, /npx\.cmd github:dyphn1\/Harness-everything uninstall/);
171
+ assert.match(readme, /npx\.cmd github:dyphn1\/Harness-everything uninstall --local --skills -y/);
172
+ assert.match(readme, /npx\.cmd github:dyphn1\/Harness-everything uninstall --global/);
173
+ assert.match(readme, /Get-Content -Encoding UTF8 -Raw/);
174
+ assert.doesNotMatch(readme, /powershell -File scripts\/plugin-sync\.ps1/);
175
+
176
+ const troubleshootingDocs = fs.readFileSync(path.join(ROOT, 'docs', 'troubleshooting.md'), 'utf8');
177
+ for (const command of [
178
+ 'install',
179
+ 'install --global',
180
+ 'uninstall',
181
+ 'install --cursor',
182
+ 'install --codex',
183
+ 'plugin-sync --json'
184
+ ]) {
185
+ assert.ok(
186
+ troubleshootingDocs.includes(`npx.cmd github:dyphn1/Harness-everything ${command}`),
187
+ `troubleshooting must include Windows PowerShell form for: ${command}`
188
+ );
189
+ }
190
+
155
191
  const capabilityDocs = fs.readFileSync(path.join(ROOT, 'docs', 'platform-capabilities.md'), 'utf8');
192
+ assert.match(capabilityDocs, /npx\.cmd github:dyphn1\/Harness-everything plugin-sync/);
193
+ assert.match(capabilityDocs, /node scripts\/plugin-sync\.js/);
194
+ assert.doesNotMatch(capabilityDocs, /powershell -File scripts\/plugin-sync\.ps1/);
156
195
  assert.match(capabilityDocs, /platform-compatibility\.json/);
157
196
  assert.match(capabilityDocs, /Continue\.dev[\s\S]*`Unknown` for standalone `SKILL\.md` discovery/);
158
197
  assert.match(capabilityDocs, /live-host evidence|Partial` live-host loading/i);
@@ -44,6 +44,52 @@ for (const rel of [
44
44
  }
45
45
  assert.ok(/section order MAY vary/i.test(skillStyle), 'skill-style explicitly permits readability-driven section ordering');
46
46
 
47
+ // #266: older callers must describe review/evaluation outcomes, not treat
48
+ // multi-agent-workspace as a generic subagent executor. Topology remains
49
+ // router-owned, and canonical skill files must stay in sync with packaged copies.
50
+ const contractPairs = [
51
+ ['to-spec/SKILL.md', 'plugins/harness-everything/skills/to-spec/SKILL.md'],
52
+ ['to-spec/references/process.md', 'plugins/harness-everything/skills/to-spec/references/process.md'],
53
+ ['skill-creator/SKILL.md', 'plugins/harness-everything/skills/skill-creator/SKILL.md'],
54
+ ['skill-creator/references/testing-workflow.md', 'plugins/harness-everything/skills/skill-creator/references/testing-workflow.md'],
55
+ ['skill-creator/references/authoring-workflow.md', 'plugins/harness-everything/skills/skill-creator/references/authoring-workflow.md'],
56
+ ];
57
+ for (const [canonical, packaged] of contractPairs) {
58
+ assert.strictEqual(read(packaged), read(canonical), canonical + ' packaged mirror must match');
59
+ }
60
+ const contractSurfaces = [
61
+ 'to-spec/SKILL.md',
62
+ 'to-spec/references/process.md',
63
+ 'skill-creator/SKILL.md',
64
+ 'skill-creator/references/testing-workflow.md',
65
+ 'skill-creator/references/authoring-workflow.md',
66
+ 'docs/workflows/skill-creator.md',
67
+ ];
68
+ const staleExecutorClaims = [
69
+ /Design Audit \(\`multi-agent-workspace\`\)/i,
70
+ /recommend invoking \`multi-agent-workspace\`/i,
71
+ /A\/B-test via \`multi-agent-workspace\` subagents/i,
72
+ /multi-agent-workspace subagents/i,
73
+ /`multi-agent-workspace` skill for bounded sub-agent spawning/i,
74
+ /Use `multi-agent-workspace` to spawn/i,
75
+ /multi-agent entrypoint is `multi-agent-workspace`; it owns\s+bounded delegation/i,
76
+ ];
77
+ for (const rel of contractSurfaces) {
78
+ const body = read(rel);
79
+ for (const pattern of staleExecutorClaims) {
80
+ assert.ok(!pattern.test(body), rel + ' must not treat multi-agent-workspace as a generic executor: ' + pattern);
81
+ }
82
+ }
83
+ assert.ok(/independent Design Audit findings/i.test(read('to-spec/SKILL.md')), 'to-spec requires independent Design Audit evidence');
84
+ assert.ok(/Describe the required audit outcome, not an executor/i.test(read('to-spec/references/process.md')), 'to-spec process specifies audit outcome rather than executor');
85
+ assert.ok(/A\/B-test isolated control/i.test(read('skill-creator/SKILL.md')), 'skill-creator defines isolated A/B lanes');
86
+ assert.ok(/control \(without skill\) vs treatment \(with skill\)/i.test(read('skill-creator/SKILL.md')), 'skill-creator preserves control/treatment semantics');
87
+ assert.ok(/topology owned by the active router\/host/i.test(read('skill-creator/references/testing-workflow.md')), 'testing guide keeps evaluation topology router-owned');
88
+ assert.ok(/Execution topology belongs to the router\/host/i.test(read('skill-creator/references/authoring-workflow.md')), 'authoring guide keeps execution topology router-owned');
89
+ const workspaceContract = read('multi-agent-workspace/SKILL.md');
90
+ assert.ok(/router owns that decision/i.test(workspaceContract), 'multi-agent-workspace keeps router-owned topology');
91
+ assert.ok(/does not spawn workers/i.test(workspaceContract), 'multi-agent-workspace remains a topology/workspace consumer');
92
+
47
93
  // #272: preserve one detailed checkpoint plus the invariant; remove duplicate
48
94
  // restatements from later sections of the same router injection.
49
95
  const kernel = path.join(ROOT, 'harness-everything/scripts/kernel-router.js');
@@ -69,10 +69,15 @@ The package is tested at the mechanism layer and remains subject to the host’s
69
69
  The repository also ships a host-facing synchronization command for the native marketplace/plugin surfaces:
70
70
 
71
71
  ```bash
72
+ # POSIX shells / Git Bash
72
73
  npx github:dyphn1/Harness-everything plugin-sync
73
74
  # or, from a checkout:
74
75
  ./scripts/plugin-sync.sh
75
- powershell -File scripts/plugin-sync.ps1
76
+
77
+ # Windows PowerShell
78
+ npx.cmd github:dyphn1/Harness-everything plugin-sync
79
+ # or, from a checkout:
80
+ node scripts/plugin-sync.js
76
81
  ```
77
82
 
78
83
  The command detects Claude Code and Codex independently, ensures the Harness marketplace is configured, reads the installed-plugin state, then refreshes that marketplace before choosing the operation:
@@ -9,6 +9,8 @@ This guide helps you resolve common issues with Harness OS installation and usag
9
9
  **Symptom:** `EACCES: permission denied` during installation
10
10
 
11
11
  **Solution:**
12
+
13
+ POSIX shells / Git Bash:
12
14
  ```bash
13
15
  # Option 1: Install without sudo (recommended)
14
16
  npx github:dyphn1/Harness-everything install
@@ -22,6 +24,12 @@ npm config set prefix '~/.npm-global'
22
24
  export PATH=~/.npm-global/bin:$PATH
23
25
  ```
24
26
 
27
+ Windows PowerShell:
28
+ ```powershell
29
+ npx.cmd github:dyphn1/Harness-everything install
30
+ npx.cmd github:dyphn1/Harness-everything install --global
31
+ ```
32
+
25
33
  ### Node.js Version Issues
26
34
 
27
35
  **Symptom:** `SyntaxError` or unsupported engine errors
@@ -93,11 +101,17 @@ which node
93
101
  # Check if hooks directory exists
94
102
  ls -la hooks/scripts/
95
103
 
96
- # Reinstall Harness
104
+ # Reinstall Harness (POSIX shells / Git Bash)
97
105
  npx github:dyphn1/Harness-everything uninstall
98
106
  npx github:dyphn1/Harness-everything install
99
107
  ```
100
108
 
109
+ Windows PowerShell:
110
+ ```powershell
111
+ npx.cmd github:dyphn1/Harness-everything uninstall
112
+ npx.cmd github:dyphn1/Harness-everything install
113
+ ```
114
+
101
115
  ### Circuit Breaker Tripping Too Often
102
116
 
103
117
  **Symptom:** `RULE OF 3 CIRCUIT BREAKER TRIGGERED!` frequently
@@ -129,8 +143,13 @@ Do not expect this Claude Code state file merely because Harness skills or an in
129
143
  ```
130
144
  2. If missing, reinstall with Cursor flag:
131
145
  ```bash
146
+ # POSIX shells / Git Bash
132
147
  npx github:dyphn1/Harness-everything install --cursor
133
148
  ```
149
+ ```powershell
150
+ # Windows PowerShell
151
+ npx.cmd github:dyphn1/Harness-everything install --cursor
152
+ ```
134
153
  3. Restart Cursor.
135
154
 
136
155
  ### Copilot Not Following Rules
@@ -156,8 +175,13 @@ Do not expect this Claude Code state file merely because Harness skills or an in
156
175
  ```
157
176
  2. Reinstall the advisory Codex target if needed:
158
177
  ```bash
178
+ # POSIX shells / Git Bash
159
179
  npx github:dyphn1/Harness-everything install --codex
160
180
  ```
181
+ ```powershell
182
+ # Windows PowerShell
183
+ npx.cmd github:dyphn1/Harness-everything install --codex
184
+ ```
161
185
  3. Remember that this is the instruction-oriented installer path. It is different from the **local OpenAI plugin** package described below.
162
186
 
163
187
  ### Codex / local OpenAI plugin not appearing
@@ -192,9 +216,15 @@ The local plugin mechanically injects the session policy and invariant-first rou
192
216
  For the native host install/update path, run:
193
217
 
194
218
  ```bash
219
+ # POSIX shells / Git Bash
195
220
  npx github:dyphn1/Harness-everything plugin-sync --json
196
221
  ```
197
222
 
223
+ ```powershell
224
+ # Windows PowerShell
225
+ npx.cmd github:dyphn1/Harness-everything plugin-sync --json
226
+ ```
227
+
198
228
  The command installs only when the plugin is absent. An installed Claude plugin uses the explicit Claude update command; an installed Codex plugin uses marketplace upgrade. If plugin state cannot be read, synchronization stops without re-adding or overwriting the plugin.
199
229
 
200
230
  Host CLIs differ in which options and subcommands they implement, so the synchronizer degrades instead of failing:
@@ -13,7 +13,7 @@ graph TD
13
13
  NewReq["Trigger: new skill, SKILL.md audit, or self-evolve packaging"] --> DupGrep["Grep registry for near-duplicates; when-to-fire sentence becomes description"]
14
14
  DupGrep --> DraftContract["Draft Contract table first, then USE FOR and DO NOT USE FOR, then steps or flat reference"]
15
15
  DraftContract --> PushRef["Push branch-only detail to references/"]
16
- PushRef --> ABTest["A/B-test via multi-agent-workspace subagents; read both transcripts"]
16
+ PushRef --> ABTest["A/B-test in isolated control/treatment lanes; capture and read both transcripts"]
17
17
  ABTest --> QualityGate["Quality Checklist gate before registering"]
18
18
  QualityGate --> RegisterOut["Output: SKILL.md passing Quality Checklist; writes SKILL.md and updates registry or generated folder"]
19
19
  ```
@@ -38,7 +38,8 @@ graph LR
38
38
 
39
39
  ```mermaid
40
40
  graph LR
41
- CreatorSkill2["skill-creator / SKILL.md"] -->|A-B tests with| MultiAgent["multi-agent-workspace subagents"]
41
+ CreatorSkill2["skill-creator / SKILL.md"] -->|Defines isolated A/B lanes and evidence| EvalLanes["Control: without candidate skill / Treatment: with candidate skill"]
42
+ EvalLanes --> RouterExec["Router/host selects execution topology"]
42
43
  NonSkillDocs["Non-skill project docs"] -->|Use instead| RepoDocs["repo-docs or to-spec"]
43
44
  ThirdParty["Third-party skill discovery"] -->|Use instead| FindSkills["find-skills"]
44
45
  StyleOnly["Code style outside SKILL.md files"] -->|Out of scope| NotCreator["Not skill-creator"]
@@ -46,7 +47,7 @@ graph LR
46
47
 
47
48
  ## 3. Real-World Use Case
48
49
 
49
- A team wants a new `deploy-preview` skill. The author greps the registry for near-duplicates, writes the when-to-fire sentence as the description, drafts the Contract table first with its enforcement gate, then `USE FOR` and `DO NOT USE FOR`, then the steps, pushing long detail to `references/`. They A/B-test via `multi-agent-workspace` subagents, read both transcripts, run the Quality Checklist (`skill-creator/references/quality-checklist.md`), and only then register. A separate small tip discovered mid-session does not qualify as a dynamic skill and goes to `<workspace>/memories/repo/RULES.md`.
50
+ A team wants a new `deploy-preview` skill. The author greps the registry for near-duplicates, writes the when-to-fire sentence as the description, drafts the Contract table first with its enforcement gate, then `USE FOR` and `DO NOT USE FOR`, then the steps, pushing long detail to `references/`. They A/B-test in two isolated lanes (control without the candidate skill; treatment with it), capture and read both transcripts, let the router/host select the execution topology, run the Quality Checklist (`skill-creator/references/quality-checklist.md`), and only then register. A separate small tip discovered mid-session does not qualify as a dynamic skill and goes to `<workspace>/memories/repo/RULES.md`.
50
51
 
51
52
  ## 4. Verification Check
52
53
 
@@ -54,7 +55,7 @@ A team wants a new `deploy-preview` skill. The author greps the registry for nea
54
55
  - [ ] Contract table drafted first to force the enforcement gate
55
56
  - [ ] `USE FOR` and `DO NOT USE FOR` present before steps or flat reference
56
57
  - [ ] Branch-only detail pushed to `references/` (e.g. `skill-creator/references/quality-checklist.md`)
57
- - [ ] A/B-tested via `multi-agent-workspace` subagents and both transcripts read
58
+ - [ ] A/B-tested in isolated control/treatment lanes; both transcripts captured and read; execution topology left to the router/host
58
59
  - [ ] Quality Checklist passed before registering, including `USE FOR` / `DO NOT USE FOR` consistency
59
60
  - [ ] Output is a SKILL.md passing the Quality Checklist; `<skill>/SKILL.md` written and registry or generated folder updated
60
61
  - [ ] Dynamic path gated by Quality Checklist first; location, frontmatter triggers, generated type, and draft status correct
@@ -4,35 +4,32 @@ description: "Route software/project work through Harness: classify tier/topolog
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.30.3
7
+ version: 0.30.5
8
8
  ---
9
9
 
10
10
  # Harness Everything
11
11
 
12
- Kernel routing entry.
13
-
14
12
  ## USE FOR:
15
13
  - Software/project triage, routing, re-routing, workflow selection.
16
- - Work that names or matches another skill.
14
+ - Work naming or matching another skill.
17
15
 
18
16
  ## DO NOT USE FOR:
19
17
  - General Q&A or non-software writing.
20
18
 
21
19
  ## Invariants
22
- 1. **Route (MUST)** — establish scope/tier and selected/deferred topology.
23
- 2. **Verify (MUST)** — completion claims need objective evidence; `verify-gate.js --json` distinguishes passed, failed, discovered-but-unrun, and absent project checks.
20
+ 1. **Route (MUST)** — scope/tier plus selected/deferred topology.
21
+ 2. **Verify (MUST)** — objective evidence via `verify-gate.js --json`.
24
22
  3. **Zoom out (MUST)** — after 3 same-signature failures, use `zoom-out`.
25
- 4. **Resolve suggestions (MUST)** — read/evaluate each suggested `SKILL.md`; applicable core contracts MUST run, otherwise retain a flow-grounded reason.
26
- 5. **Surface status (MUST)** — non-trivial work renders `### 🚦 Harness Status` with bold `Current`, `Read / Evidence`, `Next`; optional `Risk / Blocked`.
27
- 6. **Keep agency** — required obligations are MUST; tactics MAY adapt. Numeric planning values MAY guide, never hard-stop.
23
+ 4. **Resolve suggestions (MUST)** — evaluate each suggested `SKILL.md`; run applicable core contracts or retain a flow-grounded reason.
24
+ 5. **Surface status (MUST)** — non-trivial work renders `### 🚦 Harness Status` with bold `Current`, `Read / Evidence`, `Next`; `Risk / Blocked` optional.
25
+ 6. **Keep agency** — required obligations are MUST; tactics MAY adapt. Numeric planning MAY guide, never hard-stop; only Rule-of-3 reflection and explicit user/host permission boundaries may block.
26
+ 7. **Windows PowerShell (MUST)** — `Get-Content -Encoding UTF8 -Raw`; npm `.cmd` shims (`npx.cmd`); never weaken `ExecutionPolicy`.
28
27
 
29
28
  ## Workflow
30
29
  1. Reuse kernel output or run `node "<this-skill-dir>/scripts/kernel-router.js" "<prompt summary>"`.
31
30
  2. Keep the routing checkpoint internal.
32
- 3. Resolve each suggestion as `use`, `not-applicable`, or `unresolved`; `use` follows its core contract.
33
- 4. Resolve selected-topology required invariants/stages/checks before completion.
34
- 5. Tier-3/Fable broad mutation MUST resolve isolation: linked worktree or explicit degraded fallback.
35
-
36
- **Rule:** semantic MUST is not hard blocking; only Rule-of-3 reflection and explicit user/host permission boundaries may block.
31
+ 3. Resolve suggestions as `use`, `not-applicable`, or `unresolved`.
32
+ 4. Complete selected-topology invariants/stages/checks.
33
+ 5. Tier-3/Fable broad mutation MUST use a linked worktree or explicit degraded fallback.
37
34
 
38
35
  Deep dive: <this-skill-dir>/references/triage-and-tiers.md
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "harness-enforcement",
3
3
  "description": "Repository inventory for the opencode enforcement plugin and its standalone helper",
4
- "version": "0.30.3",
4
+ "version": "0.30.5",
5
5
  "runtime": "index.mjs",
6
6
  "hooks": {
7
7
  "verify": "hooks/verify.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harness-everything",
3
- "version": "0.30.3",
3
+ "version": "0.30.5",
4
4
  "description": "Harness OS: An Orchestrated Agent Operating System for AI-driven Development",
5
5
  "main": "harness-everything/scripts/bootstrap.js",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harness-everything",
3
- "version": "0.30.3",
3
+ "version": "0.30.5",
4
4
  "description": "Invariant-first engineering harness for routing, verification, and failure recovery while preserving agent autonomy.",
5
5
  "author": {
6
6
  "name": "Miya Daniel",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "harness-everything",
4
- "version": "0.30.3",
4
+ "version": "0.30.5",
5
5
  "description": "Invariant-first engineering harness for routing, verification, and failure recovery while preserving agent autonomy.",
6
6
  "author": {
7
7
  "name": "Miya Daniel",
@@ -4,35 +4,32 @@ description: "Route software/project work through Harness: classify tier/topolog
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.30.3
7
+ version: 0.30.5
8
8
  ---
9
9
 
10
10
  # Harness Everything
11
11
 
12
- Kernel routing entry.
13
-
14
12
  ## USE FOR:
15
13
  - Software/project triage, routing, re-routing, workflow selection.
16
- - Work that names or matches another skill.
14
+ - Work naming or matching another skill.
17
15
 
18
16
  ## DO NOT USE FOR:
19
17
  - General Q&A or non-software writing.
20
18
 
21
19
  ## Invariants
22
- 1. **Route (MUST)** — establish scope/tier and selected/deferred topology.
23
- 2. **Verify (MUST)** — completion claims need objective evidence; `verify-gate.js --json` distinguishes passed, failed, discovered-but-unrun, and absent project checks.
20
+ 1. **Route (MUST)** — scope/tier plus selected/deferred topology.
21
+ 2. **Verify (MUST)** — objective evidence via `verify-gate.js --json`.
24
22
  3. **Zoom out (MUST)** — after 3 same-signature failures, use `zoom-out`.
25
- 4. **Resolve suggestions (MUST)** — read/evaluate each suggested `SKILL.md`; applicable core contracts MUST run, otherwise retain a flow-grounded reason.
26
- 5. **Surface status (MUST)** — non-trivial work renders `### 🚦 Harness Status` with bold `Current`, `Read / Evidence`, `Next`; optional `Risk / Blocked`.
27
- 6. **Keep agency** — required obligations are MUST; tactics MAY adapt. Numeric planning values MAY guide, never hard-stop.
23
+ 4. **Resolve suggestions (MUST)** — evaluate each suggested `SKILL.md`; run applicable core contracts or retain a flow-grounded reason.
24
+ 5. **Surface status (MUST)** — non-trivial work renders `### 🚦 Harness Status` with bold `Current`, `Read / Evidence`, `Next`; `Risk / Blocked` optional.
25
+ 6. **Keep agency** — required obligations are MUST; tactics MAY adapt. Numeric planning MAY guide, never hard-stop; only Rule-of-3 reflection and explicit user/host permission boundaries may block.
26
+ 7. **Windows PowerShell (MUST)** — `Get-Content -Encoding UTF8 -Raw`; npm `.cmd` shims (`npx.cmd`); never weaken `ExecutionPolicy`.
28
27
 
29
28
  ## Workflow
30
29
  1. Reuse kernel output or run `node "<this-skill-dir>/scripts/kernel-router.js" "<prompt summary>"`.
31
30
  2. Keep the routing checkpoint internal.
32
- 3. Resolve each suggestion as `use`, `not-applicable`, or `unresolved`; `use` follows its core contract.
33
- 4. Resolve selected-topology required invariants/stages/checks before completion.
34
- 5. Tier-3/Fable broad mutation MUST resolve isolation: linked worktree or explicit degraded fallback.
35
-
36
- **Rule:** semantic MUST is not hard blocking; only Rule-of-3 reflection and explicit user/host permission boundaries may block.
31
+ 3. Resolve suggestions as `use`, `not-applicable`, or `unresolved`.
32
+ 4. Complete selected-topology invariants/stages/checks.
33
+ 5. Tier-3/Fable broad mutation MUST use a linked worktree or explicit degraded fallback.
37
34
 
38
35
  Deep dive: <this-skill-dir>/references/triage-and-tiers.md
@@ -4,7 +4,7 @@ description: Author, audit, and refactor SKILL.md files against one quality bar
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.13.0
7
+ version: 0.30.4
8
8
  ---
9
9
 
10
10
  # Skill Creator
@@ -31,8 +31,8 @@ metadata:
31
31
  ## Authoring Workflow
32
32
 
33
33
  1. Grep the registry for near-duplicates; the when-to-fire sentence becomes the description.
34
- 2. Draft the Contract table first (forces the Enforcement Gate), then `## USE FOR:`/`## DO NOT USE FOR:`, then steps/flat reference; push branch-only detail to references/.
35
- 3. A/B-test via `multi-agent-workspace` subagents; read both transcripts.
34
+ 2. Draft Contract table first, then `## USE FOR:`/`## DO NOT USE FOR:`, then steps; move branch-only detail to references/.
35
+ 3. A/B-test isolated control (without skill) vs treatment (with skill); read both transcripts; router owns topology.
36
36
  4. Run the Quality Checklist; register (static quotes the description; dynamic below).
37
37
 
38
38
  ## Dynamic Skill Generation Contract
@@ -5,10 +5,10 @@ the enforcement gate. Use short ordered steps for actions and move branch-only
5
5
  detail into references or guides.
6
6
 
7
7
  Before registering a skill, check the Harness registry for overlap, define one
8
- human-readable frontmatter description, run realistic with/without tests using
9
- `multi-agent-workspace`, and complete the Quality Checklist. Static skills
10
- belong in the root catalog and need a routing eval; dynamic skills use the
11
- generated manifest flow from `self-evolve`.
8
+ human-readable frontmatter description, run realistic isolated with/without
9
+ tests, and complete the Quality Checklist. Static skills belong in the root
10
+ catalog and need a routing eval; dynamic skills use the generated manifest flow
11
+ from `self-evolve`.
12
12
 
13
- The canonical multi-agent entrypoint is `multi-agent-workspace`; it owns
14
- bounded delegation and workspace isolation.
13
+ Execution topology belongs to the router/host. `multi-agent-workspace` is only
14
+ consumed when the router already selected its workspace topology.
@@ -1,14 +1,14 @@
1
1
  # Testing Workflow
2
2
 
3
3
  Read this when `skill-creator/SKILL.md` asks for realistic trigger tests or a
4
- with/without comparison. Harness uses deterministic routing and the merged
5
- `multi-agent-workspace` skill for bounded sub-agent spawning.
4
+ with/without comparison. Use isolated control/treatment lanes and keep execution
5
+ topology owned by the active router/host.
6
6
 
7
7
  ## With/without comparison
8
8
 
9
9
  1. Write 2-3 realistic prompts with paths, framework names, and near-misses.
10
- 2. Use `multi-agent-workspace` to spawn one sub-agent with the draft skill
11
- loaded and one baseline with no mention of it.
10
+ 2. Run the treatment with the draft skill loaded and the control without it in
11
+ isolated lanes selected by the active router/host.
12
12
  3. Read both transcripts, not only final answers; record thrashing and missed
13
13
  gates as evidence.
14
14
  4. Construct one prompt that should trigger the skill's enforcement gate and
@@ -4,7 +4,7 @@ description: "Turn the conversation into a written spec — feature PRD, CLI/API
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.12.0
7
+ version: 0.30.4
8
8
  ---
9
9
 
10
10
  # To Spec
@@ -26,7 +26,7 @@ Turns the conversation into one published spec artifact. No interviewing — `gr
26
26
  2. Zero-trust context: cite `Evidence: <file:line> -> Finding: <meaning>`; blocking forks mean run `grill-me`/`grill-with-docs` first.
27
27
  3. Mandatory outline preview (closest fit, 10-20 lines + target path); write only after user confirms.
28
28
  4. Publish to `specs/<feature-slug>.md` (`Status: ready-for-agent`) or `reference/`, `adr/`.
29
- 5. Golden Flow: Feature spec needs a Design Audit (`multi-agent-workspace`) before `/to-tickets`.
29
+ 5. Golden Flow: Feature specs require independent Design Audit findings before `/to-tickets`; router owns topology.
30
30
 
31
31
  Deep dive: <this-skill-dir>/references/process.md
32
32
 
@@ -100,4 +100,4 @@ No additional triage needed beyond the `issueDefinition` marker. A clearly-shape
100
100
 
101
101
  ## Golden Flow rationale
102
102
 
103
- After publishing a `Feature spec` (Tier 3), do NOT immediately instruct the user to run `/to-tickets`. Instead, instruct the user to initiate a Design Audit first: recommend invoking `multi-agent-workspace` (or manually starting parallel Sub-agents) to conduct a Fan-out architectural audit (e.g., Security Auditor, Senior Architect) on the newly published spec. State explicitly: "This specification must pass a Design Audit before being broken down by `/to-tickets`. Any architectural flaws or over-engineering must be caught now, not during implementation."
103
+ After publishing a `Feature spec` (Tier 3), do NOT immediately instruct the user to run `/to-tickets`. Instead, require a Design Audit with at least two independent reviewer perspectives (for example, Security Auditor and Senior Architect) and preserve their findings as audit evidence. Describe the required audit outcome, not an executor: the Harness router/host selects the execution topology. `multi-agent-workspace` is valid only when the router contract has already selected `strategy=fable-multi-agent-workspace` with `workspace.required=true`; otherwise use the independent review lanes available on the active host/router. State explicitly: "This specification must pass a Design Audit before being broken down by `/to-tickets`. Any architectural flaws or over-engineering must be caught now, not during implementation."
package/sbom.cdx.json CHANGED
@@ -2,23 +2,23 @@
2
2
  "$schema": "https://cyclonedx.org/schema/bom-1.7.schema.json",
3
3
  "bomFormat": "CycloneDX",
4
4
  "specVersion": "1.7",
5
- "serialNumber": "urn:uuid:557653e9-e704-5fd3-b675-167e0cadb8c9",
5
+ "serialNumber": "urn:uuid:681ee313-d384-5851-8f3a-9ec7af56fc28",
6
6
  "version": 1,
7
7
  "metadata": {
8
- "timestamp": "2026-10-01T06:19:24.870Z",
8
+ "timestamp": "2026-10-06T03:46:28.900Z",
9
9
  "tools": [
10
10
  {
11
11
  "vendor": "Harness Everything",
12
12
  "name": "generate-sbom.js",
13
- "version": "0.30.3"
13
+ "version": "0.30.5"
14
14
  }
15
15
  ],
16
16
  "component": {
17
17
  "type": "application",
18
- "bom-ref": "pkg:npm/harness-everything@0.30.3",
18
+ "bom-ref": "pkg:npm/harness-everything@0.30.5",
19
19
  "name": "harness-everything",
20
- "version": "0.30.3",
21
- "purl": "pkg:npm/harness-everything@0.30.3"
20
+ "version": "0.30.5",
21
+ "purl": "pkg:npm/harness-everything@0.30.5"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -1999,7 +1999,7 @@
1999
1999
  ]
2000
2000
  },
2001
2001
  {
2002
- "ref": "pkg:npm/harness-everything@0.30.3",
2002
+ "ref": "pkg:npm/harness-everything@0.30.5",
2003
2003
  "dependsOn": [
2004
2004
  "pkg:npm/%40commitlint/cli@19.8.1",
2005
2005
  "pkg:npm/%40commitlint/config-conventional@19.8.1",
@@ -4,7 +4,7 @@ description: Author, audit, and refactor SKILL.md files against one quality bar
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.13.0
7
+ version: 0.30.4
8
8
  ---
9
9
 
10
10
  # Skill Creator
@@ -31,8 +31,8 @@ metadata:
31
31
  ## Authoring Workflow
32
32
 
33
33
  1. Grep the registry for near-duplicates; the when-to-fire sentence becomes the description.
34
- 2. Draft the Contract table first (forces the Enforcement Gate), then `## USE FOR:`/`## DO NOT USE FOR:`, then steps/flat reference; push branch-only detail to references/.
35
- 3. A/B-test via `multi-agent-workspace` subagents; read both transcripts.
34
+ 2. Draft Contract table first, then `## USE FOR:`/`## DO NOT USE FOR:`, then steps; move branch-only detail to references/.
35
+ 3. A/B-test isolated control (without skill) vs treatment (with skill); read both transcripts; router owns topology.
36
36
  4. Run the Quality Checklist; register (static quotes the description; dynamic below).
37
37
 
38
38
  ## Dynamic Skill Generation Contract
@@ -5,10 +5,10 @@ the enforcement gate. Use short ordered steps for actions and move branch-only
5
5
  detail into references or guides.
6
6
 
7
7
  Before registering a skill, check the Harness registry for overlap, define one
8
- human-readable frontmatter description, run realistic with/without tests using
9
- `multi-agent-workspace`, and complete the Quality Checklist. Static skills
10
- belong in the root catalog and need a routing eval; dynamic skills use the
11
- generated manifest flow from `self-evolve`.
8
+ human-readable frontmatter description, run realistic isolated with/without
9
+ tests, and complete the Quality Checklist. Static skills belong in the root
10
+ catalog and need a routing eval; dynamic skills use the generated manifest flow
11
+ from `self-evolve`.
12
12
 
13
- The canonical multi-agent entrypoint is `multi-agent-workspace`; it owns
14
- bounded delegation and workspace isolation.
13
+ Execution topology belongs to the router/host. `multi-agent-workspace` is only
14
+ consumed when the router already selected its workspace topology.
@@ -1,14 +1,14 @@
1
1
  # Testing Workflow
2
2
 
3
3
  Read this when `skill-creator/SKILL.md` asks for realistic trigger tests or a
4
- with/without comparison. Harness uses deterministic routing and the merged
5
- `multi-agent-workspace` skill for bounded sub-agent spawning.
4
+ with/without comparison. Use isolated control/treatment lanes and keep execution
5
+ topology owned by the active router/host.
6
6
 
7
7
  ## With/without comparison
8
8
 
9
9
  1. Write 2-3 realistic prompts with paths, framework names, and near-misses.
10
- 2. Use `multi-agent-workspace` to spawn one sub-agent with the draft skill
11
- loaded and one baseline with no mention of it.
10
+ 2. Run the treatment with the draft skill loaded and the control without it in
11
+ isolated lanes selected by the active router/host.
12
12
  3. Read both transcripts, not only final answers; record thrashing and missed
13
13
  gates as evidence.
14
14
  4. Construct one prompt that should trigger the skill's enforcement gate and
package/to-spec/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: "Turn the conversation into a written spec — feature PRD, CLI/API
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.12.0
7
+ version: 0.30.4
8
8
  ---
9
9
 
10
10
  # To Spec
@@ -26,7 +26,7 @@ Turns the conversation into one published spec artifact. No interviewing — `gr
26
26
  2. Zero-trust context: cite `Evidence: <file:line> -> Finding: <meaning>`; blocking forks mean run `grill-me`/`grill-with-docs` first.
27
27
  3. Mandatory outline preview (closest fit, 10-20 lines + target path); write only after user confirms.
28
28
  4. Publish to `specs/<feature-slug>.md` (`Status: ready-for-agent`) or `reference/`, `adr/`.
29
- 5. Golden Flow: Feature spec needs a Design Audit (`multi-agent-workspace`) before `/to-tickets`.
29
+ 5. Golden Flow: Feature specs require independent Design Audit findings before `/to-tickets`; router owns topology.
30
30
 
31
31
  Deep dive: <this-skill-dir>/references/process.md
32
32
 
@@ -100,4 +100,4 @@ No additional triage needed beyond the `issueDefinition` marker. A clearly-shape
100
100
 
101
101
  ## Golden Flow rationale
102
102
 
103
- After publishing a `Feature spec` (Tier 3), do NOT immediately instruct the user to run `/to-tickets`. Instead, instruct the user to initiate a Design Audit first: recommend invoking `multi-agent-workspace` (or manually starting parallel Sub-agents) to conduct a Fan-out architectural audit (e.g., Security Auditor, Senior Architect) on the newly published spec. State explicitly: "This specification must pass a Design Audit before being broken down by `/to-tickets`. Any architectural flaws or over-engineering must be caught now, not during implementation."
103
+ After publishing a `Feature spec` (Tier 3), do NOT immediately instruct the user to run `/to-tickets`. Instead, require a Design Audit with at least two independent reviewer perspectives (for example, Security Auditor and Senior Architect) and preserve their findings as audit evidence. Describe the required audit outcome, not an executor: the Harness router/host selects the execution topology. `multi-agent-workspace` is valid only when the router contract has already selected `strategy=fable-multi-agent-workspace` with `workspace.required=true`; otherwise use the independent review lanes available on the active host/router. State explicitly: "This specification must pass a Design Audit before being broken down by `/to-tickets`. Any architectural flaws or over-engineering must be caught now, not during implementation."