CouncilEx.Councils.PeerReview (CouncilEx v0.1.0)

Copy Markdown View Source

Topology #4 — drafter → critique (reviewers) → peer_review → chair.

One member drafts an initial response; reviewers critique it; then all members do a peer-review pass seeing each other's critiques; the chair synthesizes.

Usage

council =
  CouncilEx.Councils.PeerReview.new(
    as: MyApp.ReviewCouncil,
    drafter: {:author, MyApp.Members.Author, [provider: :openai, model: "gpt-4o-mini"]},
    reviewers: [
      {:rev1, MyApp.Members.Reviewer, [provider: :openai, model: "gpt-4o-mini"]},
      {:rev2, MyApp.Members.Reviewer, [provider: :openai, model: "gpt-4o-mini"]}
    ],
    chair: {MyApp.Members.Editor, [provider: :openai, model: "gpt-4o"]}
  )

Summary

Functions

new(opts)

@spec new(keyword()) :: module()