@feigi/fleet-ctl 3.95.2 → 3.95.4
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/agents/fleet-implementer-slow-high.agent.md +1 -1
- package/agents/fleet-implementer-slow-medium.agent.md +1 -1
- package/agents/fleet-implementer-smol-high.agent.md +1 -1
- package/agents/fleet-implementer-task-high.agent.md +1 -1
- package/agents/fleet-implementer-task-max.agent.md +1 -1
- package/package.json +1 -1
- package/scripts/ledger.mjs +3 -1
- package/scripts/report-schema.mjs +12 -5
|
@@ -240,7 +240,7 @@ including if the `Sizing:` line was written before the run and corrected after;
|
|
|
240
240
|
`sizing.verdict` and `sizing.signal` are that line's verdict and signal.
|
|
241
241
|
Nothing in the PR body separates a measured verdict from one typed in early;
|
|
242
242
|
that field is the only thing that does, and an unreported ordering costs the
|
|
243
|
-
covariate. A bail is `outcome` `bailed`, its cause in `bailCause`: the
|
|
243
|
+
covariate. A bail is `outcome` `bailed`, its cause in `bailCause`, with `pr` and `head` `null`: the
|
|
244
244
|
pre-code outcome, before you touch code. A block or ambiguity you find after
|
|
245
245
|
implementation began — the work cannot finish without a ruling or human hands
|
|
246
246
|
you do not have — is `outcome` `blocked` instead, with `pr`, `head` and `bailCause` `null` and
|
|
@@ -240,7 +240,7 @@ including if the `Sizing:` line was written before the run and corrected after;
|
|
|
240
240
|
`sizing.verdict` and `sizing.signal` are that line's verdict and signal.
|
|
241
241
|
Nothing in the PR body separates a measured verdict from one typed in early;
|
|
242
242
|
that field is the only thing that does, and an unreported ordering costs the
|
|
243
|
-
covariate. A bail is `outcome` `bailed`, its cause in `bailCause`: the
|
|
243
|
+
covariate. A bail is `outcome` `bailed`, its cause in `bailCause`, with `pr` and `head` `null`: the
|
|
244
244
|
pre-code outcome, before you touch code. A block or ambiguity you find after
|
|
245
245
|
implementation began — the work cannot finish without a ruling or human hands
|
|
246
246
|
you do not have — is `outcome` `blocked` instead, with `pr`, `head` and `bailCause` `null` and
|
|
@@ -240,7 +240,7 @@ including if the `Sizing:` line was written before the run and corrected after;
|
|
|
240
240
|
`sizing.verdict` and `sizing.signal` are that line's verdict and signal.
|
|
241
241
|
Nothing in the PR body separates a measured verdict from one typed in early;
|
|
242
242
|
that field is the only thing that does, and an unreported ordering costs the
|
|
243
|
-
covariate. A bail is `outcome` `bailed`, its cause in `bailCause`: the
|
|
243
|
+
covariate. A bail is `outcome` `bailed`, its cause in `bailCause`, with `pr` and `head` `null`: the
|
|
244
244
|
pre-code outcome, before you touch code. A block or ambiguity you find after
|
|
245
245
|
implementation began — the work cannot finish without a ruling or human hands
|
|
246
246
|
you do not have — is `outcome` `blocked` instead, with `pr`, `head` and `bailCause` `null` and
|
|
@@ -240,7 +240,7 @@ including if the `Sizing:` line was written before the run and corrected after;
|
|
|
240
240
|
`sizing.verdict` and `sizing.signal` are that line's verdict and signal.
|
|
241
241
|
Nothing in the PR body separates a measured verdict from one typed in early;
|
|
242
242
|
that field is the only thing that does, and an unreported ordering costs the
|
|
243
|
-
covariate. A bail is `outcome` `bailed`, its cause in `bailCause`: the
|
|
243
|
+
covariate. A bail is `outcome` `bailed`, its cause in `bailCause`, with `pr` and `head` `null`: the
|
|
244
244
|
pre-code outcome, before you touch code. A block or ambiguity you find after
|
|
245
245
|
implementation began — the work cannot finish without a ruling or human hands
|
|
246
246
|
you do not have — is `outcome` `blocked` instead, with `pr`, `head` and `bailCause` `null` and
|
|
@@ -240,7 +240,7 @@ including if the `Sizing:` line was written before the run and corrected after;
|
|
|
240
240
|
`sizing.verdict` and `sizing.signal` are that line's verdict and signal.
|
|
241
241
|
Nothing in the PR body separates a measured verdict from one typed in early;
|
|
242
242
|
that field is the only thing that does, and an unreported ordering costs the
|
|
243
|
-
covariate. A bail is `outcome` `bailed`, its cause in `bailCause`: the
|
|
243
|
+
covariate. A bail is `outcome` `bailed`, its cause in `bailCause`, with `pr` and `head` `null`: the
|
|
244
244
|
pre-code outcome, before you touch code. A block or ambiguity you find after
|
|
245
245
|
implementation began — the work cannot finish without a ruling or human hands
|
|
246
246
|
you do not have — is `outcome` `blocked` instead, with `pr`, `head` and `bailCause` `null` and
|
package/package.json
CHANGED
package/scripts/ledger.mjs
CHANGED
|
@@ -2507,7 +2507,9 @@ function recordFiled(id, subject) {
|
|
|
2507
2507
|
// reads OPEN and its closingIssuesReferences in its
|
|
2508
2508
|
// own repository name N;
|
|
2509
2509
|
// the Check-step record (below) holds for <head>
|
|
2510
|
-
// impl-N=bailed bailCause is not null; the receipt names it
|
|
2510
|
+
// impl-N=bailed bailCause is not null; the receipt names it.
|
|
2511
|
+
// report-schema.mjs already refuses a bail that
|
|
2512
|
+
// names a pr or a head
|
|
2511
2513
|
// impl-N=blocked nothing to check: report-schema.mjs already
|
|
2512
2514
|
// refuses a block that names a bailCause, a pr or
|
|
2513
2515
|
// a head, or gives no reason in bailDetail
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
// `$.bailCause: "<cause>" is not null, with outcome "blocked" — a block
|
|
26
26
|
// is no bail`, gives no reason in `bailDetail`, or names a `pr` or a
|
|
27
27
|
// `head`, as `$.pr: <pr> is not null, with outcome "blocked" — a block
|
|
28
|
-
// reports no PR`
|
|
28
|
+
// reports no PR`, or whose `bailed` outcome names a `pr` or a `head`, as
|
|
29
|
+
// `$.pr: <pr> is not null, with outcome "bailed" — a bail reports no PR`
|
|
29
30
|
// 2 usage: no or unknown subcommand, a wrong argument count, an unknown
|
|
30
31
|
// family, any flag; or <file> could not be read; or print could not
|
|
31
32
|
// write the schema to stdout. Refused on stderr, nothing on stdout
|
|
@@ -185,10 +186,11 @@ export function mergeBotVerdicts(report) {
|
|
|
185
186
|
// no schema keyword states. For an impl report: a `blocked` outcome names no
|
|
186
187
|
// `bailCause`, since a block is no bail, gives its reason in `bailDetail`,
|
|
187
188
|
// text that is not only whitespace, and names no `pr` or `head`, since a block
|
|
188
|
-
// reports no PR
|
|
189
|
-
//
|
|
190
|
-
//
|
|
191
|
-
// or
|
|
189
|
+
// reports no PR; a `bailed` outcome names no `pr` or `head` either, since a
|
|
190
|
+
// bail is the pre-code outcome — a PR the member opened is outcome `pr`, which
|
|
191
|
+
// settle checks. For a merge-bot report: each PR gets one verdict — merged,
|
|
192
|
+
// held, conflict-held or refused — the last it reached in the pass, so a PR
|
|
193
|
+
// named twice, in one list or in two, is a violation at its second entry.
|
|
192
194
|
export function reportViolation(family, value) {
|
|
193
195
|
const found = validate(SCHEMAS[family], value);
|
|
194
196
|
if (found !== null) return found;
|
|
@@ -199,6 +201,11 @@ export function reportViolation(family, value) {
|
|
|
199
201
|
if (value[field] !== null) return `$.${field}: ${show(value[field])} is not null, with outcome "blocked" — a block reports no PR`;
|
|
200
202
|
}
|
|
201
203
|
}
|
|
204
|
+
if (family === "impl" && value.outcome === "bailed") {
|
|
205
|
+
for (const field of ["pr", "head"]) {
|
|
206
|
+
if (value[field] !== null) return `$.${field}: ${show(value[field])} is not null, with outcome "bailed" — a bail reports no PR`;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
202
209
|
if (family !== "merge-bot") return null;
|
|
203
210
|
const first = new Map();
|
|
204
211
|
for (const { pr, path } of mergeBotVerdicts(value)) {
|