mirror of
https://github.com/mvschwarz/openrig.git
synced 2026-11-08 17:31:56 -10:00
fix(workflow): allow RSI Discovery loopback to park no-follow-on
This commit is contained in:
1 parent
1aa8bcd0ad
commit
24db2b09e5
2 files changed
+28
-1
No files matched your search
@@ -106,7 +106,7 @@ workflow:
|
||||
Surface and classify a candidate from raw signal; route the shaped
|
||||
candidate forward to Product Lab, OR close as no-op with rationale
|
||||
recorded in the closure_evidence.
|
||||
allowed_exits: [handoff, waiting, failed]
|
||||
allowed_exits: [handoff, done, waiting, failed]
|
||||
next_hop:
|
||||
mode: prefer
|
||||
suggested_roles: [product-lab-planner]
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import { readFileSync } from "node:fs";
|
||||
import { join } from "node:path";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { parseWorkflowSpec } from "../src/domain/workflow-spec-cache.js";
|
||||
|
||||
const SPEC_PATH = join(
|
||||
process.cwd(),
|
||||
"src/builtins/workflow-specs/rsi-v2-hot-potato.yaml",
|
||||
);
|
||||
|
||||
describe("built-in rsi-v2-hot-potato workflow spec", () => {
|
||||
it("lets Discovery park no-follow-on loopback signal with done", () => {
|
||||
const spec = parseWorkflowSpec(readFileSync(SPEC_PATH, "utf8"), SPEC_PATH);
|
||||
const discovery = spec.steps.find((step) => step.id === "discovery");
|
||||
|
||||
expect(discovery?.objective).toContain("close as no-op");
|
||||
expect(discovery?.allowed_exits).toContain("done");
|
||||
});
|
||||
|
||||
it("declares QA handoff back to Discovery through next_hop", () => {
|
||||
const spec = parseWorkflowSpec(readFileSync(SPEC_PATH, "utf8"), SPEC_PATH);
|
||||
const qa = spec.steps.find((step) => step.id === "qa");
|
||||
|
||||
expect(qa?.allowed_exits).toContain("handoff");
|
||||
expect(qa?.next_hop?.suggested_roles).toContain("discovery-router");
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user