@feigi/fleet-ctl 3.21.9 → 3.21.10

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": "@feigi/fleet-ctl",
3
- "version": "3.21.9",
3
+ "version": "3.21.10",
4
4
  "description": "Agent fleet: run-team controller, merge bot, PR reviewer, and the ticket pipeline they share",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -468,8 +468,10 @@ export function foldOmpTranscript(jsonlText, filePath) {
468
468
  // `review-pr-<n>` and `merge-bot-<n>` ARE the dispatch name — exactly why
469
469
  // `parseMemberName` runs against this same stem below. Those members are
470
470
  // dispatched under the generic default `task` definition (`folded.agent` is
471
- // `undefined`), so the definition-based fix above cannot reach them, and
472
- // they fall through to prose classification of `folded.task` alone.
471
+ // the literal string `task`, or `null` where no `session_init` line records
472
+ // one), and classifyRole's definition branches match neither, so the
473
+ // definition-based fix above cannot reach them; without `memberName` they
474
+ // fall through to prose classification of `folded.task` alone.
473
475
  // Measured against docs/metrics/member-outcomes.tsv: 478 omp rows
474
476
  // carry such an AgentId, 52 of them booked `other` for want of this signal —
475
477
  // 31 `fix-pr-*`, 9 `impl-*` and 12 `merge-bot-*` members whose dispatch
@@ -309,16 +309,17 @@ test("readOmpMember: role is `-`, never a guess off the bare AgentId, when neith
309
309
 
310
310
  test("readOmpMember: a canonically-named AgentId is itself a role signal under the default `task` definition (#1506)", () => {
311
311
  // `fix-pr-1380`, `merge-bot-5`, `impl-1049` and friends are dispatched
312
- // under run-team's default `task` definition — `session_init.agent` is
313
- // absent. That is a different gap from #1502's: #1502 fixed a forwarding
312
+ // under run-team's default `task` definition — `session_init.agent` is the
313
+ // literal string `task`, which no definition branch of classifyRole
314
+ // matches. That is a different gap from #1502's: #1502 fixed a forwarding
314
315
  // bug where an EXISTING `folded.agent` value wasn't reaching classifyRole;
315
- // here `session_init.agent` was never recorded at all. But the AgentId
316
+ // here the recorded definition names no role at all. But the AgentId
316
317
  // itself IS the dispatch name (run-team's own naming convention), so it
317
318
  // must reach classifyRole as `memberName` and win a real classification
318
319
  // even when the dispatch prompt's own prose says nothing role-shaped.
319
320
  const noKeywords = [
320
321
  sessionEvt("/Users/chris/dev/fleet-plugin"), thinkingEvt("high"),
321
- sessionInitEvt("Apply the requested patch set and open a PR.", "anthropic/claude-sonnet-5"),
322
+ sessionInitEvt("Apply the requested patch set and open a PR.", "anthropic/claude-sonnet-5", "task"),
322
323
  assistantEvt("claude-sonnet-5", { input: 1, output: 1, cacheRead: 0, cacheWrite: 10, totalTokens: 12 }),
323
324
  ].join("\n");
324
325
  assert.equal(readOmpMember(noKeywords, "/fake/path.jsonl", "fix-pr-1380", 0).role, "reviewer");