harness-evolver 1.1.0 → 1.2.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harness-evolver",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Meta-Harness-style autonomous harness optimization for Claude Code",
5
5
  "author": "Raphael Valdetaro",
6
6
  "license": "MIT",
@@ -97,20 +97,50 @@ If score is 1.0 and iterations < 3, STOP the loop and strongly recommend the cri
97
97
  > the eval is too easy, not that the harness is perfect. Run `/harness-evolver:critic`
98
98
  > before continuing.
99
99
 
100
- ### 7. Check Stop Conditions
100
+ ### 7. Auto-trigger Architect (on stagnation or regression)
101
+
102
+ Check if the architect should be auto-spawned. This happens when:
103
+ - **Stagnation**: 3 consecutive iterations within 1% of each other
104
+ - **Regression**: score dropped below parent score (even once)
105
+
106
+ AND `.harness-evolver/architecture.json` does NOT already exist.
107
+
108
+ If triggered:
109
+
110
+ ```bash
111
+ python3 $TOOLS/analyze_architecture.py \
112
+ --harness .harness-evolver/harnesses/{best_version}/harness.py \
113
+ --traces-dir .harness-evolver/harnesses/{best_version}/traces \
114
+ --summary .harness-evolver/summary.json \
115
+ -o .harness-evolver/architecture_signals.json
116
+ ```
117
+
118
+ Then spawn the `harness-evolver-architect` agent:
119
+
120
+ > The evolution loop has stagnated/regressed after {iterations} iterations (best: {best_score}).
121
+ > Analyze the harness architecture and recommend a topology change.
122
+ > Raw signals at `.harness-evolver/architecture_signals.json`.
123
+ > Write `.harness-evolver/architecture.json` and `.harness-evolver/architecture.md`.
124
+
125
+ After the architect completes, report:
126
+
127
+ > Architect recommends: {current} → {recommended} ({confidence} confidence)
128
+ > Migration path: {N} steps. Continuing evolution with architecture guidance.
129
+
130
+ Then **continue the loop** — the proposer will read `architecture.json` in the next iteration.
131
+
132
+ If `architecture.json` already exists (architect already ran), skip — don't re-run.
133
+
134
+ ### 8. Check Stop Conditions
101
135
 
102
- - **Stagnation**: last 3 scores within 1% of each other → stop
103
136
  - **Target**: `combined_score >= target_score` → stop
104
137
  - **N reached**: done
138
+ - **Stagnation post-architect**: 3 more iterations without improvement AFTER architect ran → stop (architecture change didn't help)
105
139
 
106
140
  ## When Loop Ends — Final Report
107
141
 
108
142
  - Best version and score
109
143
  - Improvement over baseline (absolute and %)
110
144
  - Total iterations run
145
+ - Whether architect was triggered and what it recommended
111
146
  - Suggest: "The best harness is at `.harness-evolver/harnesses/{best}/harness.py`. Copy it to your project."
112
-
113
- If the loop stopped due to stagnation AND `.harness-evolver/architecture.json` does NOT exist:
114
-
115
- > The proposer may have hit an architectural ceiling. Run `/harness-evolver:architect`
116
- > to analyze whether a different agent topology could help.