@renseiai/agentfactory 0.8.4 → 0.8.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"parse-work-result.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/parse-work-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA+FjD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,QAAQ,EAAE,aAAa,GACtB,eAAe,CAyCjB"}
1
+ {"version":3,"file":"parse-work-result.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/parse-work-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAqGjD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,QAAQ,EAAE,aAAa,GACtB,eAAe,CAyCjB"}
@@ -22,6 +22,12 @@ const QA_PASS_PATTERNS = [
22
22
  /Roll-?Up\s+Verdict:\s*PASS/i,
23
23
  // Bold standalone PASS (agents commonly output **PASS** or **PASS.**)
24
24
  /\*\*PASS\.?\*\*/,
25
+ // "Already done" patterns — agent recognized prior QA passed, treat as pass
26
+ /\b(?:QA\s+(?:coordination\s+)?)?(?:is\s+)?already\s+(?:done|complete|completed)\b/i,
27
+ // "APPROVED FOR MERGE" — explicit approval language
28
+ /\bAPPROVED\s+FOR\s+MERGE\b/i,
29
+ // "all checks passed" — agent confirmed all checks passed
30
+ /\ball\s+checks\s+passed\b/i,
25
31
  ];
26
32
  const QA_FAIL_PATTERNS = [
27
33
  // Heading patterns
@@ -105,6 +105,19 @@ describe('parseWorkResult', () => {
105
105
  it('does not false-positive on "tests pass" (no bold)', () => {
106
106
  expect(parseWorkResult('All tests pass and everything looks good.', 'qa')).toBe('unknown');
107
107
  });
108
+ // "Already done" patterns — agent recognized prior work was complete
109
+ it('detects "already done" as pass for qa', () => {
110
+ expect(parseWorkResult('QA coordination for SUP-1145 is already done — the report was posted.', 'qa')).toBe('passed');
111
+ });
112
+ it('detects "already complete" as pass for qa-coordination', () => {
113
+ expect(parseWorkResult('QA coordination is already complete. No further action needed.', 'qa-coordination')).toBe('passed');
114
+ });
115
+ it('detects "APPROVED FOR MERGE" as pass', () => {
116
+ expect(parseWorkResult('**Status: APPROVED FOR MERGE**\n\nAll checks passed.', 'qa-coordination')).toBe('passed');
117
+ });
118
+ it('detects "all checks passed" as pass', () => {
119
+ expect(parseWorkResult('The report was posted to Linear and all checks passed.', 'qa')).toBe('passed');
120
+ });
108
121
  });
109
122
  // Acceptance heuristic pattern tests
110
123
  describe('acceptance heuristic patterns', () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@renseiai/agentfactory",
3
- "version": "0.8.4",
3
+ "version": "0.8.5",
4
4
  "type": "module",
5
5
  "description": "Multi-agent fleet management for coding agents — orchestrator, providers, crash recovery",
6
6
  "author": "Rensei AI (https://rensei.ai)",
@@ -50,13 +50,13 @@
50
50
  "handlebars": "^4.7.8",
51
51
  "yaml": "^2.8.2",
52
52
  "zod": "^4.3.6",
53
- "@renseiai/agentfactory-linear": "0.8.4"
53
+ "@renseiai/agentfactory-linear": "0.8.5"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/node": "^22.5.4",
57
57
  "typescript": "^5.7.3",
58
58
  "vitest": "^3.2.3",
59
- "@renseiai/create-agentfactory-app": "0.8.4"
59
+ "@renseiai/create-agentfactory-app": "0.8.5"
60
60
  },
61
61
  "scripts": {
62
62
  "build": "tsc",