- workflow-generator, sense-generator, gitea-issue-solver all now have: planner → coder → reviewer → tester → committer → END - Reviewer uses createHermesRole with git diff/status for static analysis - Checks: garbage files, secrets, debug code, unrelated changes - Planner prompt now requires Role Behavior sections for every role - Coder prompt now emphasizes reading initial user prompt for specifics
22 lines
754 B
TypeScript
22 lines
754 B
TypeScript
import type { LlmProvider } from "@uncaged/nerve-workflow-utils";
|
|
import { createHermesRole } from "@uncaged/nerve-workflow-utils";
|
|
import { reviewerPrompt } from "./prompt.js";
|
|
import { z } from "zod";
|
|
|
|
export const reviewerMetaSchema = z.object({
|
|
approved: z.boolean().describe("true if the diff is clean and ready for tester validation"),
|
|
});
|
|
export type ReviewerMeta = z.infer<typeof reviewerMetaSchema>;
|
|
|
|
export type BuildReviewerDeps = {
|
|
provider: LlmProvider;
|
|
nerveRoot: string;
|
|
};
|
|
|
|
export function buildReviewerRole({ provider, nerveRoot }: BuildReviewerDeps) {
|
|
return createHermesRole<ReviewerMeta>({
|
|
prompt: async (threadId) => reviewerPrompt({ threadId, nerveRoot }),
|
|
extract: { provider, schema: reviewerMetaSchema },
|
|
});
|
|
}
|