harness-everything 0.30.0 → 0.30.1
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +7 -0
- package/ci/fable-mode-test.js +16 -0
- package/docs/workflows/fable-mode.md +7 -0
- package/fable-mode/SKILL.md +1 -1
- package/fable-mode/agents/fable-orchestrator.md +4 -4
- package/fable-mode/agents/fable-worker-haiku.md +4 -4
- package/fable-mode/agents/fable-worker-sonnet.md +4 -4
- package/fable-mode/execution-guardrails/SKILL.md +5 -3
- package/fable-mode/execution-guardrails/references/guardrail-rules.md +12 -8
- package/fable-mode/fable-haiku/SKILL.md +1 -1
- package/fable-mode/fable-opus/SKILL.md +1 -1
- package/fable-mode/fable-sonnet/SKILL.md +1 -1
- package/opencode-plugin/plugin.json +1 -1
- package/package.json +1 -1
- package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
- package/plugins/harness-everything/plugin.json +1 -1
- package/plugins/harness-everything/skills/fable-mode/SKILL.md +1 -1
- package/plugins/harness-everything/skills/fable-mode/agents/fable-orchestrator.md +4 -4
- package/plugins/harness-everything/skills/fable-mode/agents/fable-worker-haiku.md +4 -4
- package/plugins/harness-everything/skills/fable-mode/agents/fable-worker-sonnet.md +4 -4
- package/plugins/harness-everything/skills/fable-mode/execution-guardrails/SKILL.md +5 -3
- package/plugins/harness-everything/skills/fable-mode/execution-guardrails/references/guardrail-rules.md +12 -8
- package/plugins/harness-everything/skills/fable-mode/fable-haiku/SKILL.md +1 -1
- package/plugins/harness-everything/skills/fable-mode/fable-opus/SKILL.md +1 -1
- package/plugins/harness-everything/skills/fable-mode/fable-sonnet/SKILL.md +1 -1
- package/sbom.cdx.json +7 -7
|
@@ -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.
|
|
13
|
+
"version": "0.30.1",
|
|
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.
|
|
4
|
+
"version": "0.30.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Miya Daniel"
|
|
7
7
|
},
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.30.1](https://github.com/dyphn1/Harness-everything/compare/v0.30.0...v0.30.1) (2026-10-01)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* **fable:** keep minor warnings reporting-only ([28d01e6](https://github.com/dyphn1/Harness-everything/commit/28d01e62acd223ca7506fe721204f29dc94518b8))
|
|
10
|
+
* **fable:** restore guardrail markdown spacing ([7daff05](https://github.com/dyphn1/Harness-everything/commit/7daff054ba39b9e28ddcc4a3a2441b0f6f448d22))
|
|
11
|
+
|
|
5
12
|
## [0.30.0](https://github.com/dyphn1/Harness-everything/compare/v0.29.0...v0.30.0) (2026-09-28)
|
|
6
13
|
|
|
7
14
|
### Features
|
package/ci/fable-mode-test.js
CHANGED
|
@@ -107,6 +107,22 @@ assert.match(ordinaryTier2.stdout, /RECOMMENDED TIER: Tier 2/);
|
|
|
107
107
|
assert.doesNotMatch(ordinaryTier2.stdout, /REQUESTED FABLE MODEL MODE/);
|
|
108
108
|
assert.doesNotMatch(ordinaryTier2.stdout, /fable-opus\/SKILL\.md/);
|
|
109
109
|
|
|
110
|
+
const warningBatchContract = '**Warning batching.** Collect minor concerns and list them together in the next natural report or handoff; their count alone MUST NOT stop, pause, or return the worker/stage. An independently material, confirmed concern may stop the current stage and be surfaced immediately.';
|
|
111
|
+
for (const rel of [
|
|
112
|
+
'fable-mode/agents/fable-worker-haiku.md',
|
|
113
|
+
'fable-mode/agents/fable-worker-sonnet.md',
|
|
114
|
+
'fable-mode/agents/fable-orchestrator.md',
|
|
115
|
+
'fable-mode/execution-guardrails/SKILL.md',
|
|
116
|
+
]) {
|
|
117
|
+
const prompt = fs.readFileSync(path.join(root, rel), 'utf8').replace(/\s+/g, ' ');
|
|
118
|
+
assert.ok(prompt.includes(warningBatchContract), `${rel} must keep minor-concern batching reporting-only`);
|
|
119
|
+
assert.doesNotMatch(
|
|
120
|
+
prompt,
|
|
121
|
+
/minor concerns.{0,200}stop and surface all at once before continuing/i,
|
|
122
|
+
`${rel} must not introduce a warning-count stop condition`
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
110
126
|
const auditLines = fs.readFileSync(auditFile, 'utf8').trim().split(/\r?\n/).filter(Boolean);
|
|
111
127
|
assert.strictEqual(auditLines.length, 5);
|
|
112
128
|
for (const line of auditLines) {
|
|
@@ -76,6 +76,13 @@ flowchart TD
|
|
|
76
76
|
Check -->|Pass| Handoff[Compact evidence + handoff]
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
+
Minor-concern batching is **not** a stage transition. Workers keep producing and
|
|
80
|
+
verifying the assigned artifact and include accumulated minor concerns in the next
|
|
81
|
+
natural report/handoff; the number of minor concerns alone never stops or returns a
|
|
82
|
+
worker. A material confirmed blocker may stop the current stage immediately. Repeated
|
|
83
|
+
matching execution failures use the separate Rule-of-3 path: zoom out, reflect, then
|
|
84
|
+
`RESUME` on a new approach or `ESCALATE` when a real decision is required.
|
|
85
|
+
|
|
79
86
|
At most two full replans are allowed before unresolved blockers are escalated rather than hidden behind endless restructuring.
|
|
80
87
|
|
|
81
88
|
## 5. Completion Boundary
|
package/fable-mode/SKILL.md
CHANGED
|
@@ -152,10 +152,10 @@ hasn't been confirmed present. Absence of evidence is not the finding; web
|
|
|
152
152
|
silence is never grounds for a warning against the user's firsthand information.
|
|
153
153
|
Confirm, then flag.
|
|
154
154
|
|
|
155
|
-
**Warning
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
155
|
+
**Warning batching.** Collect minor concerns and list them together in the next
|
|
156
|
+
natural report or handoff; their count alone MUST NOT stop, pause, or return the
|
|
157
|
+
worker/stage. An independently material, confirmed concern may stop the current
|
|
158
|
+
stage and be surfaced immediately.
|
|
159
159
|
|
|
160
160
|
**Find-and-replace safety.** Anchor substring replaces on word boundaries
|
|
161
161
|
(`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
|
|
@@ -41,10 +41,10 @@ Grep, diff, run it, or check the source directly. Never report a problem that
|
|
|
41
41
|
hasn't been confirmed present. Absence of evidence is not the finding. Confirm,
|
|
42
42
|
then flag.
|
|
43
43
|
|
|
44
|
-
**Warning
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
**Warning batching.** Collect minor concerns and list them together in the next
|
|
45
|
+
natural report or handoff; their count alone MUST NOT stop, pause, or return the
|
|
46
|
+
worker/stage. An independently material, confirmed concern may stop the current
|
|
47
|
+
stage and be surfaced immediately.
|
|
48
48
|
|
|
49
49
|
**Find-and-replace safety.** Anchor substring replaces on word boundaries
|
|
50
50
|
(`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
|
|
@@ -42,10 +42,10 @@ hasn't been confirmed present. Absence of evidence is not the finding; web
|
|
|
42
42
|
silence is never grounds for a warning against the user's firsthand information.
|
|
43
43
|
Confirm, then flag.
|
|
44
44
|
|
|
45
|
-
**Warning
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
**Warning batching.** Collect minor concerns and list them together in the next
|
|
46
|
+
natural report or handoff; their count alone MUST NOT stop, pause, or return the
|
|
47
|
+
worker/stage. An independently material, confirmed concern may stop the current
|
|
48
|
+
stage and be surfaced immediately.
|
|
49
49
|
|
|
50
50
|
**Find-and-replace safety.** Anchor substring replaces on word boundaries
|
|
51
51
|
(`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
|
|
@@ -7,7 +7,7 @@ description: >-
|
|
|
7
7
|
license: Apache-2.0
|
|
8
8
|
metadata:
|
|
9
9
|
author: Miya Daniel
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.30.1
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Execution Guardrails
|
|
@@ -17,7 +17,7 @@ metadata:
|
|
|
17
17
|
| Component | Spec |
|
|
18
18
|
| :--- | :--- |
|
|
19
19
|
| **Trigger / Input** | Turn raising a warning or performing search-and-replace edits. |
|
|
20
|
-
| **Expected Output** | Verified warnings; batched caveats
|
|
20
|
+
| **Expected Output** | Verified warnings; batched caveats without count-based stops; corruption-checked edits. |
|
|
21
21
|
| **State Mutations** | None — governs execution quality for file-editing turns. |
|
|
22
22
|
| **Enforcement Gate** | Verify before flagging; validate edits post-write. |
|
|
23
23
|
|
|
@@ -35,9 +35,11 @@ metadata:
|
|
|
35
35
|
## Core Rules
|
|
36
36
|
|
|
37
37
|
1. **Verify before flag** — Confirm a problem exists before reporting it. Never convert absence of evidence into a warning.
|
|
38
|
-
2. **Warning
|
|
38
|
+
2. **Warning batching.** Collect minor concerns and list them together in the next natural report or handoff; their count alone MUST NOT stop, pause, or return the worker/stage. An independently material, confirmed concern may stop the current stage and be surfaced immediately.
|
|
39
39
|
3. **Find-and-replace safety** — Prefer structured edit tools over shell `sed`; anchor with unique context or `\bword\b` boundaries; verify file integrity post-edit. Never replace-all blindly.
|
|
40
40
|
|
|
41
|
+
Repeated matching execution failures remain governed by Rule-of-3 / `zoom-out`; warning batching never substitutes for that recovery path.
|
|
42
|
+
|
|
41
43
|
These rules are always-on, even when `fable-mode`'s staged loop is not running.
|
|
42
44
|
|
|
43
45
|
Deep dive: <this-skill-dir>/references/guardrail-rules.md
|
|
@@ -26,17 +26,21 @@ attempted and where it failed — not a vague appeal to difficulty.
|
|
|
26
26
|
|
|
27
27
|
## 2. Warning threshold
|
|
28
28
|
|
|
29
|
-
Across any run, minor concerns accumulate that
|
|
30
|
-
Keep a running count. At the threshold — **default three, tunable if
|
|
31
|
-
different number** —
|
|
29
|
+
Across any run, minor concerns accumulate that are not worth interrupting execution
|
|
30
|
+
for individually. Keep a running count. At the threshold — **default three, tunable if
|
|
31
|
+
the user sets a different number** — batch them for the next natural report or handoff.
|
|
32
|
+
The threshold changes presentation only: it MUST NOT stop, pause, return, or otherwise
|
|
33
|
+
end a worker/stage by count alone.
|
|
32
34
|
|
|
33
|
-
Rationale: three small things pointing the same direction
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
Rationale: three small things pointing the same direction are easier to evaluate as one
|
|
36
|
+
batch. Below threshold, keep working; a drip of trivial caveats is noise. At threshold,
|
|
37
|
+
keep working and preserve the batch for the report instead of creating a second circuit
|
|
38
|
+
breaker.
|
|
37
39
|
|
|
38
40
|
A concern that independently meets the verify-before-flag bar and is material on its own
|
|
39
|
-
|
|
41
|
+
may stop the current stage and be surfaced immediately. Repeated matching execution
|
|
42
|
+
failures are governed separately by Rule-of-3 -> zoom-out -> RESUME/ESCALATE. The
|
|
43
|
+
warning threshold governs minor-concern reporting only.
|
|
40
44
|
|
|
41
45
|
## 3. Find-and-replace safety
|
|
42
46
|
|
package/package.json
CHANGED
|
@@ -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.
|
|
4
|
+
"version": "0.30.1",
|
|
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",
|
|
@@ -152,10 +152,10 @@ hasn't been confirmed present. Absence of evidence is not the finding; web
|
|
|
152
152
|
silence is never grounds for a warning against the user's firsthand information.
|
|
153
153
|
Confirm, then flag.
|
|
154
154
|
|
|
155
|
-
**Warning
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
155
|
+
**Warning batching.** Collect minor concerns and list them together in the next
|
|
156
|
+
natural report or handoff; their count alone MUST NOT stop, pause, or return the
|
|
157
|
+
worker/stage. An independently material, confirmed concern may stop the current
|
|
158
|
+
stage and be surfaced immediately.
|
|
159
159
|
|
|
160
160
|
**Find-and-replace safety.** Anchor substring replaces on word boundaries
|
|
161
161
|
(`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
|
|
@@ -41,10 +41,10 @@ Grep, diff, run it, or check the source directly. Never report a problem that
|
|
|
41
41
|
hasn't been confirmed present. Absence of evidence is not the finding. Confirm,
|
|
42
42
|
then flag.
|
|
43
43
|
|
|
44
|
-
**Warning
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
**Warning batching.** Collect minor concerns and list them together in the next
|
|
45
|
+
natural report or handoff; their count alone MUST NOT stop, pause, or return the
|
|
46
|
+
worker/stage. An independently material, confirmed concern may stop the current
|
|
47
|
+
stage and be surfaced immediately.
|
|
48
48
|
|
|
49
49
|
**Find-and-replace safety.** Anchor substring replaces on word boundaries
|
|
50
50
|
(`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
|
|
@@ -42,10 +42,10 @@ hasn't been confirmed present. Absence of evidence is not the finding; web
|
|
|
42
42
|
silence is never grounds for a warning against the user's firsthand information.
|
|
43
43
|
Confirm, then flag.
|
|
44
44
|
|
|
45
|
-
**Warning
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
**Warning batching.** Collect minor concerns and list them together in the next
|
|
46
|
+
natural report or handoff; their count alone MUST NOT stop, pause, or return the
|
|
47
|
+
worker/stage. An independently material, confirmed concern may stop the current
|
|
48
|
+
stage and be surfaced immediately.
|
|
49
49
|
|
|
50
50
|
**Find-and-replace safety.** Anchor substring replaces on word boundaries
|
|
51
51
|
(`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
|
|
@@ -7,7 +7,7 @@ description: >-
|
|
|
7
7
|
license: Apache-2.0
|
|
8
8
|
metadata:
|
|
9
9
|
author: Miya Daniel
|
|
10
|
-
version: 0.
|
|
10
|
+
version: 0.30.1
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Execution Guardrails
|
|
@@ -17,7 +17,7 @@ metadata:
|
|
|
17
17
|
| Component | Spec |
|
|
18
18
|
| :--- | :--- |
|
|
19
19
|
| **Trigger / Input** | Turn raising a warning or performing search-and-replace edits. |
|
|
20
|
-
| **Expected Output** | Verified warnings; batched caveats
|
|
20
|
+
| **Expected Output** | Verified warnings; batched caveats without count-based stops; corruption-checked edits. |
|
|
21
21
|
| **State Mutations** | None — governs execution quality for file-editing turns. |
|
|
22
22
|
| **Enforcement Gate** | Verify before flagging; validate edits post-write. |
|
|
23
23
|
|
|
@@ -35,9 +35,11 @@ metadata:
|
|
|
35
35
|
## Core Rules
|
|
36
36
|
|
|
37
37
|
1. **Verify before flag** — Confirm a problem exists before reporting it. Never convert absence of evidence into a warning.
|
|
38
|
-
2. **Warning
|
|
38
|
+
2. **Warning batching.** Collect minor concerns and list them together in the next natural report or handoff; their count alone MUST NOT stop, pause, or return the worker/stage. An independently material, confirmed concern may stop the current stage and be surfaced immediately.
|
|
39
39
|
3. **Find-and-replace safety** — Prefer structured edit tools over shell `sed`; anchor with unique context or `\bword\b` boundaries; verify file integrity post-edit. Never replace-all blindly.
|
|
40
40
|
|
|
41
|
+
Repeated matching execution failures remain governed by Rule-of-3 / `zoom-out`; warning batching never substitutes for that recovery path.
|
|
42
|
+
|
|
41
43
|
These rules are always-on, even when `fable-mode`'s staged loop is not running.
|
|
42
44
|
|
|
43
45
|
Deep dive: <this-skill-dir>/references/guardrail-rules.md
|
|
@@ -26,17 +26,21 @@ attempted and where it failed — not a vague appeal to difficulty.
|
|
|
26
26
|
|
|
27
27
|
## 2. Warning threshold
|
|
28
28
|
|
|
29
|
-
Across any run, minor concerns accumulate that
|
|
30
|
-
Keep a running count. At the threshold — **default three, tunable if
|
|
31
|
-
different number** —
|
|
29
|
+
Across any run, minor concerns accumulate that are not worth interrupting execution
|
|
30
|
+
for individually. Keep a running count. At the threshold — **default three, tunable if
|
|
31
|
+
the user sets a different number** — batch them for the next natural report or handoff.
|
|
32
|
+
The threshold changes presentation only: it MUST NOT stop, pause, return, or otherwise
|
|
33
|
+
end a worker/stage by count alone.
|
|
32
34
|
|
|
33
|
-
Rationale: three small things pointing the same direction
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
Rationale: three small things pointing the same direction are easier to evaluate as one
|
|
36
|
+
batch. Below threshold, keep working; a drip of trivial caveats is noise. At threshold,
|
|
37
|
+
keep working and preserve the batch for the report instead of creating a second circuit
|
|
38
|
+
breaker.
|
|
37
39
|
|
|
38
40
|
A concern that independently meets the verify-before-flag bar and is material on its own
|
|
39
|
-
|
|
41
|
+
may stop the current stage and be surfaced immediately. Repeated matching execution
|
|
42
|
+
failures are governed separately by Rule-of-3 -> zoom-out -> RESUME/ESCALATE. The
|
|
43
|
+
warning threshold governs minor-concern reporting only.
|
|
40
44
|
|
|
41
45
|
## 3. Find-and-replace safety
|
|
42
46
|
|
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:
|
|
5
|
+
"serialNumber": "urn:uuid:4d14e861-0454-56ef-a99b-c25f67dc9e83",
|
|
6
6
|
"version": 1,
|
|
7
7
|
"metadata": {
|
|
8
|
-
"timestamp": "2026-
|
|
8
|
+
"timestamp": "2026-10-01T02:23:01.933Z",
|
|
9
9
|
"tools": [
|
|
10
10
|
{
|
|
11
11
|
"vendor": "Harness Everything",
|
|
12
12
|
"name": "generate-sbom.js",
|
|
13
|
-
"version": "0.30.
|
|
13
|
+
"version": "0.30.1"
|
|
14
14
|
}
|
|
15
15
|
],
|
|
16
16
|
"component": {
|
|
17
17
|
"type": "application",
|
|
18
|
-
"bom-ref": "pkg:npm/harness-everything@0.30.
|
|
18
|
+
"bom-ref": "pkg:npm/harness-everything@0.30.1",
|
|
19
19
|
"name": "harness-everything",
|
|
20
|
-
"version": "0.30.
|
|
21
|
-
"purl": "pkg:npm/harness-everything@0.30.
|
|
20
|
+
"version": "0.30.1",
|
|
21
|
+
"purl": "pkg:npm/harness-everything@0.30.1"
|
|
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.
|
|
2002
|
+
"ref": "pkg:npm/harness-everything@0.30.1",
|
|
2003
2003
|
"dependsOn": [
|
|
2004
2004
|
"pkg:npm/%40commitlint/cli@19.8.1",
|
|
2005
2005
|
"pkg:npm/%40commitlint/config-conventional@19.8.1",
|