orchestrator-workflow 0.30.0 → 0.31.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 +39 -0
- package/assets/agents/implementer.md +11 -0
- package/assets/agents/reviewer.md +6 -1
- package/assets/skill/SKILL.md +17 -14
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.31.0] - 2026-09-07
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Tests only, no asset wording change. The reviewer prompt's output-contract
|
|
15
|
+
yaml-block negative pin now slices from the output-contract heading (and
|
|
16
|
+
requires exactly one yaml fence after it) instead of matching the first
|
|
17
|
+
yaml fence in the file, so an unrelated fence earlier in the prompt cannot
|
|
18
|
+
be mistaken for the output contract. The CHANGELOG's own prose copy of the
|
|
19
|
+
fix-round mutation-probe replay rule is now pinned, anchored on the
|
|
20
|
+
bullet's own opening text rather than the release heading above it, so
|
|
21
|
+
the pin survives the bullet moving under a version heading. A new guard
|
|
22
|
+
asserts every reviewer checklist item mirrored in SKILL.md (Placement,
|
|
23
|
+
the GitHub Actions run-step replay, identifier drift) still carries its
|
|
24
|
+
SKILL.md counterpart sentence, from one table of paired phrases, so
|
|
25
|
+
either half going missing fails the same test.
|
|
26
|
+
|
|
27
|
+
- The implementer prompt now requires running every long test, build, or
|
|
28
|
+
mutation-probe command in the foreground and waiting for it to finish
|
|
29
|
+
before returning, never backgrounding it and ending the turn: a batch
|
|
30
|
+
review found a probe run left running in the background whose result
|
|
31
|
+
was only recovered by resuming the subagent later, which is not
|
|
32
|
+
evidence the orchestrator can trust unattended. The reviewer and
|
|
33
|
+
implementer prompts now both caution against a spawned-CLI test
|
|
34
|
+
calibrated to a byte-count ceiling that sits inside the tool's own
|
|
35
|
+
run-to-run noise (timing digits, temp-directory names): a batch review
|
|
36
|
+
found exactly such a test pass locally and fail on the next run one
|
|
37
|
+
byte off, with no code change, and the fix is to pin the argument
|
|
38
|
+
under test in-process or assert the actual contract (a bound, or the
|
|
39
|
+
presence of a warning), never a byte ceiling. SKILL.md's Delegate
|
|
40
|
+
review step now prohibits running mutation probes in place against a
|
|
41
|
+
worktree a reviewer subagent is concurrently reviewing, after a batch
|
|
42
|
+
review found a reviewer verifying findings against a tree that was
|
|
43
|
+
mutating under it from a concurrent probe; the fix is worktree
|
|
44
|
+
isolation or waiting until the reviewer has returned. Consumers refresh
|
|
45
|
+
their installs at the next release to pick up all three prompt changes.
|
|
46
|
+
Motivated by agent-tasks task 0e17fb63; see `docs/okf/log.md` for the
|
|
47
|
+
incident detail behind each of the three rules.
|
|
48
|
+
|
|
10
49
|
## [0.30.0] - 2026-09-06
|
|
11
50
|
|
|
12
51
|
### Added
|
|
@@ -53,6 +53,17 @@ Rules:
|
|
|
53
53
|
criteria name and report its summary under `tests.executed`; when a
|
|
54
54
|
mutation-probe runner is available, run the named probes through it and
|
|
55
55
|
copy its fields into `mutation_probes`.
|
|
56
|
+
- Run every long test, build, or mutation-probe command in the foreground
|
|
57
|
+
and wait for it to finish before returning. When one foreground call
|
|
58
|
+
cannot hold it to completion, poll the backgrounded run to completion
|
|
59
|
+
and report its result before ending your turn; never end your turn with
|
|
60
|
+
the run still outstanding, since a run that outlives your turn is not
|
|
61
|
+
evidence you can report.
|
|
62
|
+
- A test that spawns a CLI and asserts its output against a byte-count
|
|
63
|
+
ceiling calibrated to sit inside the output's own run-to-run noise
|
|
64
|
+
(timing digits, temporary-directory names) is not a regression test; pin
|
|
65
|
+
the argument under test in-process, or assert the actual contract (a
|
|
66
|
+
bound, or the presence of a warning), never a byte ceiling.
|
|
56
67
|
- For any diff that adds or changes a GitHub Actions `run:` step, replay it
|
|
57
68
|
locally under the shell the step actually runs: `bash --noprofile --norc
|
|
58
69
|
-eo pipefail` when `shell: bash` is set on the step or via
|
|
@@ -38,7 +38,12 @@ Check, at minimum:
|
|
|
38
38
|
- Edge cases: empty inputs, error paths, concurrency, encoding, limits.
|
|
39
39
|
- Security: injection, path traversal, secrets, permissions, unsafe defaults.
|
|
40
40
|
- Test adequacy: are the new or changed behaviors covered, and would the new
|
|
41
|
-
tests actually fail if the change were reverted? Flag inert tests.
|
|
41
|
+
tests actually fail if the change were reverted? Flag inert tests. A test
|
|
42
|
+
that spawns a CLI and asserts its output against a byte-count ceiling
|
|
43
|
+
calibrated to sit inside the output's own run-to-run noise (timing digits,
|
|
44
|
+
temporary-directory names) is not a regression test; the fix is to pin
|
|
45
|
+
the argument under test in-process, or assert the actual contract (a
|
|
46
|
+
bound, or the presence of a warning), never a byte ceiling.
|
|
42
47
|
- Maintainability: naming, dead code, needless abstraction, doc drift.
|
|
43
48
|
- Placement: does the change add org-, machine-, or point-in-time-bound
|
|
44
49
|
evidence (dates, sample sizes, task ids, home paths, incident tallies) to a
|
package/assets/skill/SKILL.md
CHANGED
|
@@ -273,8 +273,8 @@ directory and the subagents.
|
|
|
273
273
|
implementer's log — and record the method, sample size, and result against
|
|
274
274
|
the implementer's claim in the reviewer output contract's `reproduction`
|
|
275
275
|
field. This does not apply to deterministic checks (a single test run,
|
|
276
|
-
`tsc`, lint): only claims that could vary run to run trigger it. The
|
|
277
|
-
|
|
276
|
+
`tsc`, lint): only claims that could vary run to run trigger it. The GitHub
|
|
277
|
+
Actions shell replay named in step 6 is a second, explicitly
|
|
278
278
|
non-probabilistic trigger for the same field, with `sample_size:
|
|
279
279
|
not_applicable` allowed when the replay itself has no meaningful sample
|
|
280
280
|
size. A change that deletes or renames an exported identifier, type, config
|
|
@@ -282,18 +282,21 @@ directory and the subagents.
|
|
|
282
282
|
describing the old name as current), by the reviewer or by the orchestrator
|
|
283
283
|
itself when it reviews a trivial rename per Scaling delegation, using a
|
|
284
284
|
connected drift check when one exists. When this is not the task's first
|
|
285
|
-
review round, name the round
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
285
|
+
review round, name the round number in the briefing; the reviewer marks each
|
|
286
|
+
finding's `recurrence` as `new` or `repeated` against the earlier rounds it
|
|
287
|
+
was told about, which is what lets the orchestrator detect the Review-round
|
|
288
|
+
escalation budget's trigger (see below) without re-deriving it by hand. When
|
|
289
|
+
the implementer's report replays a prior round's mutation probe, the
|
|
290
|
+
orchestrator's reviewer briefing names the replayed probes the implementer
|
|
291
|
+
reports as killed together with their `mutant` and `verified_applied_via`
|
|
292
|
+
values; the reviewer may then skip re-running those. The reviewer output
|
|
293
|
+
contract itself is unchanged. Never run mutation probes in place against a
|
|
294
|
+
worktree a reviewer subagent is concurrently reviewing; isolate the probe in
|
|
295
|
+
a separate worktree or wait until the reviewer has returned before probing
|
|
296
|
+
that tree again. For an explicitly adopted v1 run, ask the reviewer to
|
|
297
|
+
compare the frozen delegated criteria with the referenced evidence and judge
|
|
298
|
+
semantic adequacy, including whether a manual check is actually concrete and
|
|
299
|
+
reasoned.
|
|
297
300
|
8. **Decide acceptance.** Accept, request fixes, defer, or escalate to the
|
|
298
301
|
operator. High or critical findings block acceptance until fixed or
|
|
299
302
|
explicitly waived: critical findings require operator sign-off; high
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orchestrator-workflow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.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",
|