orchestrator-workflow 0.22.0 → 0.23.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/CHANGELOG.md +26 -0
- package/INSTALL-AGENT.md +4 -3
- package/assets/agents-md-section.md +30 -10
- package/assets/skill/SKILL.md +10 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,32 @@ All notable changes to `orchestrator-workflow` are documented here.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.23.0] - 2026-08-24
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **Tightened the `implementer-low` tier rule from discretion to a checkable
|
|
13
|
+
gate on the task contract.** `agents-md-section.md`'s Scaling delegation
|
|
14
|
+
bullet and `SKILL.md` step 6 ("Delegate implementation") no longer say
|
|
15
|
+
`-low` "fits mechanical, narrowly scoped tasks" for the implementer;
|
|
16
|
+
`implementer-low` is now spawned only when none of the following hold: an
|
|
17
|
+
acceptance criterion demands a test, typecheck, lint, or build run; the task
|
|
18
|
+
assignment names mutation probes to run; or the task slicer's
|
|
19
|
+
`suggested_tests` came back non-empty. A task with any of those, including a
|
|
20
|
+
bugfix that looks mechanical, runs on the unsuffixed implementer or higher.
|
|
21
|
+
When it is unclear whether a criterion demands a run, exclude
|
|
22
|
+
`implementer-low`. The explorer and the task-slicer keep the prior
|
|
23
|
+
discretionary `-low` guidance unchanged, since no equivalent measurement
|
|
24
|
+
exists for those roles. Operator decision 2026-08-24 after a Tier-A/B
|
|
25
|
+
measurement of implementer-low as installed (Haiku 4.5) against the default
|
|
26
|
+
implementer (Sonnet 5, effort medium) (agent-tasks task 7f38899d), blinded,
|
|
27
|
+
n=8, identical tasks in both tiers: implementer-low reached accept a median
|
|
28
|
+
320 seconds slower (p=0.016), drew 9 high-plus-critical review findings
|
|
29
|
+
against 1, and needed 8 fix rounds against 1. The A/B's implementer-low ran
|
|
30
|
+
on Haiku 4.5, which does not support the `effort` parameter, so the harness
|
|
31
|
+
ignores the pinned `effort: low` on that model; the measurement compared
|
|
32
|
+
Haiku 4.5 without effort control against Sonnet 5 at `effort: medium`.
|
|
33
|
+
|
|
8
34
|
## [0.22.0] - 2026-08-20
|
|
9
35
|
|
|
10
36
|
### Changed
|
package/INSTALL-AGENT.md
CHANGED
|
@@ -198,12 +198,13 @@ steps in the repository you were asked to install into.
|
|
|
198
198
|
```
|
|
199
199
|
- `.ai/workflow/manifest.json`, exactly this shape (harnesses MUST be an
|
|
200
200
|
array, `profile` is `"minimal"` or `"full"`, models keyed by role,
|
|
201
|
-
version = the kit version you installed
|
|
201
|
+
version = the kit version you installed, read from this kit's own
|
|
202
|
+
`packages/orchestrator-workflow/package.json` `version` field):
|
|
202
203
|
|
|
203
204
|
```json
|
|
204
205
|
{
|
|
205
206
|
"kit": "orchestrator-workflow",
|
|
206
|
-
"version": "
|
|
207
|
+
"version": "<kit version you installed>",
|
|
207
208
|
"harnesses": ["claude", "opencode"],
|
|
208
209
|
"profile": "full",
|
|
209
210
|
"tiers": false,
|
|
@@ -215,7 +216,7 @@ steps in the repository you were asked to install into.
|
|
|
215
216
|
"advisor": "opus"
|
|
216
217
|
},
|
|
217
218
|
"files": {},
|
|
218
|
-
"installedAt": "
|
|
219
|
+
"installedAt": "<ISO 8601 timestamp of this install>"
|
|
219
220
|
}
|
|
220
221
|
```
|
|
221
222
|
|
|
@@ -50,16 +50,36 @@ default, not a ritual.
|
|
|
50
50
|
changes whose risk or size warrants an independent skeptical pass. Either
|
|
51
51
|
way, review is never skipped.
|
|
52
52
|
- When tier variants are installed (manifest `tiers: true`), the orchestrator
|
|
53
|
-
picks the effort tier per task by complexity and risk, at its own
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
picks the effort tier per task by complexity and risk, at its own judgment.
|
|
54
|
+
The unsuffixed default subagent is the normal case; `-high`/`-xhigh` fit
|
|
55
|
+
high-risk changes, hard problems, or repeated failed attempts. For the
|
|
56
|
+
implementer specifically, `-low` is spawned only when none of the following
|
|
57
|
+
hold: an acceptance criterion demands a test, typecheck, lint, or build run;
|
|
58
|
+
the task assignment names mutation probes to run; or the task slicer's
|
|
59
|
+
`suggested_tests` came back non-empty. This is checkable against the task
|
|
60
|
+
contract rather than a judgment about how hard the task looks: any one of
|
|
61
|
+
those three excludes `implementer-low`, and the task runs on the unsuffixed
|
|
62
|
+
implementer or higher, even when the change looks mechanical (a bugfix
|
|
63
|
+
included); when it is unclear whether a criterion demands a run, exclude
|
|
64
|
+
`implementer-low`. This rule is anchored by an A/B measurement of
|
|
65
|
+
implementer-low as installed (Haiku 4.5) against the default implementer
|
|
66
|
+
(Sonnet 5, effort medium) (2026-08-24, n=8, identical tasks in both tiers,
|
|
67
|
+
blinded reviews, agent-tasks task 7f38899d): implementer-low reached accept
|
|
68
|
+
a median 320 seconds slower (p=0.016), drew 9 high-plus-critical review
|
|
69
|
+
findings against 1, and needed 8 fix rounds against 1. The A/B's
|
|
70
|
+
implementer-low ran on Haiku 4.5, which does not support the `effort`
|
|
71
|
+
parameter (per Anthropic's model reference), so the harness ignores the
|
|
72
|
+
pinned `effort: low` on that model; the measurement compared Haiku 4.5
|
|
73
|
+
without effort control against Sonnet 5 at `effort: medium`. For the
|
|
74
|
+
explorer and the task-slicer, a `-low` variant still suits narrowly scoped,
|
|
75
|
+
mechanical work; no equivalent measurement exists for those two roles, so
|
|
76
|
+
their rule is unchanged. Not every role gets every tier: `-xhigh` exists
|
|
77
|
+
only for the implementer, the reviewer, and the advisor. The reviewer's
|
|
78
|
+
downshift is `-medium` rather than `-low`, since its default already sits at
|
|
79
|
+
high. The advisor has no downshift at all: its default `high` is already its
|
|
80
|
+
only non-`-xhigh` tier. Spawn only variants that are actually installed.
|
|
81
|
+
Tier choice is a conscious decision, not a ritual; when unsure, use the
|
|
82
|
+
default.
|
|
63
83
|
- Every unsuffixed default subagent carries its own pinned default effort
|
|
64
84
|
baked into its own file, not inherited from the orchestrator session:
|
|
65
85
|
medium for the explorer, the task-slicer, and the implementer; high for
|
package/assets/skill/SKILL.md
CHANGED
|
@@ -141,7 +141,16 @@ directory and the subagents.
|
|
|
141
141
|
installed `implementer-<tier>` subagents, if any) by the task's
|
|
142
142
|
complexity and risk, at your own judgment, defaulting to the unsuffixed
|
|
143
143
|
subagent when unsure; record a non-default tier choice with a
|
|
144
|
-
one-line reason in `03-decisions.md` when the task is non-trivial.
|
|
144
|
+
one-line reason in `03-decisions.md` when the task is non-trivial.
|
|
145
|
+
`implementer-low` is spawned only when none of the following hold: an
|
|
146
|
+
acceptance criterion demands a test, typecheck, lint, or build run; the
|
|
147
|
+
task assignment names mutation probes to run; or the task slicer's
|
|
148
|
+
`suggested_tests` came back non-empty. Any one of those three excludes
|
|
149
|
+
`implementer-low`, even for a change that looks mechanical (a bugfix
|
|
150
|
+
included) (2026-08-24 A/B measurement, n=8: implementer-low reached accept
|
|
151
|
+
a median 320 seconds slower, p=0.016, with 9 high-plus-critical review
|
|
152
|
+
findings against 1 and 8 fix rounds against 1). When it is unclear
|
|
153
|
+
whether a criterion demands a run, exclude `implementer-low`. When a
|
|
145
154
|
task's acceptance rests on a test that must fail without the change, name
|
|
146
155
|
the mutation probes to run in the task assignment; the implementer reports
|
|
147
156
|
each one in the output contract's `mutation_probes` field (apply the mutant
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orchestrator-workflow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Installer for an orchestrator-led agent workflow: .ai/ run state, an AGENTS.md policy section, and per-harness subagent definitions for Claude Code, OpenAI Codex, and opencode",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|